Wer auf einem Vanilla-Server Ordnung halten will, hatte bisher die Wahl zwischen RCon-Werkzeugen von außen und einer Mod, die jeder Spieler mitinstallieren muss. Es geht auch ohne beides: Das ganze Adminsystem passt in die init.c der Mission.
Keine Mod, keine Client-Installation, keine Server-Mod. Deine Spieler installieren nichts und merken nichts — sie verbinden sich wie immer. Wer Admin ist, entscheidet die SteamID64 und nicht der Spielername.
Getestet auf DayZ 1.29.163451, Windows Dedicated Server plus Client, Chernarus.
Was drin ist
27 Chat-Befehle: Teleport mit gespeicherten Orten, Heilen, Godmode, Spawnen, Kicken und Bannen, Wetter und Uhrzeit, Adminverwaltung.
- Fahrzeuge komplett —
/vehicle sedanstellt einen fertigen Wagen hin: alle Teile montiert, alle vier Flüssigkeiten voll, Batterie geladen. - Waffen komplett —
/weapon m4a1legt die Waffe fertig aufgerüstet vor dich auf den Boden, Magazin eingesetzt, zwei volle Reservemagazine daneben. - Teleport-Presets — 20 Chernarus-Orte sind dabei, eigene legst du im Spiel mit
/addlocan. - Bannliste, die schon beim Verbinden greift, und ein Protokoll jedes ausgeführten Befehls.
Welche Anbauteile an welches Fahrzeug gehören, steht nirgends fest verdrahtet. Das Skript liest beim ersten Spawn die Spiel-Config und baut daraus einen Index über alle Slots. Deshalb funktionieren auch Fahrzeuge und Waffen aus Mods, ohne dass jemand eine Teileliste pflegen muss.
Installation
Die init.c in den Missionsordner kopieren und die vorhandene ersetzen. Die komplette Vanilla-Logik steckt bereits darin, es geht also nichts verloren.
DayZServer\mpmissions\dayzOffline.chernarusplus\init.cDen Server mit einem Profilordner starten (-profiles=). Dort legt das System beim ersten Start seine vier Dateien an: Adminliste, Bannliste, Teleport-Orte und das Protokoll.
Wie du Admin wirst
Deine SteamID64 ist die 17-stellige Zahl, die mit 7656119 beginnt — sie steht in der URL deines Steam-Profils. In die dayu_admins.txt kommt pro Zeile eine davon:
// DAYU admin list
76561198000000001
76561198000000002Danach im Spiel /reload tippen, ein Neustart ist dafür nicht nötig. Wer schon Admin ist, kann andere mit /addadmin <steamid> dazunehmen.
Die Befehle
Chat öffnen und die Nachricht mit / beginnen.
- Information:
/help,/players,/pos - Spieler:
/heal,/god,/kill - Teleport:
/tp <x> <z>,/goto <ort>,/locations,/addloc,/delloc,/tpto,/tphere - Spawnen:
/vehicle <name>,/weapon <name>,/spawn <klasse> [anzahl] - Moderation:
/kick,/ban,/unban,/bans - Server:
/say,/time,/weather,/admins,/addadmin,/deladmin,/reload
Spielernamen dürfen abgekürzt werden, und überall wo ein Name steht, geht auch die SteamID. Bei /vehicle und /weapon genügt ein Namensfragment: sedan liefert den CivilianSedan, m4a1 die M4A1.
Grenzen von Vanilla
Zwei Dinge kann ein Missionsskript nicht leisten.
Der getippte Befehl bleibt im Chat für alle sichtbar. Die Engine verteilt Chatnachrichten selbst, dagegen kommt kein Skript an. Wer das vermeiden will, setzt seine Befehle im Direct-Chat ab — dann hören sie nur Spieler in der Nähe.
Ein echter Bann auf BattlEye-Ebene ist nicht möglich. Die Bannliste hier ist eine eigene und wirft den Spieler beim Verbinden wieder raus; für harte Bans zusätzlich BattlEye nutzen.
Download
github.com/006mi4/dayz-vanilla-admin-menu
Dort liegen die init.c und eine ausführliche englische Anleitung mit allen Befehlen. Das Skript selbst steht unter MIT-Lizenz; die Vanilla-Teile der Datei gehören Bohemia Interactive.