You are browsing as a guest. Sign up (or log in) to start making projects!

9h 6m 18s logged

Done

Socket Java Minecraft Server

Minecraft servers take up a lot of system resources so it makes sense to turn them off when no one is using them. I accomplish this through systemd services and sockets. A systemd socket listens for any incoming connection on a port and passes that to its associated service. Because Minecraft servers don’t support receiving from UNIX sockets that receiving service is a proxy. That proxy transfers all packets to the Minecraft server. The Minecraft server service is set to only run when the socket is active (which has a timeout).

Minecraft Bedrock Server

This one gave me a lot of headaches. Simply put BDS does not like NixOS. I ended up using a docker container to run the server in. This also comes with the benefit of auto updates.

BedrockOnLinux

One of the servers I run in Minecraft Bedrock (/) and I want to be able to access it from my NixOS PCs. So I created a nixpkg for BedrockOnLinux a tool that allows you to run Minecraft Bedrock on a Lixux machine.

Failures

There were SO MANY ISSUES with trying to get sockets working. At first I followed a blog post which used a over complicated method using RCON to stop the server when no players were on but using a timeout on the proxy worked much better and had player pings also keep the server open. I spent far too much time trying to get sockets to work for the bedrock server using socat to proxy the UDP connections, though this may have worked if I got my server properly working I’ll need to check this in the future.

TODO

  • Modpack from FTB
  • Firefox Bookmarks
  • Nvim code completion
0
5

Comments 0

No comments yet. Be the first!