- Önkoşullar ve sunucu seçimi
- Özel bir kullanıcı ve dizin yapısı oluşturun.
- SteamCMD kullanarak özel sunucuyu indirin ve kurun.
- Sunucu yapılandırma dosyasını oluşturma ve düzenleme
- Portların açılması ve güvenlik duvarının yapılandırılması (UFW ve iptables)
- Mod yükleme (Steam Workshop)
- Sunucuyu çalıştırma (screen/systemd)
- Java Optimizasyonu ve Bellek Tahsisi
- Yedeklemeler
- Güvenlik ve DDoS koruması
- İzleme ve kayıt tutma
- Bağlantı testi ve sık karşılaşılan sorunların giderilmesi
- Konum seçimi ve pratik öneriler
- Ek ipuçları ve en iyi yapılandırmalar
- Sıkça Sorulan Sorular
Önkoşullar ve sunucu seçimi
Bu bölümde, bir sunucu kurmak için temel gereksinimler ve donanım önerileri sunulmaktadır. Proje Zombi Önerilen dağılımları inceliyoruz. Ubuntu 20.04/22.04 Veya Debian 11/12 Bunlar, test edilmiş ve istikrarlı oyun sunucularıyla bilinirler.
Önerilen donanım kaynakları:
- En fazla 10 oyuncu: 2-4 sanal işlemci, 4-8 GB RAMSSD disk
- 10-50 oyuncu veya birden fazla mod: 4+ vCPU, 8 GB ve üzeri RAM
- Not: Modlar ve sunucu tabanlı render işlemleri daha fazla bellek ve işlemci gücü gerektirir; ağır iş yükü gerektiren uygulamalar için hesaplama sunucuları veya grafik sunucuları kullanın.
Oynatıcıya erişim için güncel bir işletim sistemi, root veya sudo erişimi ve açık portlar gereklidir.
Temel paketlerin kurulumuna örnek (Ubuntu/Debian)
sudo apt update && sudo apt install -y openjdk-11-jre-headless steamcmd screen unzip htop fail2ban rsyncAçıklama: Oyun sürümüne göre Java sürümünü seçin (OpenJDK 11 genellikle uyumludur). Gerekirse OpenJDK 17 kullanın.
Özel bir kullanıcı ve dizin yapısı oluşturun.
Oyun sunucusunu root olmayan bir kullanıcı altında çalıştırmanız önerilir. Güvenlik izolasyonu Ve izin yönetimini kolaylaştırın.
sudo useradd -m -s /bin/bash pzserver
sudo passwd pzserver
sudo mkdir -p /home/pzserver
sudo chown -R pzserver:pzserver /home/pzserverSteamCMD kullanarak özel sunucuyu indirin ve kurun.
Sunucu dosyalarını indirmek için SteamCMD Project Zomboid, modlar için Steam Workshop'u desteklemektedir.
sudo -u pzserver steamcmd +login anonymous +force_install_dir /home/pzserver +app_update 380870 validate +quitAçıklama: Farklı bir uygulama kimliğiyle karşılaşırsanız, SteamCMD günlüğünü veya oyunun resmi belgelerini kontrol edin.
Sunucu yapılandırma dosyasını oluşturma ve düzenleme
Ana yapılandırma dosyaları genellikle kurulum klasöründe bulunur. Dosya adları servertest.ini, server.ini veya serverconfig.lua olabilir.
servertest.ini dosyasındaki temel ayarların örneği
# servertest.ini (sample)
Public=true
ServerName=MyPZServer
ServerPort=16261
MaxPlayers=32
Password=MySecretPass
RCONPort=16262İhtiyaçlarınıza göre portları seçin ve güvenlik duvarında açın. Değişiklikleri test edin ve hizmeti yeniden başlatın.
Portların açılması ve güvenlik duvarının yapılandırılması (UFW ve iptables)
Başlamadan önce, güvenlik duvarındaki yapılandırma dosyasında belirtilen portları açın. UFW örneği:
sudo ufw allow OpenSSH
sudo ufw allow 16261/udp
sudo ufw allow 16262/udp
sudo ufw enable
sudo ufw statusBazı kurulumlar TCP portları gerektirebilir; sunucu günlüklerini kontrol edin. Sunucu NAT arkasındaysa, yönlendiricide port yönlendirmeyi ayarlayın.
Mod yükleme (Steam Workshop)
Modları yüklemenin iki yaygın yolu vardır: SteamCMD ile doğrudan indirmek veya istemci üzerinden Workshop'a abone olup mod klasörünü sunucuya kopyalamak.
Yöntem 1: SteamCMD ile modları indirin
sudo -u pzserver steamcmd +login anonymous +workshop_download_item 108600 <ITEMID> +quitModları yükledikten sonra, server/mods veya server/WorkshopItems.txt dosyalarını modların belgelerine göre doldurun ve sunucuyu yeniden başlatın.
Sunucuyu çalıştırma (screen/systemd)
Hızlı uygulama için şunları kullanabilirsiniz: ekran Sunucuyu otomatik olarak çalıştırmak için bir systemd servisi kullanın veya oluşturun.
Ekranlı örnek
sudo -u pzserver screen -S pzserver
cd /home/pzserver
./start-server.shEkrandan çıkmak için: Ctrl+A ardından D. Geri dönmek için: sudo -u pzserver screen -r pzserver.
Örnek systemd servisi
sudo tee /etc/systemd/system/pzserver.service > /dev/null <<'EOF'
[Unit]
Description=Project Zomboid Server
After=network.target
[Service]
Type=simple
User=pzserver
WorkingDirectory=/home/pzserver
ExecStart=/bin/bash -lc './start-server.sh'
Restart=on-failure
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now pzserver.service
sudo systemctl status pzserver.serviceJava Optimizasyonu ve Bellek Tahsisi
Daha iyi performans için JVM'yi uygun parametrelerle çalıştırın. RAM ve performans testlerine göre ayarlanması gereken genel bir örnek:
java -Xms4G -Xmx6G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+UseStringDeduplication -jar ProjectZomboidServer.jarNot: Xmx değerini sunucu RAM'ine ve oyuncu sayısına göre ayarlayın. Genellikle her oyuncu için ayrı ayrı belirlenir. 150-400 MB Şunu göz önünde bulundurun; modifikasyonlar tüketimi artırır.
Yedeklemeler
Oyuncu ve dünya kayıtlarınızı düzenli olarak yedekleyin ve yedekleri uzak bir konuma (veya bulut depolama alanına) gönderin.
Günlük yedekleme için örnek cron görevi
sudo crontab -u pzserver -e
# Example using rsync
0 3 * * * /usr/bin/rsync -a --delete /home/pzserver/Saves /backups/pzserver/$(date +\%F)/
# Or using tar
0 2 * * * /bin/tar -czf /backups/pzserver/saves_$(date +\%F).tar.gz -C /home/pzserver SavesGüvenlik ve DDoS koruması
Güvenlik önerileri arasında sunucu parolası belirlemek ve kullanmak yer almaktadır. başarısız2ban Bu, SSH koruması ve düzenli sistem güncellemeleri içindir.
- Saldırılara karşı korunmak için DDoS önleme hizmetleri veya katmanlı güvenlik duvarları kullanın.
- RCON veya yönetim araçlarına erişimi belirli IP adresleriyle sınırlandırın.
Şirketler ki 85'ten fazla lokasyon ve sağladıkları BGP/Anti-DDoS altyapısı önemli bir koruma sağlayabilir.
İzleme ve kayıt tutma
Günlük dosyaları genellikle /home/pzserver/logs veya benzer bir klasörde bulunur; bunları canlı olarak görüntülemek için tail -f komutunu kullanın:
tail -f /home/pzserver/console.txtKaynakları doğrulamak için aşağıdaki gibi araçlar kullanın. htop, iotop ve netstat. Profesyonel ortamlarda Prometheus + Grafana veya bulut tabanlı izleme hizmetleri kullanın.
Bağlantı testi ve sık karşılaşılan sorunların giderilmesi
Oyuncular genellikle şu yollarla IP:Port Veya Steam sunucu listesi bağlanacaktır. Bağlantı başarısız olursa:
- Bağlantı noktalarını kontrol edin (örneğin,
ufw durumuVeyasudo ss -ulnp | grep 16261). - NAT ve yönlendirme ayarlarını kontrol edin.
- Java modu veya sürüm hataları için sunucu günlüklerini kontrol edin.
- Sunucu ve istemcideki modların sürümleri aynı olmalıdır.
Konum seçimi ve pratik öneriler
En düşük ping için, oyuncuların çoğunluğuna yakın bir sunucu seçin:
- Avrupalı oyuncular için Orta Avrupa
- Amerikalı oyuncular için Doğu veya Batı Amerika
- Asya (Singapur/Japonya) Asyalı oyuncular için
Sağlanan hizmetler 85'ten fazla küresel lokasyonOyun VPS'leri ve DDoS saldırılarına karşı korumalı sunucular, ping ve gecikmeyi azaltmak için sunucuyu oyunculara daha yakın bir yere yerleştirmenize olanak tanır.
Ek ipuçları ve en iyi yapılandırmalar
- Otomatik güncellemeler: Güncellemelerden önce yedekleme yapan komut dosyaları yazın.
- Bulut sunucusunda hızlı geri yükleme için anlık görüntüler kullanın.
- Yük testi (kullanıcı veya bot testi) ile sunucu davranışını kontrol edin.
- Mod ve yapılandırma değişikliklerinin dokümantasyonunu düzenli olarak tutun.
Çözüm: Yukarıdaki adımları izleyerek Project Zomboid için istikrarlı, güvenli ve ölçeklenebilir bir sunucu kurabilirsiniz. SteamCMD kurulumundan dosya yapılandırmasına, mod yönetiminden yedekleme almaya kadar her şeyi ele aldık.









