GMod sunucu barındırma başarısı üç kritik performans sütununa dayanır: tickrate optimizasyonu, addon yönetimi ve etkili harita rotasyonu. Bu kapsamlı rehber, gecikmeyi ortadan kaldırmak, sunucu FPS’ini artırmak ve oyuncuları tekrar tekrar geri getiren akıcı oyun deneyimleri oluşturmak için profesyonel teknikleri ortaya koyuyor.
Boyutlandırma Özeti: Hızlı Performans Kazanımları
- Tickrate: Çoğu oyun modunda 16-32 oyuncu için 33, 32-48 için 22, 48+ için 11 kullanın
- Addons: Sadece gerekli eklentileri kullanın, performans sızıntıları için düzenli denetim yapın, optimizasyon paketleri kullanın
- Haritalar: Akıllı rotasyon ve ön yükleme uygulayın, aşırı büyük haritalardan kaçının, atölyeyi verimli kullanın
- Konfigürasyon:
sv_minrate 20000,fps_max 550ayarlayın, gereksiz istatistik toplamayı devre dışı bırakın
Tickrate Optimizasyon Matrisi
| CPU usage | Notes | Player count | Tickrate |
|---|---|---|---|
| Orta | Çoğu oyun modu için iyi denge | 16-32 oyuncu | 33 |
| Yüksek | DarkRP/Rol yapma sunucularının en uygun noktası | 32-48 oyuncu | 22 |
| Çok Yüksek | Sunucu aşırı yüklenmesini önler | 48+ oyuncu | 11 |
| Düşük-Orta | Hafif oyun modları için maksimum | TTT/Murder/Sandbox | 66 |
GMod Sunucu Performansını Anlamak
Garry’s Mod sunucuları, oyunun tek iş parçacıklı mimarisi nedeniyle benzersiz zorluklarla karşılaşır—sunucu yalnızca bir CPU çekirdeği kullanır, bu da optimizasyonu çok önemli kılar.[65] Diğer Source oyunlarından farklı olarak, GMod’nin sandbox yapısı, her sunucunun eklentilere, haritalara ve oyuncu davranışlarına göre farklı çalıştığı anlamına gelir.
Tickrate Temeli
Tickrate, sunucunuzun saniyede kaç kez güncellendiğini belirler—temelde sunucunuzun “FPS"idir. Yüksek tickrate daha akıcı bir oyun sunar ancak CPU kaynaklarını katlanarak daha fazla tüketir.[56] Anahtar, performans ile oyuncu sayısı taleplerinin buluştuğu noktayı bulmaktır.
Tickrate Ayarlama:
- Başlatma Parametreleriyle: Sunucu başlatma komutunuza
-tickrate 33ekleyin - Konfigürasyon Dosyasıyla:
garrysmod/dizininde istediğiniz değeri içerentickrate.txtoluşturun - Dinamik Yönetim: Gerçek zamanlı ayarlamalar için barındırma paneli araçlarını kullanın
Tickrate Sağlığını İzleme:
Sunucu performansını izlemek için oyunda net_graph 4 kullanın. sv değeri kırmızı yanıp sönüyorsa, sunucunuz aşırı yüklenmiş demektir ve tickrate düşürülmelidir.[56]
Akıllı Addon Yönetimi
80/20 Kuralı: Sunucu gecikmesinin %80’i genellikle eklentilerinizin %20’sinden kaynaklanır. Düzenli denetim performans düşüşünü önler.[82]
| Addon | Type |
|---|---|
| GOPT - Optimizasyon Eklentisi | Performans Artışı |
| Hook Library Optimizasyonu | Hook Library |
| Prop Limiti ve Fizik Optimize Edici | Fizik Sınırı |
| Network Optimizasyon Paketi | Ağ |
| Çöp Toplama İyileştirici | Hafıza |
| İstemci FPS Artırıcı | Renderlama |
Addon Optimizasyon Kontrol Listesi:
- Toplam Sayıyı Sınırla: En iyi performans için 50 eklentinin altında tutun
- Düzenli Güncellemeler: Eski eklentiler bellek sızıntılarına ve çöküşlere neden olur
- Workshop vs Manuel: Workshop eklentileri otomatik güncellenir ama senkronizasyon sorunları yaratabilir
- Kod Kalitesi: Konsol hatası spamlayan kötü kodlanmış eklentilerden kaçının
- Kaynak İzleme: Net mesaj istatistikleri için Physgun Utils veya benzeri araçlar kullanın[85]
Gelişmiş Sunucu Konfigürasyonu
Doğru server.cfg optimizasyonu performansı büyük ölçüde artırabilir:
| Description | Parameter | Value |
|---|---|---|
| Daha akıcı oyun için minimum bant genişliği oranı | sv_minrate | 20000 |
| Maksimum bant genişliği (sınırsız için 0) | sv_maxrate | 100000 |
| Sunucu FPS sınırı (yaklaşık 500 FPS üretir) | fps_max | 550 |
| CPU istatistikleri toplamayı devre dışı bırak | sv_stats | 0 |
| Maksimum dosya indirme boyutu | net_maxfilesize | 64 |
| Çıkartma ortaya çıkma sıklığı sınırı | decalfrequency | 10 |
Temel Başlatma Parametreleri: bash
Yüksek Performanslı Başlatma Komutu
./srcds_run -game garrysmod -console -tickrate 33
+map gm_construct +maxplayers 32
-authkey YOURAUTHKEY -disableluarefresh
-softrestart -high -malloc=system
Temel Parametre Açıklamaları:
-disableluarefresh: Sürekli Lua derlemesini engeller, CPU yükünü azaltır-softrestart: Tam işlem sonlandırması olmadan daha temiz sunucu yeniden başlatmaları sağlar-high: Daha iyi kaynak tahsisi için yüksek işlem önceliği atar-malloc=system: Daha iyi RAM kullanımı için bellek tahsisini optimize eder
Harita Rotasyon Stratejileri
Etkili harita rotasyonu, oyuncu sıkılmasını önlerken sunucu kararlılığını korur. Kötü rotasyon, popüler olmayan haritalarda sunucunun boşalmasına ve aşırı büyük haritalarda performans sorunlarına yol açar.
| Example | Gamemode | Method | Timer |
|---|---|---|---|
| ttt_minecraft_b5 | TTT | mapcycle.txt | 4 tur |
| rp_downtown_v4c_v2 | DarkRP | ULX Harita Oylaması | 60 dakika |
| gm_construct | Sandbox | Otomatik Döndürme | 90 dakika |
| gm_atomic | Cinayet | Tur bazlı | 3 tur |
Akıllı Harita Rotasyonu Uygulama
Yöntem 1: Temel Mapcycle (TTT/Murder)
garrysmod/cfg/ dizininde mapcycle.txt oluşturun:
txt
ttt_minecraft_b5
ttt_67thway_v14
ttt_dolls_v2
ttt_rooftops_a2_f1
Yöntem 2: Zamanlı Rotasyon (DarkRP/Sandbox) lua – Otomatik harita rotasyon scripti local maptime = 3600 – 60 dakika local warning = 3540 – 59 dakika local maps = { “rp_downtown_v4c_v2”, “rp_rockford_v2b”, “rp_southside”, “rp_evocity_v4b1” }
local function checkTime() if CurTime() > warning and not warned then for _, ply in ipairs(player.GetAll()) do ply:PrintMessage(HUD_PRINTTALK, “Harita 1 dakika içinde değişecek!”) end warned = true end
if CurTime() > maptime then
local nextmap = maps[math.random(#maps)]
game.ConsoleCommand("changelevel " .. nextmap .. "\n")
end
end
timer.Create(“MapRotation”, 60, 0, checkTime)
Yöntem 3: Workshop Entegrasyonu Workshop haritaları için başlatma parametrelerinde koleksiyon ID’leri kullanın: bash +host_workshop_collection 123456789
Gelişmiş Performans Optimizasyonu
CPU ve Bellek Optimizasyonu
Çoklu Çekirdek Kullanım Teknikleri: bash
server.cfg optimizasyonları
threadpool_affinity “4” // Çekirdekler: 8=okta, 6=hexa, 4=quad, 2=dual mem_max_heapsize “2048” // RAM tahsisi MB cinsinden
Çöp Toplama Ayarı: lua – Basit GC optimizasyonu hook.Add(“Think”, “OptimizeGC”, function() if math.random(1, 1000) == 1 then collectgarbage(“step”, 100) end end)
Ağ Optimizasyonu
Farklı Bağlantı Türleri için Rate Komutları:
- Yüksek Hızlı Bağlantılar:
sv_minrate 20000,sv_maxrate 100000 - Karışık Bağlantılar:
sv_minrate 10000,sv_maxrate 60000 - Düşük Bant Genişliği:
sv_minrate 5000,sv_maxrate 30000
Güncelleme Hızı Optimizasyonu: cfg sv_maxupdaterate 66 // İstemcilere saniyede maksimum güncelleme sv_minupdaterate 33 // Saniyede minimum güncelleme sv_maxcmdrate 66 // İstemcilerden maksimum komut sv_mincmdrate 33 // Minimum komut
Oyun Moduna Özel Optimizasyonlar
DarkRP/Rol Yapma Sunucuları
- Tickrate: 20-40 oyuncu için 22-33
- Props: Oyuncu başına sıkı prop limiti uygulayın (200-300)
- Meslekler: Eşzamanlı meslekleri sınırlayın, entity spamını önleyin
- NPC’ler: NPC sayısını minimumda tutun, mümkünse statik satıcılar kullanın
TTT/Murder Sunucuları
- Tickrate: En iyi vuruş kaydı için 66
- Haritalar: İlginin devamı için her 3-4 turda bir döndürün
- Addons: Oynanışı geliştirmeye odaklanın, görsel kalabalıktan kaçının
- Oyuncular: En iyi denge için 32 ile sınırlandırın
Sandbox Sunucuları
- Tickrate: Yapı karmaşıklığına göre 33-66
- Temizlik: Saldırgan prop temizliği (15-30 dakika)
- Fizik: Sunucu çökmesini önlemek için fizik prop sınırı koyun
- Araçlar: Yeni oyuncular için bazı araçları kısıtlayın
Yaygın Sorunların Giderilmesi
Yüksek CPU Kullanımı
- Tickrate’i kontrol edin: Sürekli %80’in üzerindeyse düşürün
- Eklentileri denetleyin: Sorunlu eklentileri kaldırın veya güncelleyin
- Varlıkları izleyin:
statuskomutuyla entity sayılarını kontrol edin - Haritaları gözden geçirin: Aşırı entity içeren optimize edilmemiş haritalardan kaçının
Ağ Gecikmesi
- Rate ayarlarını düzenleyin: Bant genişliğinize göre
sv_minrate/sv_maxratedengesini kurun - Yönlendirmeyi kontrol edin: Yönlendirme optimizasyonu için VPN çözümleri kullanın[79]
- FastDL optimizasyonu: İndirme içeriğini sıkıştırın ve optimize edin
- Bölgesel barındırma: Ana oyuncu kitlenize yakın sunucular seçin
Bellek Sızıntıları
- Düzenli yeniden başlatmalar: Her 12-24 saatte bir otomatik yeniden başlatma planlayın
- Eklenti denetimi: Sürekli bellek kullanan eklentileri kaldırın
- Harita temizliği: Otomatik prop/ragdoll temizleme sistemleri uygulayın
- Kayıtları izleyin: Bellek sorunlarını gösteren Lua hatalarını takip edin
Profesyonel GMod Sunucu Barındırma İpuçları
Donanım Önerileri
- CPU: Yüksek tek çekirdek performansı (Intel i7/i9 veya AMD Ryzen 7/9)
- RAM: Minimum 8GB, büyük sunucular için 16GB+
- Depolama: Hızlı harita yükleme ve atölye içeriği için NVMe SSD
- Ağ: Yeterli bant genişliğiyle düşük gecikmeli bağlantı (8-10 oyuncu başına 1Mbps)
Barındırma Sağlayıcı Seçimi
GMod sunucu barındırma seçerken öncelik verin:
- Çekirdek başına performans çoklu çekirdek sayısından daha önemli
- SSD depolama daha hızlı harita değişimi ve içerik sunumu için
- DDoS koruması sunucu kararlılığı için
- Kontrol paneli özellikleri kolay tickrate ve eklenti yönetimi için
- 7/24 destek GMod’ye özel sorunlara aşina
İzleme ve Bakım
Temel İzleme Araçları:
- Sunucu performans grafikleri (CPU, RAM, ağ)
- Oyuncu sayısı analitiği
- Eklenti performans metrikleri
- Konsol hata kaydı
Bakım Takvimi:
- Günlük: Konsolu hata için kontrol edin, oyuncu geri bildirimlerini izleyin
- Haftalık: Eklenti performansını gözden geçirin, sorunlu eklentileri güncelleyin
- Aylık: Tam sunucu optimizasyonu incelemesi, gerekirse tickrate ayarı
- Üç Aylık: Donanım performans değerlendirmesi, barındırma planı gözden geçirme
Sonuç
GMod sunucularını optimize etmek, tickrate, eklenti verimliliği ve akıllı harita rotasyonu arasında denge kurmayı ve oyunun tek iş parçacıklı sınırlamalarını anlamayı gerektirir. Başarı, sürekli izleme, düzenli bakım ve yapılandırmaları oyuncu kitlenize ve oyun moduna göre uyarlamaktan geçer.
Profesyonel GMod sunucu barındırmanın anahtarı, sağlam temellerle başlamak—oyuncu sayınıza uygun tickrate, seçilmiş eklenti listesi ve verimli harita rotasyonu—sonrasında gerçek performans verileri ve oyuncu geri bildirimiyle ince ayar yapmaktır.
Unutmayın: optimizasyon sürekli bir süreçtir, tek seferlik bir kurulum değildir. Düzenli denetim ve ayarlama, topluluğunuz büyüdükçe ve geliştikçe sunucunuzun en yüksek performansta kalmasını sağlar.

yazar 



