- İstikrarlı, güvenli ve düşük gecikmeli bir Garry's Mod sunucusu kurmaya hazır mısınız?
- Doğru yeri ve planı seçmek
- Önkoşullar ve Sistem Hazırlığı
- SteamCMD kullanarak SRCDS'yi indirin ve kurun.
- Sunucu yapılandırması — server.cfg ve yürütme parametreleri
- Sunucuyu systemd servisi olarak çalıştırmak
- Güvenlik duvarı, portlar ve ağ güvenliği
- Performansı optimize edin ve ping süresini azaltın.
- Mod yönetimi, Atölye ve indirme otomasyonu
- Otomatik güncellemeler ve yedeklemeler
- İzleme, kayıtlar ve bakım
- Yöneticiler ve DevOps uzmanları için pratik ipuçları
- Özet ve genel öneriler
İstikrarlı, güvenli ve düşük gecikmeli bir Garry's Mod sunucusu kurmaya hazır mısınız?
Sunucu yöneticileri, oyuncular ve DevOps ekipleri için hazırlanan bu adım adım kılavuz, SteamCMD kullanarak bir Garry's Mod sunucusu (SRCDS) kurma sürecinin tamamını açıklamaktadır. Bu makale, doğru konumun seçilmesi, SRCDS'nin kurulumu ve yapılandırılması, RCON ve güvenlik duvarı gibi güvenlik ayarları, ping ve donanım optimizasyonu, Workshop yönetimi, güncelleme ve yedekleme otomasyonu ve bakım ve izleme için pratik ipuçlarını kapsamaktadır.
Doğru yeri ve planı seçmek
Garry's Mod için konum seçimi çok önemlidir çünkü oyuncu deneyimi ping'e bağlıdır. Belirli bir ülkedeki oyuncular için en yakın veri merkezini seçin: Avrupa (Frankfurt/Londra), Kuzey Amerika (New York/Chicago), Batı Amerika (Los Angeles), Asya (Singapur/Tokyo), Avustralya (Sydney), Brezilya (São Paulo).
Aşağıdaki pingin amacı 80 ms Kabul edilebilir bir deneyim ve altı için 60 ms Rekabetçi deneyim için tavsiye edilir.
Oyuncu sayısına göre donanım önerisi
- Küçük (en fazla 12 oyuncu): 2 sanal işlemci, 4 GB RAM, SSD, 100 Mbps bant genişliği.
- Orta seviye (12-32 oyuncu): 4 sanal işlemci, 8-16 GB RAM, NVMe SSD, 1 Gbps.
- Büyük (32'den fazla oyuncu veya ağır eklentiler): 6+ sanal işlemci, 32 GB+ RAM, NVMe, 1–10 Gbps ve yüksek G/Ç performansına sahip sunucu.
Minimum gecikme ve saldırılara karşı koruma için özel oyun sunucuları veya DDoS saldırılarına karşı koruma sağlayan sunucular kullanın. Bant genişliğini azaltmak ve indirmeleri hızlandırmak için indirme dosyalarını (haritalar, eklentiler) dağıtmak üzere bir CDN kullanın.
Önkoşullar ve Sistem Hazırlığı
Önerilen işletim sistemi: Ubuntu 20.04/22.04 Veya Debian 11/12. Sistem güncellemesi yapmak ve ön koşulları yüklemek için sudo yetkisine sahip bir kullanıcı olarak aşağıdaki komutları çalıştırın.
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget lib32gcc-s1 lib32stdc++6 ca-certificates screen tmux unzipEğer paket steamcmd Tanklarda mevcuttur:
sudo apt install -y steamcmdAksi takdirde, SteamCMD'yi manuel olarak yükleyin:
sudo mkdir -p /opt/steamcmd
sudo chown $USER:$USER /opt/steamcmd
cd /opt/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gzSunucuyu çalıştırmak için root yetkisi olmayan bir kullanıcı oluşturun:
sudo useradd -m -s /bin/bash gmod
sudo passwd gmod
sudo mkdir -p /home/gmod/server
sudo chown -R gmod:gmod /home/gmodSteamCMD kullanarak SRCDS'yi indirin ve kurun.
Gmod kullanıcısına giriş yapın ve Garry's Mod sunucusunu kurmak için SteamCMD'yi çalıştırın:
sudo su - gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quitÇalıştay öğelerini (örneğin koleksiyon veya harita) indirmek için:
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +workshop_download_item 4020 <WORKSHOP_ID> +quitSRCDS başlatılırken bir koleksiyonu otomatik olarak yüklemek için aşağıdaki parametreleri kullanın:
+host_workshop_collection <COLLECTION_ID> +host_workshop_authkey <STEAM_WEB_API_KEY>Sunucu yapılandırması — server.cfg ve yürütme parametreleri
Temel yapılandırma dosyasını belirtilen yola yerleştirin. /home/gmod/server/garrysmod/cfg/server.cfg Oluşturun veya düzenleyin. Temel ayarların örneği:
hostname "My GMod Server"
rcon_password "PUT_A_STRONG_PASSWORD_HERE"
sv_password ""
sv_cheats 0
sv_lan 0
sv_allowdownload 1
sv_allowupload 1
sv_maxrate 30000
sv_minrate 5000
sv_timeout 120
sv_voiceenable 1
sv_pure 0
sv_region 3Yapılandırma ipuçları:
- sv_maks oranı Ve sv_minrate Bant genişliğine ve oyuncu sayısına göre ayarlama yapın.
- Modları yönetmek ve dosyalara erişmek için atölye koleksiyonu Oyuncuların dosyaları otomatik olarak indirmesini sağlamak için kullanılır.
Örnek SRCDS yürütme parametresi:
cd /home/gmod/server
./srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015 +host_workshop_collection <COLLECTION_ID> -autoupdateSunucuyu systemd servisi olarak çalıştırmak
Kolay yönetim ve önyüklemede otomatik başlatma için bir systemd servisi oluşturun. Servis dosyası oluşturma örneği:
sudo tee /etc/systemd/system/gmod.service <<'EOF'
[Unit]
Description=Garry's Mod Server
After=network.target
[Service]
Type=simple
User=gmod
WorkingDirectory=/home/gmod/server
ExecStart=/home/gmod/server/srcds_run -game garrysmod +maxplayers 32 +map gm_flatgrass -tickrate 66 -port 27015
Restart=on-failure
RestartSec=10
LimitNOFILE=100000
[Install]
WantedBy=multi-user.target
EOFsudo systemctl daemon-reload
sudo systemctl enable gmod.service
sudo systemctl start gmod.service
sudo journalctl -u gmod.service -fGüvenlik duvarı, portlar ve ağ güvenliği
Yaygın Garry's Mod / SRCDS portları:
- UDP 27015 (oyun ve sorgu)
- TCP/UDP 27015 (RCON TCP kullanabilir)
- UDP 27005 (Steam istemcisi)
UFW ile örnek yapılandırma:
sudo ufw allow 27015/tcp
sudo ufw allow 27015/udp
sudo ufw allow 27005/udp
sudo ufw enableDDoS saldırılarına karşı korunmak için, ağ saldırıları sunucuya ulaşmadan önce filtrelemek üzere DDoS karşıtı sunucu planları kullanın.
Performansı optimize edin ve ping süresini azaltın.
Sunucu performansını iyileştirmeye yönelik önemli ipuçları:
- RTT'yi düşürmek için oyunculara yakın bir konum seçin.
- Harita yükleme sürelerini azaltmak ve G/Ç performansını artırmak için SSD/NVMe kullanın.
- Fizik hesaplamaları için yüksek frekanslı bir işlemci kullanın; GMod birçok durumda tek çekirdek frekansına dayanır.
Ağ çekirdeği ayarları (örnek):
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400Ayrıca, kaynaklara ve oyuncu sayısına bağlı olarak sv_maxrate, tickrate ve maxplayers değerlerini dengeleyin ve sunucuya yayınlamadan önce ağır modları test edin.
Mod yönetimi, Atölye ve indirme otomasyonu
SteamCMD'yi kullanarak Workshop'tan modlar ekleyebilirsiniz:
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +workshop_download_item 4020 <WORKSHOP_ID> +quitÖneri: Koleksiyon kullanın ve kimlik numarasını parametre olarak iletin. +ev_atölyesi_koleksiyonu Steam'i, sunucu çalışırken öğeleri indirecek şekilde ayarlayın.
Eklentileri manuel olarak yüklemek için dosyaları kopyalamanız yeterlidir. garrysmod/eklentiler Dosyayı yerleştirin ve sunucuyu yeniden başlatın.
Otomatik güncellemeler ve yedeklemeler
SRCDS'yi güncellemek için basit bir komut dosyası:
#!/bin/bash
systemctl stop gmod
/opt/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/gmod/server +app_update 4020 validate +quit
systemctl start gmodCron'a ekleyin (örneğin her gün sabah 4'te):
sudo crontab -e
0 4 * * * /home/gmod/update_gmod.sh >> /var/log/gmod_update.log 2>&1Yedekleme: klasörlerden garrysmod/haritalar, garrysmod/eklentiler ve yapılandırma dosyalarının yedeklerini düzenli olarak alın. Hızlı kurtarma için rsync veya bulut altyapısı anlık görüntülerini ve nesne depolamasını (S3 uyumlu) kullanın.
İzleme, kayıtlar ve bakım
Girişler garrysmod/günlükler ve systemd görünür durumdadır. Günlükleri döndürmek için logrotate kullanın.
Sunucunun durumunu izlemek için aşağıdaki gibi araçlar kullanılabilir: Prometheus + Grafana Veya Zabbix CPU, RAM, ağ ve paket kaybının izlenmesi önerilir.
Planlı yeniden başlatmalar (örneğin her 6-12 saatte bir), bellek sızıntılarını ve eklentilerin neden olduğu sorunları azaltabilir.
Yöneticiler ve DevOps uzmanları için pratik ipuçları
- Modlarla ilgili sorunları tespit etmek için güncellemeleri öncelikle bir test sunucusunda deneyin.
- IP adreslerini değiştirmeyi kolaylaştırmak için sunucu için bir alan adı veya DNS kullanın; server.example.com için bir A kaydı oluşturun.
- Dosya indirme işlemleri için CDN, yüksek kullanılabilirlik için ise Yük Dengeleyici ve BGP/Anycast kullanın.
En İyi Uygulama: Kapasiteyi artırırken veya kamuya açık bir hizmet sunarken, sunucu yükünü azaltmak ve kullanılabilirliği artırmak için dosya trafiğini CDN'lere bölmeyi ve dağıtılmış tasarımı kullanın.
Özet ve genel öneriler
Bu kılavuzu takip ederek, SteamCMD ile SRCDS kurulumundan server.cfg yapılandırmasına, systemd servisine, güvenlik duvarına ve DDoS saldırılarına karşı korumaya kadar istikrarlı, güvenli ve optimize edilmiş bir Garry's Mod sunucusu kurabilirsiniz. En iyi performans için konum, uygun donanım ve CDN kullanımına dikkat edin.









