Valheim sunucu kurma, arkadaşlarınızla aynı dünyada oynamanın en sağlam yoludur: dünya sizin bilgisayarınız kapalıyken de açık kalır, kayıtlar tek yerde tutulur ve kimin girebileceğini siz belirlersiniz. Iron Gate, dedicated server'ı ücretsiz bir araç olarak dağıtır ve resmî bir kurulum rehberi yayınlar.

Bu yazıda Valheim server kurulumunu Iron Gate'in resmî "A guide to dedicated servers" sayfasına dayanarak anlatıyoruz: SteamCMD ile indirme, start_headless_server.bat ve start_server.sh parametreleri, portlar, crossplay, dünya kayıtlarının yeri, yedekler, admin ve ban listeleri. Son bölümde mod konusuna ve panelde çalıştırmaya değiniyoruz.

Gereksinimler

Gereksinimler: Windows, Linux, Steam backend ile oynanacaksa port yönlendirme gerekir; crossplay backend'de gerekmez (aşağıda).
  • Windows: Sunucu Windows'ta doğrudan ya da Steam üzerinden çalışır.
  • Linux: Resmî rehbere göre libatomic1, libpulse-dev ve libpulse0 paketleri gerekir. Sunucu GLIBC_2.29 ve GLIBCXX_3.4.26 veya daha yeni sürümleri ister; daha eski sistemler için rehber Docker yolunu önerir.
  • Ağ: Steam backend ile oynanacaksa port yönlendirme gerekir; crossplay backend'de gerekmez (aşağıda).

Adım 1: Sunucu dosyalarını indirme

Steam istemcisini kullanıyorsanız Kütüphane'de "Tools" (Araçlar) filtresini açıp Valheim Dedicated Server'ı kurabilirsiniz. Sunucu makinesinde SteamCMD tercih ediyorsanız Steam'deki uygulama kimliği 896660'tır (Valheim Dedicated Server, tool). SteamCMD hakkında ayrıntı için SteamCMD rehberimize bakın.

bash
# Linux
steamcmd +force_install_dir /home/steam/valheim +login anonymous +app_update 896660 validate +quit

# Windows
steamcmd.exe +force_install_dir C:\valheim-server +login anonymous +app_update 896660 validate +quit

Linux'ta gerekli paketleri Debian/Ubuntu tabanlı bir sistemde şöyle kurabilirsiniz:

bash
sudo apt update
sudo apt install libatomic1 libpulse-dev libpulse0

Adım 2: Başlatma betiğini kopyalayıp düzenleme

Windows'ta start_headless_server.bat, Linux'ta start_server.sh düzenlenir. Resmî rehber önemli bir uyarı yapar: Steam güncellemelerde orijinal dosyayı sıfırlar, bu yüzden kopyasını oluşturup kopyayı düzenleyin. Kopya Steam'den başlatılamaz; doğrudan çalıştırılır. Rehbere göre parametreler betiğin 7. satırında, start valheim_server ile başlayan satırda bulunur. Bu satırdaki mevcut parametreleri kendi değerlerinizle değiştirin; örnek parametre dizisi:

bash
-name "Keydal Valheim" -port 2456 -world "Midgard" -password "gizlisifre" -public 1

Sunucu hazır olduğunda konsolda "Game server connected" yazar. Durdurmak için komut penceresinde CTRL+C kullanın; rehber, pencereyi X ile kapatmanın sunucuyu arka planda çalışır bırakabileceğini belirtir.

Başlatma parametreleri

Başlatma parametreleri: -name, -port, -world, -password

Resmî rehberdeki parametreler ve anlamları:

ParametreAnlamı
-nameSunucu listesinde görünen ad.
-portPort, varsayılan 2456. Valheim ayrıca port+1'i kullanır (2456-2457).
-worldVerilen adla dünya oluşturur ya da mevcut dünyayı yükler.
-passwordSunucu şifresi.
-public1 (varsayılan) sunucuyu listede gösterir; 0 gizler, oyuncular IP ile bağlanır.
-savedirVarsayılan kayıt yolunu değiştirir.
-saveintervalKayıt aralığı (saniye). Varsayılan 1800 (30 dakika).
-backupsSaklanacak otomatik yedek sayısı. İlki kısa, diğerleri uzun aralıkla alınır.
-backupshortİlk yedeğin aralığı. Varsayılan 7200 saniye (2 saat).
-backuplongSonraki yedeklerin aralığı. Varsayılan 43200 saniye (12 saat).
-crossplayPlayFab backend'ini kullanır; her platformdan oyuncu katılabilir. Olmazsa yalnızca Steam oyuncuları görür ve katılır.
-presetDünya ayar ön tanımı: Normal, Casual, Easy, Hard, Hardcore, Immersive, Hammer.
-modifierTek bir dünya ayarı, ör. -modifier raids none. Preset ile birlikteyse preset'ten sonra yazılır.
-setkeyDünya ayarı anahtarı: nobuildcost, playerevents, passivemobs, nomap.
-instanceidAynı port ve MAC adresini paylaşan birden fazla sunucuya benzersiz PlayFab kimliği verir.
-logFileLog dosyasının konumu.

-modifier için rehberdeki seçenekler: Combat (veryeasy, easy, hard, veryhard), DeathPenalty (casual, veryeasy, easy, hard, hardcore), Resources (muchless, less, more, muchmore, most), Raids (none, muchless, less, more, muchmore), Portals (casual, hard, veryhard).

bash
-name "Keydal Hardcore" -port 2456 -world "Zor" -password "gizlisifre" -preset hard -modifier raids none -setkey nomap

Portlar ve crossplay

BackendPort yönlendirmeNot
Steam (varsayılan)Gerekli: varsayılan 2456-2457Yalnızca Steam oyuncuları görür ve katılır.
Crossplay (-crossplay)GerekmezRelay sunucusu kullanılır. Genel IP ve port, katılma kodu veya sunucu listesiyle bağlanılır; yerel ya da loopback IP ile bağlanılamaz.

Windows Güvenlik Duvarı izin isterse tüm ağ kutucuklarını işaretleyerek izin verin. Iron Gate modem ayarları için ayrıntılı destek vermediğini, modem kılavuzuna veya servis sağlayıcınıza başvurmanızı belirtir. Port kontrolü için port sorgulama rehberimize bakabilirsiniz.

bash
# Ubuntu / UFW örneği (Steam backend, varsayılan port)
sudo ufw allow 2456:2457/udp

Dünya kayıtları nerede?

SistemVarsayılan kayıt yolu
Windows%USERPROFILE%\AppData\LocalLow\IronGate\Valheim
Linux~/.config/unity3d/IronGate/Valheim

-savedir verdiyseniz kayıtlar ve izin listeleri o klasördedir. Sunucunun kendi yedek sistemi (-backups, -backupshort, -backuplong) aynı makinede çalışır; disk arızasına karşı ayrıca başka bir yere kopya almanız iyi olur. Linux için rsync ile yedekleme rehberimiz işinize yarar.

Admin, ban ve izin listeleri

Admin, ban ve izin listeleri: adminlist.txt, bannedlist.txt, permittedlist.txt

Rehbere göre üç dosya varsayılan kayıt yolunda (ya da -savedir klasöründe) bulunur:

DosyaGörevi
adminlist.txtAdmin yetkisi verilen oyuncular.
bannedlist.txtYasaklı oyuncular.
permittedlist.txtİzinli oyuncular. Buraya biri eklenirse listede olmayan herkes engellenir.

Her satıra bir oyuncu, [Platform]_[UserID] biçiminde yazılır ve büyük-küçük harfe duyarlıdır. Kimlikleri sunucu logunda veya oyun içinde F2 paneliyle görebilirsiniz. Oyun içinde F5 konsolundan admin olarak Kick, Ban, Unban ve yasaklıları listeleyen Banned komutlarını kullanabilirsiniz.

Linux'ta servis olarak ve Docker ile çalıştırma

Linux'ta sunucu dizininde ./start_server.sh (ya da kopyanız) çalıştırılır. Terminal kapanınca sunucunun durmaması için tmux veya screen kullanabilir ya da bir systemd servisi yazabilirsiniz. Resmî rehber ayrıca Docker yolunu tarif eder: Docker kurulu ve kullanıcı "docker" grubunda olmalı; docker_start_server.sh betiğine başlatma betiği verilir, ilk çalıştırmada konteyner birkaç dakikada oluşturulur. Veriler varsayılan olarak valheim_server_data adlı volume'da tutulur; betikteki DOCKER_DATA_VOLUME değeriyle bir host klasörü gösterilebilir.

bash
./docker_start_server.sh ./start_server.sh

Modlar: BepInEx resmî değildir

Valheim topluluğundaki modların büyük bölümü BepInEx adlı üçüncü taraf mod yükleyicisiyle çalışır (BepInEx GitHub deposu). Bu, Iron Gate'in resmî rehberinde yer alan ya da desteklenen bir yöntem değildir. Modlu sunucuda genellikle oyuncuların da aynı modları kurması gerekir ve oyun güncellemelerinden sonra modlar bozulabilir. Mod kurmadan önce dünyanızı yedekleyin.

Pterodactyl gibi bir panelde Valheim

Barındırılan panelde Valheim genellikle hazır bir şablonla gelir; SteamCMD indirmesi ve başlatma satırı panelde tanımlıdır. Siz sunucu adı, dünya adı, şifre ve public ayarını başlangıç değişkenlerinden değiştirir, adminlist.txt gibi dosyaları dosya yöneticisinden düzenlersiniz. Panelin kayıt yolunu nereye ayarladığını kontrol edip yedeklerinizi ona göre alın. Ayrıntılar için Pterodactyl rehberimize bakın.

Sık Sorulan Sorular

Valheim sunucusu için hangi portları açmalıyım?

Steam backend'de varsayılan 2456-2457 aralığını yönlendirmeniz gerekir; -port değiştirdiyseniz o port ve bir fazlası. -crossplay ile çalışan sunucu relay kullandığı için resmî rehbere göre port yönlendirme gerekmez.

Xbox veya Game Pass oyuncuları sunucuma girebilir mi?

Resmî rehbere göre -crossplay parametresi PlayFab backend'ini kullanır ve her platformdan oyuncunun katılmasını sağlar. Bu parametre olmadan sunucuyu yalnızca Steam oyuncuları görebilir.

Başlatma betiğimdeki ayarlar güncellemeden sonra neden kayboldu?

Steam, güncellemelerde orijinal start_headless_server.bat ve start_server.sh dosyalarını sıfırlar. Rehber bu yüzden betiğin kopyasını düzenlemenizi önerir.

Sunucuyu sadece arkadaşlarımın girmesine nasıl sınırlarım?

Şifre (-password) kullanabilir ya da permittedlist.txt dosyasına izinli oyuncuların kimliklerini yazabilirsiniz. Bu listeye biri eklendiği anda listede olmayan herkes engellenir.

Sunucuyu kapatırken dünyam kaybolur mu?

Rehber, sunucuyu CTRL+C ile durdurmanızı söyler. Pencereyi X ile kapatmak sunucunun arka planda çalışmaya devam etmesine yol açabilir. Düzenli yedekler için -backups parametrelerini ayarlayın.

Oyun ve yazılım adları sahiplerine aittir. Bu yazı bağımsız bir teknik rehberdir; adı geçen geliştiricilerle ortaklık ilişkisi bulunduğu anlamına gelmez.

İlgili içerikler: SteamCMD rehberi · Pterodactyl panel rehberi · Port sorgulama · rsync ile yedekleme · tmux ve screen