Skip to content

Lessons

The following go over "lessons" that the system operators have learned over the course of maintaining EDC's infrastructure.

Updating Caddy

Warning

In short: do not update Caddy without Sushiloid's involvement.

Caddy is the reverse proxy service used for EDC web-related services, such as this very website. Cloudflare is the domain hosting provider for edcgaming.org. In order for the 2 services to work nice together a specific Caddy binary is installed manually by Sushiloid.

If Caddy is updated via traditional tooling (e.g apt update), this binary may be overwritten, breaking all web-related services.

If such an event happens, a ping to Sushiloid is required.

CLI binary versions

If multiple major versions of a binary are installed on a machine the command line will pick one of them to use for commands. This can be changed and is machine wide.

This was discovered when Sirdog attempted to run a backup script for MediaWiki (when EDC had an instance of it) and it failed because the version on the CLI (8.5) did not match the version used by MediaWiki (8.3).

This was changed by executing the following command:

sudo update-alternatives --config php

Pterodactyl

Port 8080

The service used by Pterodactyl to render the web-based UI uses network port 8080. If port 8080 is restricted, which is common on corporate machines as they tend to block all non-standard ports by default, the UI will report that nodes and servers are not functioning.

STEAM servers & IPv6

Pterodactyl cannot parse IPv6 traffic for STEAM servers running on it. Otherwise, such servers simply fail to start. As a result, system operators have opted to disable IPv6 on the entire machine.

The command to do this temporarily is:

sysctl -w net.ipv6.conf.all.disable_ipv6=1

The persistent disabling of IPv6 is set at /etc/sysctl.conf.

Wings

Pterodactyl uses a service called "wings", its control-plane. The web-based panel relies on Wings functioning in order to do anything. If it is down, the web-based UI will report that all servers are down.

To restart Wings, execute the following command:

systemctl restart wings

Server CRON jobs

Server operators are able to "schedule" certain things to happen at certain times. These are just CRON jobs. Sometimes, however, the jobs will not execute on the schedule. In such a situation, it is possible the Pterodactyl worker queue got into some sort of stalled state.

It can be restarted by executing the following command:

systemctl restart pteroq