Żeby utrzymać porządek na serwerze vanilla, trzeba było dotąd wybierać między zewnętrznymi narzędziami RCon a modem, który musi zainstalować każdy gracz. Jest trzecia droga: cały system administracyjny mieści się w pliku init.c misji.
Żadnych modów, żadnej instalacji po stronie klienta, żadnych modów serwerowych. Twoi gracze niczego nie instalują i niczego nie zauważają — łączą się jak zawsze. O tym, kto jest administratorem, decyduje SteamID64, a nie nazwa gracza.
Przetestowane na DayZ 1.29.163451, dedykowany serwer Windows plus klient, Czarnoruś.
Co zawiera
27 komend na czacie: teleportacja z zapisanymi miejscami, leczenie, tryb boga, spawnowanie, wyrzucanie i banowanie, pogoda i czas, zarządzanie administratorami.
- Kompletne pojazdy —
/vehicle sedanstawia przed tobą gotowy samochód: wszystkie części zamontowane, cztery płyny pełne, akumulator naładowany. - Kompletna broń —
/weapon m4a1kładzie w pełni wyposażoną broń na ziemi, magazynek w środku, obok dwa pełne zapasowe. - Punkty teleportacji — 20 miejsc na Czarnorusi jest w zestawie, własne dodajesz w grze komendą
/addloc. - Lista banów działająca już przy łączeniu oraz dziennik każdej wykonanej komendy.
Które części pasują do którego pojazdu, nie jest nigdzie zapisane na sztywno. Przy pierwszym spawnie skrypt czyta konfigurację gry i buduje z niej indeks wszystkich slotów. Dlatego działają też pojazdy i broń z modów, bez utrzymywania listy części przez kogokolwiek.
Instalacja
Skopiuj init.c do folderu misji, zastępując istniejący plik. Cała logika vanilla już w nim jest, więc nic nie ginie.
DayZServer\mpmissions\dayzOffline.chernarusplus\init.cUruchom serwer z folderem profilu (-profiles=). Przy pierwszym starcie system utworzy tam swoje cztery pliki: listę administratorów, listę banów, miejsca teleportacji i dziennik.
Jak zostać administratorem
Twój SteamID64 to 17-cyfrowa liczba zaczynająca się od 7656119 — znajdziesz ją w adresie swojego profilu Steam. W dayu_admins.txt wpisz po jednym w wierszu:
// DAYU admin list
76561198000000001
76561198000000002Następnie wpisz w grze /reload; restart nie jest do tego potrzebny. Kto już jest administratorem, może dodać kolejnych komendą /addadmin <steamid>.
Komendy
Otwórz czat i zacznij wiadomość od /.
- Informacje:
/help,/players,/pos - Gracz:
/heal,/god,/kill - Teleportacja:
/tp <x> <z>,/goto <miejsce>,/locations,/addloc,/delloc,/tpto,/tphere - Spawnowanie:
/vehicle <nazwa>,/weapon <nazwa>,/spawn <klasa> [ilość] - Moderacja:
/kick,/ban,/unban,/bans - Serwer:
/say,/time,/weather,/admins,/addadmin,/deladmin,/reload
Nazwy graczy można skracać, a SteamID zadziała wszędzie tam, gdzie oczekiwana jest nazwa. Przy /vehicle i /weapon wystarczy fragment: sedan da ci CivilianSedan, m4a1 — M4A1.
Granice vanilli
Są dwie rzeczy, których skrypt misji nie zrobi.
Wpisana komenda pozostaje widoczna na czacie dla wszystkich. Silnik sam rozsyła wiadomości czatu i żaden skrypt tego nie powstrzyma. Jeśli chcesz tego uniknąć, wydawaj komendy na czacie bezpośrednim — wtedy przeczytają je tylko gracze w pobliżu.
Prawdziwy ban na poziomie BattlEye nie jest możliwy. Tutejsza lista banów jest własna i wyrzuca gracza przy łączeniu; do twardych banów użyj dodatkowo BattlEye.
Pobieranie
github.com/006mi4/dayz-vanilla-admin-menu
Znajdziesz tam init.c oraz szczegółowy przewodnik po angielsku ze wszystkimi komendami. Sam skrypt jest na licencji MIT; części vanilla pliku należą do Bohemia Interactive.