Exile Server Manager (Bot v1)
February 2018
Archived January 2021
JavaScript
RethinkDB

ESM Bot v1 represented a pivotal shift in my approach to Exile server management - moving from web interfaces to Discord as the primary platform. This wasn't just a port of existing functionality; it was a complete re-imagining of how players could interact with their Arma 3 servers.

Key features included:

  • XM8 notifications delivered directly to Discord, replacing Exile's limited mobile app
  • Command-based territory management for payments, upgrades, and member control
  • Server economy features including gambling and poptab transfers
  • Player statistics and server information on demand
  • Administrator tools for server management and player assistance
  • Customizable notifications with templating support

Technically, this implementation showcased several advanced concepts:

  • Event-driven architecture built on discord.js
  • RethinkDB for realtime data storage and query capabilities
  • Sophisticated command parsing and parameter validation
  • Configurable cooldown systems to prevent command abuse
  • Dynamic template rendering for custom notifications
  • WebSocket communication with the C# server extension

The decision to use Discord as the primary interface dramatically improved accessibility and adoption. Players were already using Discord for community communication, so integrating server management directly into that platform eliminated the need to switch between multiple apps.

While later replaced by the Ruby-based ESM Bot v2, this JavaScript implementation established many of the core patterns and features that would define the ESM user experience, proving the viability of Discord as a command and control platform for Arma 3 servers.

Source Code