Keeping order on a vanilla server used to mean choosing between external RCon tools and a mod that every player has to install. There is a third way: the whole admin system fits inside the mission's init.c.
No mods, no client-side install, no server mods. Your players install nothing and notice nothing — they connect the way they always did. Who counts as an admin is decided by the SteamID64, not by the player name.
Tested on DayZ 1.29.163451, Windows dedicated server plus client, Chernarus.
What you get
27 chat commands: teleport with saved locations, healing, godmode, spawning, kick and ban, weather and time, admin management.
- Complete vehicles —
/vehicle sedanputs a finished car in front of you: every part mounted, all four fluids full, battery charged. - Complete weapons —
/weapon m4a1drops the weapon fully kitted on the ground, magazine in, two full spares next to it. - Teleport presets — 20 Chernarus locations are included, add your own in-game with
/addloc. - A ban list that is enforced on connect, and a log of every command that was run.
Which parts belong on which vehicle is not hardcoded anywhere. On the first spawn the script reads the game config and builds an index over every slot. That is why vehicles and weapons from mods work too, without anyone maintaining a parts list.
Installation
Copy init.c into your mission folder, replacing the existing file. The complete vanilla logic is already in there, so nothing is lost.
DayZServer\mpmissions\dayzOffline.chernarusplus\init.cStart the server with a profile folder (-profiles=). On first start the system creates its four files there: admin list, ban list, teleport locations and the log.
How to become admin
Your SteamID64 is the 17-digit number starting with 7656119 — you will find it in the URL of your Steam profile. Put one per line into dayu_admins.txt:
// DAYU admin list
76561198000000001
76561198000000002Then type /reload in-game; no restart needed for that. Anyone who is already an admin can add others with /addadmin <steamid>.
The commands
Open chat and start the message with /.
- Information:
/help,/players,/pos - Player:
/heal,/god,/kill - Teleport:
/tp <x> <z>,/goto <place>,/locations,/addloc,/delloc,/tpto,/tphere - Spawning:
/vehicle <name>,/weapon <name>,/spawn <class> [count] - Moderation:
/kick,/ban,/unban,/bans - Server:
/say,/time,/weather,/admins,/addadmin,/deladmin,/reload
Player names may be abbreviated, and a SteamID works anywhere a name is expected. For /vehicle and /weapon a fragment is enough: sedan gives you the CivilianSedan, m4a1 the M4A1.
What vanilla cannot do
There are two things a mission script cannot deliver.
The command you type stays visible in chat for everyone. The engine distributes chat messages itself and no script can stop that. If you want to avoid it, issue your commands in direct chat — then only players nearby can read them.
A real ban at BattlEye level is not possible. The ban list here is its own and throws the player out on connect; for hard bans use BattlEye as well.
Download
github.com/006mi4/dayz-vanilla-admin-menu
You will find init.c there along with a detailed English guide covering every command. The script itself is MIT licensed; the vanilla parts of the file belong to Bohemia Interactive.