Skip to content

aranamanj/arma3-server-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Arma 3 Dedicated Server — Private Deployment

Platform: Ubuntu Server 24.04.3 LTS (headless)
Hardware: Repurposed personal desktop (Intel Core i7-7700, 16 GB RAM)
Access model: SSH remote administration
Networking: ZeroTier VLAN (CGNAT bypass)
Scope: Private multiplayer server for a small group of known players


Overview

This repository documents the configuration and operational setup of a private Arma 3 dedicated server deployed on repurposed consumer hardware running Ubuntu Server. The server is administered entirely via SSH and runs without a graphical interface.

The project was completed as a solutioin to a personal problem with hosting games on ARMA3.


Purpose and Motivation

The primary motivations for this deployment were:

  • Hardware repurposing: The host machine — a 7th-generation Intel desktop system released in 2017 — is no longer suitable for modern gaming or content creation workloads. Repurposing it as a dedicated server extends its operational life and reduces electronic waste.
  • Practical Linux administration: The project required working knowledge of Ubuntu Server, SSH, UFW, Netplan, SteamCMD, and shell scripting in a real deployment context.
  • Private server hosting: Running a dedicated server gives full control over mods, mission files, player access, and server parameters without relying on third-party hosting services.

System Description

Component Detail
OS Ubuntu Server 24.04.3 LTS (Noble Numbat)
Kernel Linux 6.8.0-87-generic
CPU Intel Core i7-7700 @ 4.2 GHz (4C/8T)
RAM 16 GB DDR4 @ 2400 MHz
Primary storage 256 GB M.2 SATA SSD
Secondary storage 1 TB HDD (7200 RPM)
Network access ZeroTier virtual LAN (CGNAT environment)
Remote admin OpenSSH Server v9.6p1
Game server Arma 3 Dedicated Server via SteamCMD (AppID 233780)

The server runs headless. All administration is performed over SSH from a remote Windows workstation. File transfers are handled via WinSCP (SFTP).

neofetch output showing system specs inside powershell


Technologies Used

Tool / Service Role
Ubuntu Server 24.04.3 LTS Host operating system
OpenSSH Remote shell access
Netplan Static IP configuration
UFW (Uncomplicated Firewall) Packet filtering
SteamCMD Game server installation and updates
ZeroTier One Virtual LAN / CGNAT bypass
WinSCP File transfer (SFTP from Windows)
Bash Startup script

Repository Structure

/
├── README.md
├── docs/
│   ├── ubuntu-server-setup.md
│   ├── ssh-administration.md
│   ├── arma3-server-configuration.md
│   ├── networking-zerotier-cgnat.md
│   ├── firewall-configuration.md
│   └── operational-notes.md
└── scripts/
    └── startserver.sh

Scope and Limitations

  • The server is accessible only to devices authorized on the ZeroTier network. It is not publicly listed or reachable from the open internet.
  • Player capacity is limited to 25 devices under the ZeroTier free tier.
  • The server is started and stopped manually. There is no automatic startup on boot or crash recovery configured in this deployment.
  • Mods and mission files are managed manually via WinSCP and SteamCMD.
  • This configuration is tested and operational for sessions with 3–5 simultaneous players.

What Was Intentionally Not Implemented

The following were considered but not included in this deployment:

  • Systemd service unit — server is started manually via shell script
  • Automated backups — not implemented; configuration files are maintained manually
  • Monitoring or alerting — no Prometheus, Grafana, or equivalent
  • Containerization — server runs directly on the host, not in Docker or similar
  • CI/CD pipelines — no automated deployment workflow
  • Web-based administration panel — SSH is the only management interface
  • BattlEye anti-cheat — disabled; this is a private server with known players
  • Database integration — no player statistics or persistent logging infrastructure
  • IPv6 as primary connectivity — ZeroTier handles all external access

Notes on Scripts

The startup script (scripts/startserver.sh) reflects the final working configuration used to operate the server. Sensitive values such as file paths, credentials, server names, and mod identifiers have been replaced with placeholders for security and privacy reasons.

The script is maintained and understood by the author and represents practical operational usage rather than a generic example.

About

Documentation and configuration of a private Arma 3 dedicated server on Linux Ubuntu Server.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages