Connect your DayZ server to Takaro for Discord chat, server announcements, and admin control through the Takaro dashboard.
Sign Up for Takaro Download Latest Releaseapp.takaro.io.The integration depends on this workshop mod for in-game admin functionality:
install.ps1 → Run with PowerShell. The installer pops up the token instructions, prompts you for the registration token + your DayZ server folder, and copies everything into place. When it finishes, jump to Step 7 (skip the manual Step 4 and Step 5 below).
Or do it by hand: extract the release ZIP directly into your DayZ server directory (the folder containing DayZServer_x64.exe). After extraction, your server folder should contain three new things:
C:\path\to\dayz\server\
├── DayZServer_x64.exe (was already there)
├── @TakaroIntegration\ (new — the script mod)
│ └── Addons\
│ └── TakaroIntegration.pbo
├── dayz_takaro.dll (new — the native bridge)
└── winmm.dll (new — proxy that auto-loads the bridge)
winmm.dll: DayZ Server has no plugin loader, so the bridge piggybacks on the WINMM import. The fake winmm.dll in the server folder loads first, calls LoadLibrary on dayz_takaro.dll, and forwards every WINMM function to C:\Windows\System32\winmm.dll. Don't replace your system winmm.dll — only the one in your server folder.
takaro_config.txt)(The easy installer in Step 4 already wrote this file with your token. Skip ahead unless you want to tweak it.)
Create a file named takaro_config.txt in your DayZ server root (next to DayZServer_x64.exe) with the following content:
registrationToken=YOUR-REGISTRATION-TOKEN-FROM-TAKARO
serverName=My DayZ Server
Field reference:
| Key | Required? | Description |
|---|---|---|
registrationToken | Yes | Token you copied from Takaro in Step 2. |
serverName | Recommended | Name shown in Takaro logs and used as the identity token if none is set. |
identityToken | Optional | If set, used instead of serverName when identifying with Takaro. Most users skip this. |
localPort | Optional | Port the bridge listens on locally for the script mod. Default 8089. |
profilesDir | Optional | Path to the DayZ profiles directory (relative to server root). Default profiles. |
forwardLogLines | Optional | Set to 0 to stop tailing the RPT and forwarding lines as log events to Takaro. Default 1. |
Takaro routes admin commands (chat broadcast, kick, ban, players list) through BattlEye RCON. Setting this up correctly is the single most common source of install issues, so go slow.
battleye\beserver_x64.cfgOpen battleye\beserver_x64.cfg in a real Windows editor (Notepad, Notepad++, VS Code) so you get Windows-style CRLF line endings. Set its content to exactly this:
RConPassword YourSecureRConPassword
RConIP 127.0.0.1
RConPort 2306
RestrictRCon 0
| Field | What to use |
|---|---|
RConPassword | Any strong password — only the bridge needs to know it. Avoid spaces. |
RConIP | 127.0.0.1 (loopback). This is what the bridge connects to. |
RConPort | 2306 (BattlEye's standard RCON port). |
RestrictRCon | 0 — required so BE accepts the bridge's login. |
This is the trap that catches almost everyone. DayZ launches BattlEye Server from profiles\BattlEye\battleye\ at runtime, and BE looks for its config next to the loaded DLL, not at the -bepath argument. If the cfg is missing from the profiles location, BE loads but never binds the RCON port — the bridge will sit looping on recv error 10054 forever.
Copy the cfg file to the profiles location:
copy battleye\beserver_x64.cfg profiles\BattlEye\battleye\beserver_x64.cfg
Whenever you change the cfg, copy it to both locations.
Use this start_server.bat as a starting template (place it next to DayZServer_x64.exe). Add any of your other workshop mods to the -mod= list as you normally would:
@echo off
cd /d "C:\path\to\your\dayz\server"
start "DayZ Server" "DayZServer_x64.exe" ^
-config=serverDZ.cfg ^
-port=2302 ^
"-mod=@VPPAdminTools" ^
"-serverMod=@TakaroIntegration" ^
-profiles=profiles ^
-bepath=battleye ^
-freezecheck ^
-adminlog ^
-dologs ^
-netlog
exit
Argument reference:
| Flag | Why |
|---|---|
-mod=@VPPAdminTools | Required workshop mods for client+server. Add others (Expansion, etc.) here separated by ;. |
-serverMod=@TakaroIntegration | Server-side-only mods. Players never download these. |
-bepath=battleye | Tells DayZ where to find BattlEye. Required for RCON to work. |
-profiles=profiles | Where DayZ stores logs and profile state. Bridge also writes its log under profiles\..\logs\TakaroLogs\. |
Double-click start_server.bat (or run it from a terminal). DayZ Server starts in a new console window.
After about 30–60 seconds the bridge should be fully connected. Three checkpoints:
Open the latest file under logs\TakaroLogs\dayz-takaro-*.log. Look for these lines (in order):
[Takaro] DayZ DLL initializing v0.2 (HTTP-bridged)
[Takaro] HTTP listening on 127.0.0.1:8089
[Takaro][RCON] using 127.0.0.1:2306
[Takaro] WS open to wss://connect.takaro.io/
[Takaro] identified, gameServerId=<uuid>
[Takaro][RCON] login OK
If you see all six, you're done.
Open the newest profiles\script_*.log and confirm it contains:
SCRIPT : [Takaro] Bridge v0.1.0 starting
SCRIPT : [Takaro] Bridge attached to MissionServer.OnInit
Refresh your server's page in the Takaro dashboard. The Reachable indicator should turn green within a few seconds. Connect/disconnect a test player; the events should appear in Takaro's events stream within ~2 seconds.
Anything a player types in chat starting with / (e.g. /visit Mad) is intercepted on the server and forwarded to Takaro as a chat-message event. The chat broadcast is suppressed: the player who typed it doesn't see it on their screen, and other players don't see it either — only Takaro receives it. Bind these to Takaro module commands in the dashboard.
These run via Takaro's execute-command action — either the dashboard's command box or any Takaro module that calls gameServerControllerExecuteCommand:
say <text> - broadcast to all players (yellow admin chat)
help - list every available command
shutdown - kick all + clean exit (5s drain delay flushes saves)
kick <gameId> [reason] - disconnect a player by Steam64
ban <gameId> [reason] - write to BE bans + DayZ ban.txt + kick
unban <gameId> - remove gameId from both ban files
tp <gameId> <x> <y> <z> - teleport to coordinates
give <gameId> <classname> [amount] - spawn item(s) into the player's inventory
players - list every online player (name + gameId)
announce <message> - center-screen banner to all players
announce <title> | <message> - banner with custom title
recv error 10054 on a loopbeserver_x64.cfg exists in both battleye\ and profiles\BattlEye\battleye\.nano/vim set to LF).RConIP 127.0.0.1 and a non-empty RConPassword.Get-NetUDPEndpoint -LocalPort 2306 — if no entry, BE isn't binding.winmm.dll is in the server folder, not just dayz_takaro.dll alone — without the proxy, the bridge never gets loaded.registrationToken in takaro_config.txt matches the one in the Takaro dashboard.connect.takaro.io:443 must not be blocked by your firewall.Open an issue at github.com/mad-001/DayZ-Takaro-Integration with both logs\TakaroLogs\dayz-takaro-*.log and profiles\script_*.log attached.