Skip to content

NanoLimbo

This is lightweight minecraft limbo server, written on Java with Netty. The main goal of the project is maximum simplicity with a minimum number of sent and processed packets. This limbo is empty, there are no ability to set schematic building since this is not necessary. You can send useful information in chat or BossBar. No plugins, no logs. The server is fully clear. It only able keep a lot of players while the main server is down.

egg-nanolimbo.json

updated

Ports

Add an allocation on the node for each port.

  • Game 25565

Install

Installer image
ghcr.io/ptero-eggs/installers:debian
Install script
51 lines

Images

New servers use the first image. Users can change it on the Startup page.

  • Java 8 default ghcr.io/ptero-eggs/yolks:java_8
  • Java 25 ghcr.io/ptero-eggs/yolks:java_25

Panel features

  • eula

    The Panel asks the user to accept the Minecraft EULA when the server needs it.

  • java_version

    The Panel lets the user change the Java version when the server needs a different one.

  • pid_limit

    The Panel tells the user when the server reaches its process or memory limit.

Startup

The Panel runs this command to start the server. It replaces each variable in the command with the value of that variable.

3 variables

Startup command

java -Xms128M -Xmx1024M -jar server.jar

Dotted values come from the server settings. These values are examples.

  • The name of the server jarfile to run the server with.

    SERVER_JARFILEUsers can edit

    required|regex:/^([\w\d._-]+)(\.jar)$/

  • A URL to use to download. This is optional! Let this field empty for the latest version.

    DOWNLOAD_URLUsers can edit

    nullable|string

  • The version of NanoLimbo to download. Use "latest" for latest.

    VERSIONUsers can edit

    required|string|max:20

Wings

Stop command
^C (SIGINT)
Running when the console shows
Server started on

Files Wings edits

Wings sets these values in these files before each start.

settings.yml yaml

bind.ip
0.0.0.0
bind.port
{{server.build.default.port}}

Readme

NanoLimbo

A lightweight minecraft limbo server, written on Java with Netty. The main goal of the project is maximum simplicity with a minimum number of sent and processed packets. This limbo is empty, there are no ability to set schematic building since this is not necessary. You can send useful information in chat or BossBar. No plugins, no logs. The server is fully clear. It only able keep a lot of players while the main server is down.

NanoLimbo Github

Server Ports

The nanolimbo server requires a single port for access (default 25565).

Port default
Game 25565

Changes

  1. Update Display Name

    · Rowan · f730d85

  2. Adding java 25 to most minecraft eggs

    · Red-Banana-Official · fb0c032

  3. Validate and update embedded URLs

    · Daniel Barton · bf9f3cb

  4. SteamCMD + Other fixes

    · yesBad · edbf925

  5. Minecraft Eggs

    · yesBad · d749608

  6. Add Minecraft eggs

    · Daniel Barton · 7322302

All changes on GitHub

Problem with this egg?

Open an issue on GitHub. Include your Panel and Wings versions.

Install script 51 lines bash in ghcr.io/ptero-eggs/installers:debian Show
#!/bin/bash
# NanoLimbo Installation Script
#
# Server Files: /mnt/server

apt update
apt install -y curl jq git openssl bash bc apt-transport-https gnupg software-properties-common

if [ -z "${DOWNLOAD_URL}" ]; then
    GITHUB_PACKAGE="Nan1t/NanoLimbo"
    MATCH="NanoLimbo-"

    ## get release info and download links
    LATEST_JSON=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases/latest")
    RELEASES=$(curl --silent "https://api.github.com/repos/${GITHUB_PACKAGE}/releases")
    
    if [ -z "${VERSION}" ] || [ "${VERSION}" == "latest" ]; then
        DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})
    else
        VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .tag_name')
        if [ "${VERSION}" == "${VERSION_CHECK}" ]; then
            DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION "${VERSION}" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})
        else
            echo -e "defaulting to latest release"
            DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)
        fi
    fi
else
    if curl --output /dev/null --silent --head --fail ${DOWNLOAD_URL}.jar; then
        echo -e "Provided download link is valid. Proceeding to download"
    else
        echo -e "Provided download link is invalid. Exiting now"
        exit 2
    fi
fi

cd /mnt/server

echo "Downloading server file..."
echo -e "performing curl -sSL ${DOWNLOAD_URL}"
curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_URL}

if [ ! -f "settings.yml" ]; then
echo "Creating settings file..."
curl -sSL -o settings.yml https://raw.githubusercontent.com/ptero-eggs/game-eggs/main/minecraft/java/nanolimbo/settings.yml
fi

## install end
echo "-----------------------------------------"
echo "Installation completed..."
echo "-----------------------------------------"