Mantener el orden en un servidor vanilla obligaba hasta ahora a elegir entre herramientas RCon externas y un mod que cada jugador tiene que instalar. Hay una tercera vía: todo el sistema de administración cabe dentro del init.c de la misión.
Sin mods, sin instalación en el cliente, sin mods de servidor. Tus jugadores no instalan nada y no notan nada — se conectan como siempre. Quién es administrador lo decide el SteamID64, no el nombre del jugador.
Probado en DayZ 1.29.163451, servidor dedicado de Windows y cliente, Chernarus.
Qué incluye
27 comandos de chat: teletransporte con lugares guardados, curación, modo dios, generación de objetos, expulsión y baneo, clima y hora, gestión de administradores.
- Vehículos completos —
/vehicle sedante deja un coche terminado: todas las piezas montadas, los cuatro fluidos llenos, batería cargada. - Armas completas —
/weapon m4a1deja el arma totalmente equipada en el suelo, con cargador puesto y dos cargadores llenos de repuesto al lado. - Puntos de teletransporte — vienen 20 lugares de Chernarus, los tuyos los creas en el juego con
/addloc. - Una lista de baneos que se aplica al conectar, y un registro de cada comando ejecutado.
Qué piezas van en cada vehículo no está fijado en ninguna parte. En el primer spawn el script lee la configuración del juego y construye un índice de todas las ranuras. Por eso también funcionan vehículos y armas de mods, sin que nadie mantenga una lista de piezas.
Instalación
Copia init.c en la carpeta de la misión y reemplaza el archivo existente. Toda la lógica vanilla ya está dentro, así que no se pierde nada.
DayZServer\mpmissions\dayzOffline.chernarusplus\init.cArranca el servidor con una carpeta de perfil (-profiles=). En el primer inicio el sistema crea allí sus cuatro archivos: lista de administradores, lista de baneos, lugares de teletransporte y el registro.
Cómo hacerte administrador
Tu SteamID64 es el número de 17 cifras que empieza por 7656119 — está en la URL de tu perfil de Steam. Pon uno por línea en dayu_admins.txt:
// DAYU admin list
76561198000000001
76561198000000002Después escribe /reload en el juego; para eso no hace falta reiniciar. Quien ya sea administrador puede añadir a otros con /addadmin <steamid>.
Los comandos
Abre el chat y empieza el mensaje con /.
- Información:
/help,/players,/pos - Jugador:
/heal,/god,/kill - Teletransporte:
/tp <x> <z>,/goto <lugar>,/locations,/addloc,/delloc,/tpto,/tphere - Generar:
/vehicle <nombre>,/weapon <nombre>,/spawn <clase> [cantidad] - Moderación:
/kick,/ban,/unban,/bans - Servidor:
/say,/time,/weather,/admins,/addadmin,/deladmin,/reload
Los nombres pueden abreviarse, y un SteamID sirve en cualquier sitio donde se espere un nombre. En /vehicle y /weapon basta un fragmento: sedan te da el CivilianSedan, m4a1 la M4A1.
Los límites del vanilla
Hay dos cosas que un script de misión no puede resolver.
El comando que escribes queda visible en el chat para todos. El motor reparte los mensajes por su cuenta y ningún script puede impedirlo. Si quieres evitarlo, lanza los comandos en el chat directo — así solo los leen los jugadores cercanos.
Un baneo real a nivel de BattlEye no es posible. La lista de aquí es propia y expulsa al jugador al conectar; para baneos duros usa además BattlEye.
Descarga
github.com/006mi4/dayz-vanilla-admin-menu
Allí están el init.c y una guía detallada en inglés con todos los comandos. El script está bajo licencia MIT; las partes vanilla del archivo pertenecen a Bohemia Interactive.