Getting Started

Welcome to Exile Server Manager, also known as ESM! Please choose one of the following options that best fits you:


  • I am a Player

    If you haven't already, you will be required to register with ESM to link your Steam Account with your Discord Account. This process will require you to log into both Discord and Steam. You can do this by going to this link: Register

    Once you have registered, you can either join a Discord with ESM already invited to it, or you can invite ESM to your own Discord.

  • I am a Server Owner

    If you haven't installed @ESM already, please complete the following steps:

    1. Invite ESM Bot to your Discord server by clicking this link
    2. Note: To give Server Owners more power and peace of mind, ESM does not ship with Administrator permissions on Discord.
      Make sure to give ESM proper access to channels or it will not be able to function correctly
    3. Read the Welcome Message sent to you on Discord from the Bot.
    4. Disable Player Mode by replying with /community admin change_mode for:<community> (replacing <community> with the community ID given to you).
    5. Register with ESM by either using the /register command, or by going to this link: Register
    6. Install @ESM mod
      1. Download the latest version from here
      2. Extract @ESM and copy the directory into the root of your Arma 3 Exile server. This directory is the same directory @Exile and @ExileServer is located in
      3. Modify your startup arguments and add @ESM to servermod startup parameter
    7. Modify your database
      1. Locate and open the esm.sql file located in @ESM
      2. Execute the provided SQL on your MySQL server
      3. Confirm the territory table has two new fields: esm_custom_id and esm_payment_counter
    8. Log into our server dashboard
    9. Select your Discord server from the dropdown
      • Take a moment to explore each of the panels. From this dashboard, you can modify your community, set command permissions, customize notifications, and manage your servers
    10. Add a server to your community and input the required information
      • You will be given a esm.key file to download. Place this key inside @ESM mod on your server
      • After you register your server, players will be able to access it via it's server ID. The server ID is a combination of your community id and the server name you chose.
    11. Start your Arma 3 Exile server
    12. Direct message ESM Bot /community servers for:<community> to confirm your server is linked

    After you've installed @ESM, you are ready to go!
    We highly suggest going through the commands to learn a few commands to help out your players.
    If you have any questions or need assistance with ESM, feel free to join our Discord and ask in a Support Channel!


Features

Commands

My core functionality revolves around the use of my wonderful slash commands in Discord. You can find a list of all of them by clicking the COMMANDS option in the navbar or by using /help in a channel with me in Discord.
It's important to note, not all commands can be used everywhere. *Communities can control where commands are used, who can use them, and even if the command can be used. To make it easier, I break my commands into two types, player and admin commands. Below is a table showing where each type can be used.

Command Type Allowed in Community text channel? Allowed in direct message with ESM?
Player Yes* Yes
Admin Yes* No

If a command cannot be used in the current channel, I will reply back with a message directing you to the correct location. When in doubt, try to send the command in a direct message with me first.

Player Mode

If you play on a server and just invited me to your Discord, I am already in player mode
Player mode enables the ability for players to use my player commands in their personal Discord without limitation. This also enables the ability to utilize Discord mentions for commands that require a target, bypassing the need to remember your friend's Steam UIDs.

XM8 Notifications

As part of my server mod, I will re-route your Exile XM8 notifications to Discord so you will always have access to offline notifications. By default, you are automatically opted into receiving these notifications via direct message. In order to receive notifications, you must be in at least one Discord Server with ESM. You can opt out of these notifications by using the /my preferences command.
You may also tell me to route these notifications to player mode enabled Discord servers. See the XM8 Notification Routing documentation for players or server admins for more information.

New Aliases and defaults for Communities and Servers

As of November 19 2023, you can create aliases and set defaults for communities and servers via the player dashboard. Setting a default community or server means you can omit providing the ID for them in the commands.
If you play on multiple servers, aliases may suit you better. Aliases still require you to provide something to the command but they should ideally be faster/easier to type.


Command Arguments

Certain commands utilize arguments to change how the command works. These arguments are included when using the command and change based on which command is being executed.
Below are the most common arguments used, however, if you need more information on a particular command, please utilize the /help command. For example, /help with:/server reward

Community IDs

Appears as for and community_id

Every Discord community is given a community ID. This ID is unique to that community and is used with a lot of commands. You can view a Discord community's ID by using /community id in one of their text channels.

When executing a command that requires a community_id in a Discord text channel (not a Direct Message), by omitting the community_id, ESM will automatically assume you are wanting to execute that command for the community you are currently in, and it will autofill that Community ID for you.
For example, if you are in a text channel of a Discord server with the community ID of esm. If you type /community servers and hit enter, ESM will assume you are referencing the community esm and it will run that command for that community.
Note: This is only available in the text channels of a Discord server and works for every command that requires community_id. Also, ESM will only autofill the Community ID if one is not provided with the command. If you provide a Community ID to a command, ESM will not attempt to autofill.

Server IDs

Appears as for, on, and server_id

Each server registered with ESM is provided a unique server ID. This ID is a combination of the community ID and a name chosen by the community owners. For example, esm_malden
To view all servers linked with a community, use /community servers command.

Similar to Community IDs, when executing a command that requires a server_id in a Discord text channel (not a Direct Message), you may omit the Community ID part of a Server ID and ESM will automatically assume you are referencing a server that belongs to the community you are currently in.
To clarify, if you are in a text channel of a Discord server with the Community ID of esm, and they host a server with the ID of esm_malden, you may use malden as the server_id, instead of esm_malden. For example, /server gamble on:malden will be interpreted as /server gamble on:esm_malden.
Note: This is only available in the text channels of a Discord server and works for every command that requires server_id. Also, ESM will only expand the Server ID if the Community ID prefix is missing. If you provide a full Server ID to a command, ESM will not attempt to expand it.

Territory IDs

Appears as territory, from, in, to, and territory_id

Some commands will require you to provide a Territory ID. This ID can be found by using the /server my territories command. The territory ID will be on the top line next to the territory name.
Don't like the ID? You can change it by using the /territory set_id command.

Target

Appears as whom, target, for, and target

A target is the user you want to run the command on. A target can be any of the following:

Steam UID
The unique ID linked to a Steam account. This is the only target that can be used without a user being registered.
Discord Tag
Discord's @mention functionality. This will only work if the user that is mentioned is registered with ESM
Discord ID
The unique ID given to a user in Discord. This will only work if the user that the ID belongs to is registered with ESM


One more thing...

ESM is, and will remain, completely free to use and free to enjoy. There aren't even ads to annoy you!
With that being said, ESM does have server costs. If you are feeling generous and would like to support ESM, you can donate here: https://www.paypal.me/esmbot. All money goes into keeping the project alive.