Własny serwer ET: Legacy na Linuxie
Własny serwer Enemy Territory to dobry sposób na granie ze znajomymi, trening albo zbudowanie własnej ekipy. Ten poradnik prowadzi krok po kroku przez postawienie serwera ET: Legacy (wersja 2.86.2) na Linuxie 64-bit: od pobrania plików, przez config i firewall, po działanie 24/7 z botami i zapisem XP. Komendy są podane dla Debiana/Ubuntu.
Czego potrzebujesz
- komputera lub VPS-a z Linuxem 64-bit (x86_64) i publicznym adresem IP,
- otwartego portu UDP 27960 (domyślny port ET),
- plików gry
pak0.pk3,pak1.pk3,pak2.pk3z darmowego Wolfenstein: Enemy Territory – instalator ET: Legacy umie je pobrać sam.
Serwer ET jest lekki, więc wystarczy niewielki VPS.
1. Osobny użytkownik zamiast roota
Serwera gry nie uruchamiaj jako root. Załóż zwykłe konto i przełącz się na nie:
sudo adduser --disabled-password --gecos "" etserver
sudo -iu etserver
2. Pobranie ET: Legacy
Na stronie etlegacy.com/download w sekcji Linux są dwa pliki x86_64: instalator etlegacy-v2.86.2-x86_64.sh i archiwum etlegacy-v2.86.2-x86_64.tar.gz. Wygodniejszy jest instalator, bo na życzenie pobiera też dane gry. Kliknij go na stronie prawym przyciskiem,
wybierz Kopiuj adres linku i wklej ten adres w miejsce ADRES_INSTALATORA (link zmienia się z każdą wersją):
mkdir ~/etlegacy && cd ~/etlegacy
wget -O etl.sh "ADRES_INSTALATORA"
chmod +x etl.sh
./etl.sh
Instalator zada trzy pytania. Licencję zaakceptuj (y). Na pytanie o podfolder z numerem wersji odpowiedz n – pliki trafią prosto do ~/etlegacy, co ułatwia aktualizacje. Na „Do you want to fetch the assets data files?” odpowiedz y: instalator pobierze oryginalne dane gry i wypakuje pak0–pak2.pk3 do etmain.
W archiwum .tar.gz nie ma plików pak: po rozpakowaniu wgraj pak0.pk3, pak1.pk3 i pak2.pk3 do etmain sam (np. przez scp z komputera z grą). Zobacz też brak pak0.pk3.
etlded.x86_64 | serwer dedykowany – to go uruchamiasz |
etl.x86_64 | klient gry, na serwerze niepotrzebny |
etmain/ | pliki pak, mapy i wzorcowe configi (etl_server.cfg, legacy.cfg, cykle map) |
legacy/ | mod Legacy, Omni-bot i skrypty Lua (WolfAdmin) |
~/.etlegacy/ | logi serwera i baza etl.db (XP Save) |
3. Config serwera
W etmain leżą rozbudowane wzorce etl_server.cfg i legacy.cfg z komentarzami – warto je przejrzeć. Na start wystarczy krótki plik poniżej. Zapisz go pod własną nazwą w ~/etlegacy/etmain: aktualizacja nadpisuje wzorce, a Twój plik zostanie.
// Przykladowy config serwera ET: Legacy (2.86.x) - poradnik: pvet.pl/poradniki/serwer-et-legacy-linux/
// Wgraj do folderu etmain serwera i uruchom serwer z: +exec serwer_et_legacy.cfg
// NAZWA I POWITANIE
set sv_hostname "^1Moj ^7Serwer ET" // nazwa na liscie serwerow
set server_motd0 "^7Witaj na serwerze!" // tekst na ekranie wejscia
// GRACZE I HASLA
set sv_maxclients "20" // liczba slotow (maks. 64)
set g_password "" // haslo wejscia, puste = serwer publiczny
set rconpassword "ZMIEN_MNIE" // haslo admina (rcon) - KONIECZNIE ZMIEN!
set refereePassword "" // haslo sedziego, puste = wylaczone
// SIEC I POBIERANIE MAP
set sv_maxRate "25000"
set sv_allowDownload "1" // gracze moga pobrac brakujace mapy
set sv_wwwDownload "0" // 1 = szybkie pobieranie przez HTTP
set sv_wwwBaseURL "" // np. "http://twojadomena.pl/et" (mapy w /et/etmain/)
set sv_pure "1" // sprawdzanie plikow pk3 graczy
set logfile "2" // log konsoli: etconsole.log
// ROZGRYWKA
set g_friendlyFire "1" // 0 = bez ognia w swoich
set g_xpSave "1" // XP i stopnie zostaja miedzy mapami
set g_xpSaveResetMode "0" // 0 = nigdy nie zeruj XP
// BOTY (Omni-bot) - sciezka wzgledna, startuj serwer z folderu gry
set omnibot_enable "1"
set omnibot_path "./legacy/omni-bot"
// ROTACJA MAP - tryb objective (g_gametype 2)
// Zamiast tego mozesz usunac linie d1-d6 i vstr, a wpisac: exec mapvotecycle.cfg
set d1 "set g_gametype 2 ; map oasis ; set nextmap vstr d2"
set d2 "set g_gametype 2 ; map battery ; set nextmap vstr d3"
set d3 "set g_gametype 2 ; map goldrush ; set nextmap vstr d4"
set d4 "set g_gametype 2 ; map radar ; set nextmap vstr d5"
set d5 "set g_gametype 2 ; map railgun ; set nextmap vstr d6"
set d6 "set g_gametype 2 ; map fueldump ; set nextmap vstr d1"
vstr d1
sv_hostname | nazwa na liście serwerów (kolory jak w nicku – generator nicków) |
sv_maxclients | liczba slotów, maksymalnie 64 |
g_password | hasło wejścia; puste = serwer publiczny |
rconpassword | hasło zdalnej administracji – długie i tajne |
g_gametype | 2 = objective, 4 = kampania, 6 = głosowanie na mapę |
Rotacja map
Przykład ustawia rotację w trybie objective (zmienne d1…d6 i vstr d1). Zamiast niej możesz usunąć te linie i wpisać jedną z gotowych rotacji z etmain:
exec mapvotecycle.cfg– na końcu mapy gracze głosują, co gra dalej (tryb 6),exec campaigncycle.cfg– kampanie po kilka map (tryb 4).
g_gametype 4) czyści XP Save na początku każdej kampanii. Jeśli chcesz trwałych stopni, wybierz tryb 2 albo 6.4. Pierwsze uruchomienie
cd ~/etlegacy
./etlded.x86_64 +set dedicated 2 +set net_port 27960 +exec serwer_et_legacy.cfg
dedicated 2 to serwer internetowy: zgłasza się do master serwera ET: Legacy, więc po chwili widać go na liście w grze (dedicated 1 działa tylko w sieci lokalnej). W konsoli serwera możesz od razu wpisywać komendy, np. status albo map goldrush.
Nie dopisuj +map przed +exec. Domyślny g_gametype to 4 (kampania), więc mapa załadowana przed configiem wystartowałaby w kampanii i wyczyściła XP Save. Niech mapę uruchomi config.
5. Firewall
sudo ufw allow 27960/udp
Jeśli dostawca VPS-a ma osobny firewall w panelu, otwórz tam ten sam port – UDP, nie TCP. Test z gry: /connect ADRES_IP:27960.
6. Serwer 24/7 z systemd
Jako root utwórz plik /etc/systemd/system/etserver.service:
[Unit]
Description=Serwer ET: Legacy
After=network-online.target
Wants=network-online.target
[Service]
User=etserver
WorkingDirectory=/home/etserver/etlegacy
ExecStart=/home/etserver/etlegacy/etlded.x86_64 +set dedicated 2 +set net_port 27960 +exec serwer_et_legacy.cfg
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now etserver
journalctl -u etserver -f
Serwer wstanie sam po restarcie maszyny i po awarii. Wolisz konsolę na żywo? Uruchom go w tmux new -s et, odłącz się Ctrl+B, potem D, a wrócisz przez tmux attach -t et.
7. Nowe mapy i szybkie pobieranie
Mapę (plik .pk3) wrzuć do ~/etlegacy/etmain i zrestartuj serwer. Dopisz ją do rotacji – w trybie głosowania (6) sama trafi na listę map. Gracze bez mapy pobiorą ją z serwera (sv_allowDownload 1), ale przez UDP idzie to wolno. Szybciej jest przez HTTP: wystaw pliki na serwerze WWW w podfolderze etmain/ i ustaw:
set sv_wwwDownload "1"
set sv_wwwBaseURL "http://twojadomena.pl/et"
Gra pobierze wtedy np. http://twojadomena.pl/et/etmain/mapa.pk3. Więcej w poradniku instalacja map.
8. Boty Omni-bot
Omni-bot jest w zestawie (legacy/omni-bot, z gotowymi ścieżkami dla setek map). Włączają go dwie linie z configu: omnibot_enable 1 i omnibot_path "./legacy/omni-bot". Ścieżka jest względna, więc serwer startuj z folderu gry (w systemd załatwia to WorkingDirectory). Liczbę botów ustawisz w konsoli serwera:
bot MaxBots 10
MaxBots to łączna liczba graczy, do której boty dopełniają serwer – gdy wchodzą ludzie, boty robią im miejsce. Na mapach bez plików ścieżek boty sobie nie poradzą, a na Linuxie ARM (AArch64) Omni-bot nie jest wspierany.
9. XP Save – stopnie, które zostają
g_xpSave 1 zapisuje XP i stopnie graczy w bazie ~/.etlegacy/etl.db i działa w trybach 2 i 6. Gracza rozpoznaje jego plik etkey (zobacz kopia etkey). Automatyczne zerowanie ustawia g_xpSaveResetMode: 0 = nigdy, 1 = po określonej liczbie map, 2 = po określonej liczbie godzin, 3 = stopniowe ubywanie XP nieaktywnym graczom. Próg podajesz w g_xpSaveResetThreshold.
10. Administracja przez rcon
W grze wpisz /rconpassword TwojeHaslo, a potem np. /rcon status albo /rcon map supply. Więcej o konsoli: konsola i komendy.
11. Aktualizacja
- Zatrzymaj serwer (
sudo systemctl stop etserver) i zrób kopię~/.etlegacy/etl.dboraz swojego configu. - Pobierz nowy instalator i uruchom go w
~/etlegacy(podfolder: n, dane gry: n, bo pak-i już masz). - W
legacy/zostaw tylko nowy pliklegacy_v….pk3, stary usuń. - Uruchom serwer i sprawdź wersję komendą
versionw konsoli.
Gracze aktualizują grę według poradnika aktualizacja ET: Legacy. Serwer na Windowsie? Zobacz serwer ET: Legacy na Windows.
/connect graj.pvet.pl (adres serwera: graj.pvet.pl).
Inne poradniki
- Jak zacząć grać
- Ustawienia grafiki w ET: Legacy
- Aktualizacja ET: Legacy
- Brak pak0.pk3 – gra nie startuje
- Kopia etkey: nie trać rangi i XP
- Konsola i komendy w ET: Legacy
- ET: Legacy na macOS
- Porady dla początkujących
- Klasy postaci w Enemy Territory
- Bronie w Enemy Territory
- XP, stopnie i umiejętności
- Słowniczek gracza Enemy Territory
- ET: Legacy na Linuxie i Steam Decku
- Jak zainstalować mapy do ET
- Własny config (cfg) w ET: Legacy
- Bindy i komendy głosowe w ET
- Nagrywanie demo i filmów w ET: Legacy
- Najczęstsze błędy w ET: Legacy
- Mody do Enemy Territory
- Serwer ET: Legacy na Windows
- Generator nicków