A clean, powerful, map-centered server manager for running ARK: Survival Ascended dedicated servers on Linux via GE-Proton.
- Flicker-Free Live Dashboard — System info + map table refresh every 2s without screen clear
- Input Preservation — Typed characters are never lost during live refresh; take your time
- Server IP Display — Always see your server's IP address in the system info bar
- Per-Map Status — Status, health, players, uptime, RAM, CPU, JOIN, AUTO columns
- JOIN Check — Real external network reachability test (ports + firewall + TCP connect)
- AUTO Column — Shows systemd auto-start status per map
- One-Command Install — Run the script, select Install, done (SteamCMD + GE-Proton + ARK)
- Per-Map Management — Start, stop, restart any map independently
- Groep (Batch) — Toggle maps in/out of batch start/stop groups
- Auto-Start — Toggle systemd auto-start per map (survives reboots)
- RCON Console — Built-in interactive RCON client per map
- Broadcast — Send messages to all running maps at once
- Mod Management — Add, remove, toggle, rename mods with Steam Workshop name auto-fetch
- Server Settings — Tune XP, taming, harvesting, and 10+ other settings from a menu
- Graphics Presets — Low / Medium / High / Auto quality presets per map
- Per-Map Config — Each map has its own ports, passwords, mods, and settings
- Backup & Restore — Full world backup/restore with timestamped archives
- Scheduled Restarts — Daily restarts with 30m/10m/3m player warnings
- Healthcheck — Cron-based crash detection and auto-recovery
- Log Viewer — Tail live logs, view history, filter errors per map
- Logrotate — Automatic log rotation to prevent disk filling
- Delete Protection — Double confirmation required to delete a map
# 1. Clone the repo
git clone https://github.com/lewisQ17/ARK-Server.git
cd ARK-Server
# 2. Make executable and run
chmod +x ark-manager.sh
./ark-manager.sh
# 3. Select "Install / Update Server" from the menu
# This installs SteamCMD, GE-Proton, and the ARK dedicated server.
# 4. Select "Add Map" to create your first map (e.g. Extinction, TheIsland)
# Set your admin password when prompted.
# 5. Start your map from the dashboard!./ark-manager.sh # Interactive dashboard (live refresh)
./ark-manager.sh install # Install/update server
./ark-manager.sh start <map> # Start a specific map
./ark-manager.sh stop <map> # Stop a specific map
./ark-manager.sh restart <map> # Restart a specific map
./ark-manager.sh start-all # Start all groep maps
./ark-manager.sh stop-all # Stop all groep maps
./ark-manager.sh status # Show all map statuses (CLI)
./ark-manager.sh rcon <map> "cmd" # Send RCON command
./ark-manager.sh backup <map> # Backup map world
./ark-manager.sh broadcast "message" # Message all running maps
./ark-manager.sh help # Show help| Preset | Quality | Resolution | FPS Limit | Effects | Best For |
|---|---|---|---|---|---|
| Low | 0 | 640×480 | 30 | All off | Max performance, low RAM |
| Medium | 2 | 1280×720 | 60 | Basic | Balanced |
| High | 3 | 1920×1080 | Unlimited | All on | Best quality (default) |
| Auto | 3 | 1920×1080 | Unlimited | All on + adapt | High + dynamic res |
Note: With
-NullRHI(headless mode, default), the server does not render graphics. These define the quality config sent to clients. To enable server rendering, setUseNullRHI=falseinconfig/optimization.conf.
| Map Name | Internal Name |
|---|---|
| The Island | TheIsland_WP |
| Scorched Earth | ScorchedEarth_WP |
| Aberration | Aberration_WP |
| Extinction | Extinction_WP |
| The Center | TheCenter_WP |
| Ragnarok | Ragnarok_WP |
| Valguero | Valguero_WP |
| Crystal Isles | CrystalIsles_WP |
| Lost Island | LostIsland_WP |
| Fjordur | Fjordur_WP |
| Genesis Part 1 | Genesis_WP |
| Genesis Part 2 | Gen2_WP |
ark-manager.sh # Main management script (run this!)
rcon.py # RCON client (Python 3)
healthcheck.sh # Auto-restart crashed maps (cron, auto-generated)
config/
maps.conf # Map registry (auto-managed)
server-defaults.conf # Default server settings
optimization.conf # Performance tuning
templates/
map.conf.example # Template for map configuration
maps/
<MapName>/
map.conf # Per-map settings (gitignored — passwords)
mods.conf # Per-map mod list (gitignored)
Game.ini # Game rules (gitignored)
GameUserSettings.ini # Graphics & gameplay settings (gitignored)
server.log # Server output log
backups/ # World save backups
- OS: Ubuntu 22.04+ / Debian 12+
- RAM: 16 GB minimum (per running map)
- Disk: 25 GB free minimum
- CPU: Must support AVX/AVX2 (set CPU type to
hostin Proxmox) - Network: Internet for Steam downloads, open ports for players
- Set CPU type to host (required for AVX/AVX2)
- Allocate 16 GB RAM minimum per map
- Use virtio disk and network drivers
- The script auto-tunes kernel parameters (
sysctl) on install
- Flicker-free live dashboard (cursor positioning, no screen clear)
- Input preservation — typed characters survive refreshes
- Server IP shown in system info bar
- Fast CPU reading via
/proc/statdelta (replaces slowtop -bn1) - Delete map requires double confirmation
- Invalid choice feedback (shows what you typed)
- Pending input indicator with clear option (
cto wis) - Cleanup trap restores terminal on exit (Ctrl+C safe)
mods.confadded to.gitignoreBatchEnabledadded to template
- 2s auto-refresh dashboard
- JOIN column (external network reachability check)
- AUTO column (systemd auto-start status)
- Groep (batch) toggle for start/stop all
- Player count caching (30s), JOIN caching (15s)
- Multi-byte
pad()fix for table alignment
- CPU & RAM per map (cgroup + process tree)
- Mod management with Steam Workshop name fetch
- Batch start/stop all maps
- Graphics presets (Low/Medium/High/Auto)
- Map-centered architecture
- SteamCMD + GE-Proton installer
- Per-map start/stop/restart
- RCON console
- Backup & restore
- Systemd integration
- Healthcheck & logrotate
MIT — Use freely, contribute back if you can.