Community GuidesCustomization

Building Wings

Compile Wings from its source code.

Introduction

Wings is written in Go, so you can change its source and compile your own binary. This guide covers building only; changing the code requires knowing Go.

Build and test your binary on a development machine before using it on a node that runs servers for other people.

Requirements

You need Git, and Go at the version shown on the go line of Wings' go.mod file, or newer. Follow Go's installation instructions.

Wings runs only on Linux, so building on Linux is the simplest way to get a working binary.

Building

Clone the source and build Wings:

git clone https://github.com/pterodactyl/wings.git
cd wings
go build -o wings wings.go

This creates a wings binary in the current directory, built for the current machine. To build for a node with a different CPU, set GOARCH, for example GOOS=linux GOARCH=arm64 go build -o wings wings.go.

Installing Your Binary

Back up the current binary, then install yours:

systemctl stop wings
mv /usr/local/bin/wings /usr/local/bin/wings-backup
cp ./wings /usr/local/bin/wings
chmod u+x /usr/local/bin/wings
systemctl start wings

If Wings does not start, stop the service and run it in the foreground to see its errors:

systemctl stop wings
wings --debug

To roll back, move wings-backup back to /usr/local/bin/wings and start the service again.

Edit on GitHub

Last updated on

On this page