A Discord bot for controlling ARK servers via AMP
- Create a bot on the Discord developer portal
- Create a webhook on your own discord server by following this tutorial. Actually seems like this may not be needed now
- Create a
.envin the project root and fill in the values listed below. The first token is on the bot page accessed from the side of the Discord Developer Portal, and the webook information is found on the page when you navigate to the webhook url - Invite your dev bot to your server by following this url, replacing the client id with your bot's client id (found on it's general information page), and the permissions with the Permission Integer created in the Developer Portal as you select permissions for your bot,
- Once these steps are setup, simply run
python -m venv venv && source activate venv/bin/activate && pip install -r requirements.txtandpython bot.pyfrom the terminal in the root directory of the repo, - Test the bot is connected by running
/pingfor this bot. It should then respond with "Pong" to show you that it is online and connected.
Required:
DISCORD_TOKENSERVER_ID(Discord guild ID)ARK_CONTROL_CHANNEL_ID(channel allowed to run ARK commands)AMP_BASE_URL(e.g.https://amp.droo.app)AMP_USERNAMEAMP_PASSWORDARK_INSTANCE_NAME(AMP instance name, e.g.ark01)ARK_INSTANCE_ID(AMP instance GUID)
Optional:
ARK_SAVE_DELAY_SECONDS(default15)ARK_CONNECT_URL(optional connect URL shown in/status-ark, e.g.steam://connect/amp.droo.app:27015)AMP_DEBUG(settrueto include raw AMP responses in command output)ARK_SERVER_URL(optional; defaultark.amerrill.com:7777)
The AMP user must have:
Console - SendManage Instance
/start-ark/stop-ark/reboot-ark/update-ark/status-ark
This repo uses a Python bot container. Replace .env with your values, then:
docker compose up --buildThis project is open source and available under the MIT