Note: This is the source code repository for ESM's Arma 3 mod. If you're looking to install ESM for your Exile server, please visit esmbot.com/getting_started.
This repository contains the Rust extension and Arma 3 server mod that enables communication between Exile servers and Discord. The Rust extension acts as a bridge, handling database operations and TCP communication with ESM Bot, while the server mod provides the in-game functionality through SQF.
- Rust Extension: Handles TCP communication, database operations, and request routing
- Arma 3 Mod: Provides SQF functions for in-game operations and Exile integration
- Build System: Cross-platform tooling for development and deployment
- Rust (stable)
- Docker & Docker Compose
- Git
For Windows development, you'll also need to install these Rust targets:
rustup install stable-x86_64-pc-windows-gnu
rustup install stable-i686-pc-windows-gnu
# Install nix and direnv
# Enable flakes in your nix config
direnv allow
# Clone the repository
git clone [repository-url]
cd esm_arma
# Start required services
docker compose up -d
# Start development environment
bin/dev
bin/build # Build everything
bin/dev # Start development environment
src/
├── build/ # Build system
├── @esm/ # Arma 3 Server mod (SQF/config)
└── esm/ # Rust extension
ESM is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.