Files

131 lines
3.9 KiB
Markdown

# ARK: Survival Ascended Server
ARK: Survival Ascended dedicated server container for ZimaOS.
## Overview
This app provides a dedicated server for ARK: Survival Ascended, allowing you to host your own game server with automatic updates and remote administration capabilities.
## Features
- **Automatic Updates**: Server files are automatically updated on startup
- **Cluster Support**: Configure multiple servers to work together
- **Remote Administration**: RCON access for server management
- **Customizable**: Adjust game parameters, player limits, and maps
- **Secure by Default**: Runs with minimal privileges and capabilities
## Configuration
### Ports
- **7777/udp**: Game port for player connections
- **27020/tcp**: RCON port for remote server administration
### Volumes
All volumes are mounted under `/DATA/AppData/ark-suac/`:
- `steam`: Steam runtime files
- `steamcmd`: SteamCMD installation
- `server-files`: ARK server files and save data
- `cluster-shared`: Shared data for cluster setups
### Environment Variables
- `TZ`: Timezone (default: Europe/Stockholm)
- `ASA_START_PARAMS`: Server start parameters and map configuration
- `ENABLE_DEBUG`: Set to "1" to enable debug mode (prevents server startup)
## Security
### Baseline Security
- Runs as non-root user `gameserver`
- All capabilities dropped (`cap_drop: ALL`)
- `no-new-privileges` security option enabled
- No privileged mode required
- No Docker socket access
### Permission Bootstrap
The compose includes a one-shot helper service `set-permissions` that runs as `root`
before the game server starts. It only performs `chown` on app-specific bind mounts so
the main `ark-asa-server` service can run as non-root `gameserver`.
### Data Persistence
All game data, including server files, save games, and configuration, is persisted in the bound volumes. The container will automatically download and update server files on startup.
## Usage
### First Start
1. Install the app through ZimaOS App Store
2. Configure desired map and settings via `ASA_START_PARAMS`
3. Start the container - first startup will download ~11GB of server files
4. Connect to your server via the ARK game client
### Map Configuration
Change the map by modifying `ASA_START_PARAMS`. Example maps:
- `TheIsland_WP` (default)
- `ScorchedEarth_WP`
- `Ragnarok_WP`
- `Valguero_WP`
### Cluster Setup
For multi-server clusters:
1. Use the same `clusterid` parameter for all servers
2. Share the `cluster-shared` volume between containers
3. Configure different ports for each server instance
### Remote Administration
Connect to RCON on port 27020 using tools like:
- [ARK Server API](https://ark-server-api.com/)
- [Battlemetrics RCON](https://www.battlemetrics.com/rcon)
- Command line: `nc hostname 27020`
## Performance Requirements
- **RAM**: ~13GB per server instance
- **Disk**: ~11GB for server files + space for save games
- **CPU**: Modern multi-core processor recommended
## Updates
Server files are automatically updated on container startup. To update the container image itself, pull the new version through ZimaOS.
## Troubleshooting
### Server Not Visible
- Verify port 7777/udp is properly forwarded
- Check firewall settings
- Ensure `ASA_START_PARAMS` includes `?listen` parameter
### Connection Timeouts
- Verify your network configuration
- Check that UDP traffic is not being blocked
- Ensure the server has completed initialization (can take several minutes)
### Debug Mode
Set `ENABLE_DEBUG=1` to prevent server startup and investigate container issues.
## References
- [Upstream Repository](https://github.com/mschnitzer/asa-linux-server)
- [ARK Official Website](https://survivetheark.com/)
- [SteamCMD Documentation](https://developer.valvesoftware.com/wiki/SteamCMD)
## Support
For issues specific to this ZimaOS integration, please contact the Zima Apps Team.
For game server issues, refer to the upstream repository or ARK official support.