Infrastructure Documentation
This document describes the infrastructure supporting the self-hosted Pterodactyl deployment, including the panel installation, Wings nodes, host systems, storage layout, and operational considerations.
This document describes the current infrastructure state and should be updated when nodes are added, removed, migrated, or significantly reconfigured.
Document Scope
This document covers:
- Pterodactyl panel deployment.
- Wings node infrastructure.
- Host hardware.
- Storage configuration.
- Network-related infrastructure.
- General operational considerations.
This document does not cover:
- Individual game server configuration.
- JVM startup arguments.
- Minecraft server settings.
- Modpack configuration.
- Individual server allocations.
Those topics are documented separately.
Pterodactyl Deployment
Panel
The Pterodactyl panel is self-hosted.
The panel provides management for the currently deployed Wings nodes and servers.
The Pterodactyl panel is currently hosted on the physical system that provides the wings00 Wings node. The panel remains available at pterodactyl.gorgarath.net.
Wings Nodes
The deployment currently consists of:
| Component | Count |
|---|---|
| Wings Nodes | 3 |
This includes the wings00 node, whose physical host also runs the Pterodactyl panel.
Individual node configurations are documented separately.
Node Inventory
wings00
Pterodactyl Node Name:
wings00
Linux Hostname:
testserver2
Internal FQDN:
testserver2.pcms.gorgarath.net
Public Wings FQDN:
wings00.gorgarath.net
Panel FQDN:
pterodactyl.gorgarath.net
Role:
Pterodactyl panel host
Wings node host
This node currently runs:
- The Pterodactyl panel.
- A Wings node.
- Minecraft servers.
The Pterodactyl node identifier is wings00. The co-located panel retains the pterodactyl.gorgarath.net hostname, while the underlying Linux host remains testserver2.
The production placement of Minecraft servers may change depending on performance testing and resource requirements.
Other Node Documentation
Individual node configurations are maintained in separate node documentation files.
Recommended naming convention:
nodes/
└── <node-name>.md
Current node documentation:
nodes/
├── wings00.md
├── wings01.md
└── wings02.md
Software Versions
Current deployment versions:
| Component | Version |
|---|---|
| Pterodactyl Panel | 1.15.1 |
| Wings | 1.13.3 |
The Pterodactyl panel currently reports version 1.15.1 as up to date. All deployed Wings nodes are currently running version 1.13.3, the latest available Wings release in the current deployment.
Panel upgrades should generally be tested before upgrading Wings nodes, especially when introducing major version changes.
Host Operating Systems
All deployed nodes are currently standardized on Debian 13.
Node-specific operating system details are documented in the individual node configuration files.
New nodes should use Debian 13 unless hardware requirements, compatibility, or operational needs require a different operating system.
Storage Infrastructure
Backup Storage
Backups are stored outside of container storage.
Current backup location:
/mnt/backups/wings/
Pterodactyl backup limits are configured per server.
Backups should be considered separate from server data and should not be stored inside container directories when avoidable.
Minecraft World Backup Storage
Some Minecraft servers use external mounts for application-specific backups.
Example:
Host:
/mnt/backups/minecraft-world-backups/<server-name>
Container:
/home/container/simplebackups/
Purpose:
- Allows SimpleBackups data to exist outside the container.
- Prevents Pterodactyl backups from recursively including SimpleBackups archives.
- Reduces unnecessary backup duplication.
- Allows multiple game servers to maintain separate backup locations under a shared backup storage directory.
The Wings mount configuration exposes /mnt/backups/ as an allowed mount location rather than defining each server-specific backup directory individually. This allows additional servers or non-Minecraft applications to use dedicated subdirectories without requiring changes to the Wings configuration.
Each server should use a dedicated subdirectory to prevent backup data from different servers being mixed.
Network Infrastructure
Public Access
Servers are accessed through externally managed hostnames.
Current configuration uses:
- DNS records.
- SRV records for Minecraft connections.
- DDNS for maintaining hostname availability.
No reverse proxy is currently used.
Game Traffic
Minecraft servers may use additional UDP services.
Example:
Simple Voice Chat:
UDP
Required ports should be documented per server environment.
Server Placement Strategy
Servers may be moved between Wings nodes as required.
Reasons for migration may include:
- Resource balancing.
- Hardware changes.
- Performance testing.
- Maintenance.
When moving servers between nodes, verify:
- Storage availability.
- Memory allocation.
- CPU availability.
- Network accessibility.
- Mount availability.
- Backup configuration.
Resource Management
Resource allocations are managed through Pterodactyl.
Important considerations:
- Allocated server memory should not consume all host memory.
- CPU limits should account for host topology and other running services.
- Storage allocations should include room for logs, backups, and temporary files.
- Nodes should maintain sufficient operating system resources.
Documentation Structure
The documentation follows a centralized repository structure separating infrastructure, nodes, and server-specific documentation.
Current structure:
docs/
├── README.md
├── infrastructure.md
├── nodes/
│ └── <node-name>.md
└── servers/
└── <server-name>/
├── server-environment.md
├── server-configuration.md
├── server-startup.md
├── chunky-pregeneration-guide.md
└── disabled-mods.md
See README.md for the documentation index.
The purpose of separating server, node, and infrastructure documentation is to prevent duplication and ensure that hardware, hosting, and application-specific settings have a single authoritative location.
Documentation Responsibilities
README.md
Documents:
- Documentation index.
- Directory structure.
- Documentation conventions.
- Repository organization.
infrastructure.md
Documents:
- Overall Pterodactyl deployment.
- Panel version.
- Wings versions.
- Node inventory.
- Network overview.
- Storage overview.
server-configuration.md
Documents:
- Intentional server and game-related configuration changes.
- Non-default configuration values.
- Reasons for configuration changes.
- Configuration decisions that affect gameplay, stability, or performance.
server-environment.md
Documents:
- A specific server instance.
- Pterodactyl egg and container image.
- Resource allocations.
- Storage mounts.
- Ports.
- Server-specific environment settings.
server-startup.md
Documents:
- JVM arguments.
- Startup command.
- Java runtime.
- Runtime-specific performance tuning.
disabled-mods.md
Documents:
- Mods intentionally removed or disabled.
- Reasons for disabling.
- Compatibility notes.
chunky-pregeneration-guide.md
Documents:
- Chunky pregeneration configuration.
- Recommended generation settings.
- World preparation procedures.
- Operational guidance.
Node Documentation (nodes/*.md)
Documents:
- Node hardware.
- Operating system.
- Available resources.
- CPU topology.
- Storage layout.
- Network configuration.
- Current hosted services.
Templates (templates/)
Documents:
- Standard formats for creating new documentation files.
- Required sections and documentation conventions.
Maintenance Notes
When making infrastructure changes:
- Update documentation after completing changes.
- Record version changes.
- Document migrations between nodes.
- Verify backups before major changes.
- Test changes before applying them to production servers.
Related Documentation
The following documents provide additional information about the infrastructure and hosted systems.
| Document | Purpose |
|---|---|
README.md |
Documentation index, repository conventions, and documentation structure |
nodes/wings00.md |
Hardware and configuration details for the wings00 Wings node and Pterodactyl panel host |
nodes/wings01.md |
Hardware and configuration details for the wings01 Wings node |
nodes/wings02.md |
Hardware and configuration details for the wings02 Wings node |
servers/mustard.gorgarath.net/server-environment.md |
Current deployment environment for the Mustard testing server |
Change History
2026-09-19
-
Standardized document structure and Markdown style to match repository conventions.
-
Updated the node inventory and documentation paths for the standardized
wings00,wings01, andwings02naming scheme. Clarified thatwings00is the Pterodactyl node identifier while the co-located panel remainspterodactyl.gorgarath.netand the Linux hostname remainstestserver2. Updated the documented deployment versions to Pterodactyl Panel 1.15.1 and Wings 1.13.3.
2026-08-03
- Expanded the Documentation Responsibilities section to include additional document types.
- Updated the documented repository structure to reflect the current organization.
- Improved documentation consistency by reducing duplication, correcting references, and clarifying document responsibilities.
2026-08-02
-
Reorganized infrastructure documentation to match the centralized repository structure.
-
Clarified the separation between infrastructure, node, and server documentation responsibilities. Updated node inventory documentation, standardized operating system documentation, and improved documentation structure consistency.
2026-07-26
-
Initial infrastructure documentation created.
-
Documents the current self-hosted Pterodactyl deployment structure, including panel version, Wings nodes, storage strategy, and documentation organization.