Working with other developers on a Minecraft server can be difficult due to the lack of CI/CD tools on the market. That’s why I created GitSync, a tool to manage and deploy Minecraft server code through Github.
Modern Version
Due to changing applications and constraints with legacy GitSync, I developed a new version designed to work with Pterodactyl Panel.
GitSync is a Pterodactyl egg that consists of a bash script and Pterodactyl options that allow for the creation of a Git repository that is updated for each deployment of the server. GitSync works for Minecraft servers, proxy servers, and other game servers. This allows for simple configuration and deployment of game servers.
Deployment of Code BEFORE Gitsync.
Deployment of Code AFTER Gitsync.
Closed Source
Unfortunately, the modern version of GitSync is closed-source, unlike the legacy version. This is because GitSync is used in private applications for a few businesses.
Legacy Version
Legacy GitSync was created to solve the same problems as modern GitSync but for a different platform. I was developing a server on a server hosting platform called Minehut, and I needed the ability to use GitHub for my client. Minehut has a few limitations:
- You cannot modify the server’s starting script.
- You don’t have access to environment variables.
To solve this problem, I wrote a script with Skript that accesses a GitHub repository and pulls and replaces script files in the Minecraft server directory. This allows for hot reloading without restarts on the Minecraft server.
Source Code
Legacy GitSync source code is public and can be seen on GitHub.