2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00
2026-07-06 14:14:58 +02:00

Arma 3 Web Server

Web-based management panel for Arma 3 dedicated servers. Start, stop, configure, and monitor your server from a browser.

Features

  • Server control — Start, stop, restart, and view status
  • Live console — WebSocket terminal showing server stdout/stderr and RPT log tailing
  • Config management — Create, edit, duplicate, and delete .cfg configuration files with a Monaco editor
  • Modlist management — Create modlists with reorderable entries, enable/disable per mod, import from HTML (e.g. ArmA 3 Steam Workshop collections), check download status
  • SteamCMD integration — Update the server binary, download individual workshop mods, bulk download missing or outdated mods, all streamed live to the UI
  • Settings UI — Edit server parameters, IP:port, platform, Steam branch/user, CBA/AI/difficulty presets, and select active config/modlist
  • Log viewer — Browse and read server log files

Quick Start

Docker

docker compose up -d

The web UI is served on http://localhost:8080.

Manual

# Backend
cd backend
go build -o arma3-web-server ./cmd/server
./arma3-web-server

# Frontend (development)
cd frontend
npm install
npm run dev

Configuration

All paths are configurable via environment variables:

Variable Default Description
DATA_DIR data Server metadata (settings, modlist JSON files)
SERVERFILE_DIR serverfiles Arma 3 server installation
MODS_DIR serverfiles/mods Local mod symlinks/copies
CFG_DIR serverfiles/cfg Server configuration .cfg files
PROFILES_DIR serverfiles/profiles Arma 3 profile and log directory
FRONTEND_DIR ../frontend/dist Built frontend assets
LISTEN :8080 HTTP listen address

API

REST API at /api/* and WebSocket endpoints at /ws/*. Key routes:

Method Path Description
GET/PUT /api/server/settings Read/update server settings
POST /api/server/start|stop|restart Server lifecycle
GET /api/server/status Running state
GET/POST/PUT/DELETE /api/configs CRUD for .cfg files
GET/POST/PUT/DELETE /api/modlists CRUD for modlists
POST /api/modlists/import Import HTML workshop list
GET /api/modlists/:id/check Check mod download status
POST /api/modlists/:id/download-missing|update-all Bulk workshop operations
POST /api/server/steamcmd/update-game|download-mod SteamCMD operations
GET /api/server/logs List log files
GET /api/server/paths Show server file paths
WS /ws/server/logs|rpt|steamcmd/logs Live log streaming

Project Structure

backend/
  cmd/server/          Entry point
  internal/
    api/               HTTP handlers and routes
    models/            Data types
    services/          Business logic
frontend/
  src/
    api/               HTTP and WebSocket client
    components/        Shared UI components
    pages/             Route-level views
    types/             TypeScript interfaces

Development

# Backend
cd backend && go run ./cmd/server

# Frontend (hot reload)
cd frontend && npm run dev

# Lint
cd frontend && npm run lint

License

MIT

Description
No description provided
Readme 178 KiB
Languages
TypeScript 50.3%
Go 47.6%
Dockerfile 0.9%
Makefile 0.9%
HTML 0.3%