SatayaLib
Русский
Start free
On this page

Documentation

How to connect an ARK cluster to SatayaLib: the plugin, the panel, Discord and Telegram bridges, the API.

What it is

SatayaLib is cross-server chat and a panel for an ARK cluster (ARK: Survival Ascended and ARK: Survival Evolved). Players on every map talk to each other, tribes keep their private chat across maps, and you get a panel with history, players, a map and bridges to Discord and Telegram.

You do not run a shared database or merge configs. One small plugin goes on each map with a key and an address, the map connects to us on its own, and you approve it in the panel.

Quick start

  1. Sign in at the panel. There is no password: type your email, a one-time code arrives, enter it.
  2. Create a project and a cluster. A project is your team: the people who manage your servers. A cluster is a group of maps that share one chat. One project can hold several clusters.
  3. Issue a key on the Keys page. The key is shown once, copy it. One key is enough for all your machines and maps.
  4. Download the plugin on the Plugin page, for ASA or ASE. Unpack it into the ArkApi plugins folder of the map and put the key and the panel address into config.json. The Keys page gives you a ready config.json to copy.
  5. Start the map. It shows up on the Servers page as “awaiting approval”. Approve it and pick the cluster it belongs to.
  6. Repeat for every map. Chat flows between maps that are approved, enabled, online and in the same cluster.
Approval is your protection: a map that connects with your key does nothing until you approve it. If you ever leak a key, revoke it on the Keys page and issue a new one.

The plugin

Requirements

Install

  1. Unpack the archive into ArkApi/Plugins: it already holds the SatayaLib folder, which lands next to the other plugins.
  2. Open ArkApi/Plugins/SatayaLib/config.json and fill in two fields:
{
  "key": "your project key from the Keys page",
  "url": "wss://satayalib.com/plugin/connect"
}
  1. Start the map. Nothing else is needed on the server side.

Good to know

Servers and clusters

Every map is a row on the Servers page. A row has three independent switches:

FieldMeaning
Status“awaiting approval” or “approved”. You change it once, when the map first appears.
EnabledYour switch. Turn a map off to take it out of the chat without deleting it.
OnlineWhether the plugin is connected right now. Set by us, not by you. A restart does not need a new approval.

Clusters

A cluster is one chat. Its settings live on the Clusters page: the command word for players (default st), the chat line template (what the prefix with the map and nickname looks like), the language of bot replies to players, the word filter and automatic tribe linking.

Chat

Tribes across maps

A tribe lives on one map. SatayaLib links tribes of different maps into one group, so tribe chat flows between maps. The tribe log is collected in the panel and delivered to its assigned log channel in Discord or Telegram; it is not relayed into game chat between maps.

In-game commands

Players type commands in the chat. The word st and the names of subcommands can be changed per cluster. Anything that starts with a slash never reaches the cross-server chat.

CommandWhat it does
/st helpLists the commands available to this player.
/st linkGives a tribe link code (tribe owner or admin).
/st link <code>Links the tribe on this map with the tribe that issued the code.
/st unlinkTakes the tribe out of the cross-map group.
/st color nick <colour>Nickname colour. Colours: red, orange, gold, yellow, lime, green, cyan, blue, purple, pink, white, gray.
/st color text <colour>Text colour, same palette.
/st color resetClears the colours.
/st bridgeGives a code to bind the tribe chat channel.
/st bridge logGives a code to bind the separate tribe log channel.

Colours are shown on the other maps and in the panel; messengers do not show colours. On the player’s own map the game draws the line as usual. Whether players may pick colours themselves depends on the plan and on the groups you set up.

Players, groups, mutes

Map

Discord and Telegram

Our bots: SatayaLib in Discord and@satayalib_bot in Telegram. A bridge connects one channel with one cluster chat, in both directions.

Cluster channel

  1. Bots page, “Create bridge”: pick the cluster, the messenger and what to send (chat, joins and leaves, map status, alerts).
  2. The panel shows a one-time code (valid one hour) and a button to invite the bot.
  3. Invite the bot to your server or group, open the channel and type/connect <code> (in Discord:/connect code:<code>). Only server or group admins can bind and unbind.

From then on messages from the channel go into the game with a[Discord] or [Telegram] tag, and game chat goes into the channel. Templates for both directions are editable on the bridge.

Tribe chat and log channels

A tribe owner or admin connects chat and the log independently, directly from the game. Each destination receives only its own tribe’s messages.

DestinationIn gameIn the messenger
Chat/st bridge/tribe <code>
Log/st bridge log/tribelog <code>

Message templates

On the Bots page, create or edit a bridge and open its outgoing message template. The same syntax works in Discord and Telegram.

PlaceholderValue
{map}Map label
{character}Character, or the nickname when there is no character
{nickname}Author’s nickname
{text}Message text
{platform}Platform name from the cluster’s existing settings
{tribe}Author’s tribe at the time of the message
{date}Date as YYYY-MM-DD, UTC by default
{time}Time as HH:mm:ss, UTC by default
[{date:Europe/Moscow} {time:Europe/Moscow}] {platform} **[{map}] {character} [{tribe}]**: {text}

Preview with all values (demo data):

[2026-10-17 16:30:49] Steam[Ragnarok] Alex [Northern Wolves]: On my way to The Island.

Preview without a platform or tribe:

[2026-10-17 16:30:49] [Ragnarok] Alex: On my way to The Island.

Live board

A live board is one message in Discord or Telegram with player counts and connection status for one cluster. The bot edits that message instead of posting a feed of updates.

  1. On the Bots page, choose “New bridge”, then “Bridge kind” → “board”. Select the cluster and messenger, then choose maps and their order. An empty selection means all active maps in their default order. Player names are hidden by default.
  2. The panel shows a one-time code. Invite the bot and type/board <code> in the chosen channel. Only server or group admins can bind a board.

Availability depends on your plan settings. Ask inDiscordfor details.

Map watch

If a map goes silent and does not come back within 15 minutes, you get told. A short restart does not trigger anything.

Map health

The Health page shows how each map actually runs: the game frame time from inside the server, players online, outages and alerts on one time axis. Nobody outside the process can see the frame time, so this is the place to settle “is it the server or the network”.

The page is part of the Pro plan.

Open API

Plans and limits

The plan lives on the account of the project owner and covers all their projects. It limits the number of projects, approved maps and days of chat history, and turns features on: colours, moderation, the map, offline collection, your own command word, the open API, your own bot. The Plan page shows what you have and what is on offer.

Switching plans is done by hand for now: write to us inDiscord. Early Access includes extended features, including a custom bot: 1 project, up to 25 maps and 30 days of chat history for three months. Ask separately about live board availability.

Troubleshooting

The map does not appear on the Servers page

Certificate error in the log

The plugin verifies the certificate of the panel through the Windows certificate store. Update the root certificates of the server, or put a CA bundle on the server and point ca_file inconfig.json at it.

Maps are online but chat does not flow

Both maps must be approved, enabled, online and in the same cluster. A map awaiting approval or turned off stays silent.

The bot does not answer /connect

Players do not see colours on their own map

By design: on the author’s map the game draws the line. Colours are visible on the other maps and in the panel. Messengers do not show colours at all.

Two machines with the same key

That is fine. Maps are told apart by port, map name and address, and each new one waits for approval.

Support

Questions, tickets and feature requests go to ourDiscord. Open a ticket in the support channel: it creates a private channel for you and the team. Never post keys, tokens or codes in public channels.