Skip to content
Oznogon edited this page Jun 23, 2026 · 1 revision

The discordBot/ directory contains an external Python bot that controls an EmptyEpsilon server via Discord commands. It is separate from the in-game Discord Rich Presence integration.

Requirements

Setup

  1. Copy config.py.template to config.py in the discordBot/ directory.

  2. Edit config.py and set the following values:

    • token: Your Discord bot's token from the Discord Developer Portal.
    • admin_name: The full Discord username of the server admin, including the tag (e.g., user#1234).
    • role: The role name that authorizes users to issue commands (default: GameServerAdmin). Only users with this role on servers the admin belongs to can control the bot.
    • server_password: (Optional) The game server password for headless mode.

Running

python3 main.py

Commands

All commands use the !ee prefix.

Command Action
!ee start Start a headless server with the Basic scenario (scenario_00_basic.lua), paused. Requires the HTTP API on port 8080.
!ee stop Stop the running server gracefully (shutdownGame()).
!ee pause Pause the game (pauseGame()).
!ee unpause Unpause the game (unpauseGame()).
!ee help List available commands.

The bot starts the server in the parent directory (..) via:

./EmptyEpsilon httpserver=8080 headless=scenario_00_basic.lua headless_internet=1 startpaused=1

Note: The bot sends Lua commands to the game through the HTTP API at http://127.0.0.1:8080/exec.lua, so the HTTP server must be enabled for the bot to function.

Clone this wiki locally