Set up Server â
The HERA server is provided as a Linux Dedicated Server Build. This runs completely headless - i.e., as a pure background process without a graphical interface.
System Requirements â
To run the server, access to a virtual machine (VM) running Linux is required. This can be either a server in the local university network (like at BCDH) or a cloud instance, such as an Amazon AWS EC2 instance.
BCDH Reference Configuration â
As a guideline, the following server configuration ran stably in test operation with 8 concurrent clients:
- Operating System: Ubuntu 22.04 LTS
- Processor Cores (vCPU): 2 Cores
- Memory (RAM): 8 GB
- Storage Space: 150 GB (SSD recommended)
Scaling Note: The absolute limitâi.e., the maximum number of concurrent clients before the server shows performance drops or crashesâis currently not yet finalized.
Network Configuration (Firewall) â
To allow clients to establish a connection to the server, corresponding rules must be defined in the server's firewall or in the Inbound Security Groups (e.g., in AWS). HERA uses the UDP protocol for the multiplayer data stream.
Set up the following Inbound Rule:
| Parameter | Value |
|---|---|
| Type | Custom UDP |
| Protocol | UDP |
| Port Range | 7777 |
| Source | Anywhere (0.0.0.0/0) |
Background: Why UDP and not TCP? â
- TCP (Transmission Control Protocol): Is a connection-oriented protocol. It establishes a fixed connection, checks every packet for completeness, and requests lost data again (handshake principle). This ensures safety but is far too slow for real-time multiplayer applications.
- UDP (User Datagram Protocol): Is connectionless and dispenses with this permanent handshake. Data packets are sent continuously and with minimal latency. If a packet is lost along the way (e.g., a position update), it is simply overwritten by the next packet. UDP is therefore mandatory for smooth synchronization.
Transferring the Linux Build to the Server â
What you need: Your Linux server, the HERA Linux build, and your SSH credentials. It is best to use SSH to connect to the server. This is a secure connection that allows you to execute commands on the Linux server.
Follow these steps to manually set up the server build:
- SSH Login: Log in to your Linux server via the terminal:bash
ssh username@IP-Address - Copy Data: Transfer the HERA Linux build zip folder into the home directory of the corresponding user:
/home/YourUsername/. - Unpack: Use the
unzipcommand to extract the archive:bashunzip LinuxServer.zip - Set Permissions: To make the executables runnable, the execution permissions for the directory must be set recursively (
-R):bashchmod +x -R LinuxServer/ - Start Test Server: Change to the folder and run the start script:bash
cd LinuxServer/ ./HERA_Server.sh
â ď¸ Important Note: If you start the server manually via the console, the application will automatically shut down after 2 hours. It is therefore highly recommended to set up the server as a permanently running system service immediately afterwards, as described in the following section: Setup HERA as a Service.
