Z-Chat — one global chat for all the maps of a cluster
Demo
Players on TheIsland talk with players on Ragnarok as if they were on the same map. Z-Chat needs no database and opens no network connection of its own: every server writes its own small exchange file in a shared folder and reads the files of the other maps every second, from where it stopped. Nothing else to install besides Z-Chat and Z-Messages.
Only global chat travels. Tribe chat and local chat stay where they were said, and commands (
/zp, /info...) never leave the server.Works with the ZMenu mod (optional)
New: ZMenu now speaks 4 languages (French, English, Spanish, German), chosen by each player with flags in the menu.
ZMenu is a free client mod by the same author: https://www.curseforge.com/ark-survival-ascended/mods/zmenu With ZMenu on your server, a Z-Link tab: players link their Discord account without typing a command (this needs a Discord bridge, see /zlink below). Handy for console players.
- ZMenu talks to the server through Z-Bridge, a free plugin made for it: it carries the menu clicks to the plugins and brings their answers back into the menu. Install Z-Bridge too, or the menu stays empty.
- Each of these plugins adds its own tab to ZMenu: Z-Points the Z-Points tab, Z-Colour the Z-Colour tab, Z-Info the Z-Info tab, Z-Chat the Z-Link tab. A tab only shows when its plugin is installed.
- Without ZMenu, everything still works through the chat commands below.
Install
1. Drop the
Z-Chat folder into ShooterGame/Binaries/Win64/ArkApi/Plugins/ on every server of the cluster.2. Install Z-Messages as well: Z-Chat displays its lines through it (declared dependency).
3. In each server's
config.json:General.Cluster— the SAME name on every server that shares the chat.General.ExchangeFolder— the SAME folder on every server, reachable by all of them (servers on one machine, or a shared folder).General.Map— a name UNIQUE to this server, shown in front of its messages (it is also the name of its exchange file).
Requires AsaApi 2.03+. Settings are re-read every second: no restart needed after a change.
What a chat line looks like
Fully configurable with
General.Format and these fields: {map}, {pseudo} (player name), {plateforme} (platform icon), {tribu} (tribe), {admin} (icon for admins), {heure} (time), {message}, and {couleurmap} (the colour of the map the message comes from, see MapColors). Colours use the Z-Messages formatting tags, e.g. {c:255,255,255}text{/}.General.Label— what the game shows at the head of the line (plain text only). Default: the map name.General.TakeOverLocalChat—trueso that messages from your own map look like those from the other maps (one style in the chat window).General.AdminIcon— what{admin}shows for an admin.Platforms— what{plateforme}shows for each platform number given by the game (1 Steam, 2 Xbox / PC Game Pass, 3 PlayStation).MapColors— an[R, G, B]colour per map name;General.DefaultMapColorfor the others.General.MaxSizeKB— past this size an exchange file is emptied. Messages are short-lived.
/zlink — link a Discord account (optional)
/zlink gives the player a 4-digit code valid 10 minutes, to paste in your Discord channel (General.DiscordChannel). Z-Chat itself does not connect to Discord: it drops the request in <ExchangeFolder>/<Cluster>/liaisons/ and an external Discord bridge picks it up (Z-ARK provides one). Without such a bridge, simply ignore this command. A code typed by mistake in game chat is kept private: it is neither shown nor relayed./zlink help— explains the command before giving a code.
Files written in the exchange folder
<Map>.txt— the recent messages of each map (trimmed atMaxSizeKB).registre/<Map>.txt— players who spoke on that map (EOS id, name, platform, tribe), used to keep platform icons right across maps.liaisons/attente.txt— pending/zlinkrequests (only if players use it).
Configure (config.json)
General.Enabled—falseputs the plugin to sleep without unloading it.General.Language— EN, FR, DE, ES or your own block underTexts(the /zlink messages).- Every key is explained in
_helpat the bottom of the file.
RCON commands
ZChat.Reload— re-reads config.json.ZChat.Status— version and state.
Compatibility
Built and tested against AsaApi 2.03 (ARK: Survival Ascended dedicated server, Windows).
External connections and data
- No network connection of its own. Z-Chat never connects to Discord or to any web service. The servers share the chat through files in one folder that you choose (
General.ExchangeFolder): a local folder when all the servers run on one machine, or a network share (Windows file sharing) between machines. - Files written in the exchange folder (
<ExchangeFolder>/<Cluster>/):<Map>.txt, the recent global chat lines of this map (map, player name, platform, tribe, admin mark, message), emptied pastMaxSizeKB;registre/<Map>.txt, the players who spoke on this map (EOS id, name, platform, tribe, admin mark, time), one line added only when one of these changes, and never trimmed by the plugin;liaisons/attente.txt, the pending/zlinkrequests (code, EOS id, name, expiry after 10 minutes), only if players use/zlink. - Files read: the files of the other maps in the same folder, every second, and its own
config.json(rewritten only to rename setting names of older versions, values kept). - When Z-Messages or Z-Bridge is loaded, Z-Chat calls functions they export, inside the server process.
- No game hook, no registry access, no external program started, no other data collected.
Dependencies and limitations
- Requires Z-Messages: Z-Chat displays its lines through it.
- Every server that shares the chat must reach the same folder. Across machines, the network share and its access rights are yours to set up.
- Only global chat travels; tribe chat, local chat and commands stay on their server. Messages arrive within about a second.
/zlinkneeds an external Discord bridge (Z-ARK provides one); without it, ignore the command.
Updates
Z-ARK (server manager, https://z-ark.fr/en/) checks for new versions of this plugin and installs them from its dashboard.
Without Z-ARK: click Watch at the top of this page to be notified of every new version; what changed is listed in the Updates tab. To update, stop the server, replace the plugin's .dll and PluginInfo.json, keep your config.json, then start the server again.
Support
A question, a bug, an idea? Post it in the Discussion tab of this page, or use the form at https://z-ark.fr/en/plugin-support/ (no account needed). Please give the plugin version, your AsaApi version and what you saw. Z-ARK users can also write to us from Settings > Support in Z-ARK.
Built with AI, knowingly
This plugin was written with an artificial intelligence, and we would rather say it plainly. It is not code thrown together at random: behind it is someone from the trade (software development, server operations, community management) who decides every feature, reviews it and puts it to the test on a real cluster, with real players, before it reaches you. The same goes for the ZMenu client mod. Bugs reported in the Discussion tab get fixed.