DayZ-Takaro Integration

Connect your DayZ server to Takaro for Discord chat, server announcements, and admin control through the Takaro dashboard.

Sign Up for Takaro Download Latest Release

Step 1 — Get a Takaro Account

  1. Go to takaro.io/pricing and pick a plan.
  2. Sign up with the email you want admin notifications sent to.
  3. Confirm your email and log into the Takaro dashboard at app.takaro.io.

Step 2 — Register Your DayZ Server in Takaro

  1. In the Takaro dashboard, click Create Game Server.
  2. Name the server (this is just the display name in Takaro).
  3. Choose Generic as the server type.
  4. Save. Takaro generates an Identity Token and a Registration Token.
  5. Copy the Registration Token — you'll paste it into the config file in Step 4.
The Identity Token is auto-managed by the bridge after first connection — you only need the Registration Token to bootstrap.

Step 3 — Subscribe to Required Workshop Mods

The integration depends on this workshop mod for in-game admin functionality:

Step 4 — Install the Bridge Files

Easy install (recommended). Download the latest release ZIP, extract it anywhere, then right-click install.ps1Run 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)
About 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.

Step 5 — Configure the Bridge (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:

KeyRequired?Description
registrationTokenYesToken you copied from Takaro in Step 2.
serverNameRecommendedName shown in Takaro logs and used as the identity token if none is set.
identityTokenOptionalIf set, used instead of serverName when identifying with Takaro. Most users skip this.
localPortOptionalPort the bridge listens on locally for the script mod. Default 8089.
profilesDirOptionalPath to the DayZ profiles directory (relative to server root). Default profiles.
forwardLogLinesOptionalSet to 0 to stop tailing the RPT and forwarding lines as log events to Takaro. Default 1.

Step 6 — Configure BattlEye RCON

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.

6a. Edit battleye\beserver_x64.cfg

Open 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
FieldWhat to use
RConPasswordAny strong password — only the bridge needs to know it. Avoid spaces.
RConIP127.0.0.1 (loopback). This is what the bridge connects to.
RConPort2306 (BattlEye's standard RCON port).
RestrictRCon0 — required so BE accepts the bridge's login.

6b. Duplicate the cfg into the profiles directory

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.

Step 7 — Launch the Server

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:

FlagWhy
-mod=@VPPAdminToolsRequired workshop mods for client+server. Add others (Expansion, etc.) here separated by ;.
-serverMod=@TakaroIntegrationServer-side-only mods. Players never download these.
-bepath=battleyeTells DayZ where to find BattlEye. Required for RCON to work.
-profiles=profilesWhere 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.

Step 8 — Verify It's Working

After about 30–60 seconds the bridge should be fully connected. Three checkpoints:

8a. Bridge log

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.

8b. Script log

Open the newest profiles\script_*.log and confirm it contains:

SCRIPT       : [Takaro] Bridge v0.1.0 starting
SCRIPT       : [Takaro] Bridge attached to MissionServer.OnInit

8c. Takaro dashboard

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.

Player Chat Commands

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.

Available Commands

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

Troubleshooting

Bridge log shows recv error 10054 on a loop

  1. Confirm beserver_x64.cfg exists in both battleye\ and profiles\BattlEye\battleye\.
  2. Confirm CRLF line endings (open in Notepad, not nano/vim set to LF).
  3. Confirm RConIP 127.0.0.1 and a non-empty RConPassword.
  4. From PowerShell on the server: Get-NetUDPEndpoint -LocalPort 2306 — if no entry, BE isn't binding.

Bridge log doesn't appear at all

Bridge connects but Takaro says "Unreachable"

Anything else

Open an issue at github.com/mad-001/DayZ-Takaro-Integration with both logs\TakaroLogs\dayz-takaro-*.log and profiles\script_*.log attached.