Clone Hero

Games
Report Issue

Clone Hero is a classic instrument based rhythm game for Windows, Mac, Linux, and Android. It's playable with any 5 or 6 fret guitar controller, any midi drum kit, any game controller and even your keyboard! Jam out with Drums, 5-fret Guitar, or 6-fret Guitar online or local!

Contributors:
README

Clone Hero

From their Site

Documentation

Minimum RAM warning

Minimum required memory to run the server. 80MiB is recommended. 2GB+ is preferred

Minumim Sorage warning

Minimum required storage to run the server. 100MiB is recommended. 2GiB+ is preferred

Server Ports

Ports required to run the server.

Port default
Game 14242

Notes

14242 is the default port, but any port can be used.

Docker Images (1)
Name Image
Debian ghcr.io/ptero-eggs/yolks:debian
Startup Command
./Server -l {{LOG_LEVEL}} -n "{{SERVER_DISPLAY_NAME}}" -p {{SERVER_PORT}} -a 0.0.0.0 $([[ -z "${SERVER_PASSWORD}" ]] && echo -np || echo  "-ps ${SERVER_PASSWORD}")
Variables (4)

Server name

The name of the server

Environment:
SERVER_DISPLAY_NAME
Default:
None
User Viewable:
User Editable:
Rules:
required|string|max:80

Server password

The password of the server

Environment:
SERVER_PASSWORD
Default:
None
User Viewable:
User Editable:
Rules:
nullable|string|regex:/^[a-zA-Z0-9_]+$/

Log level

Set max logging level

Environment:
LOG_LEVEL
Default:
4
User Viewable:
User Editable:
Rules:
required|string|in:0,1,2,3,4

Version

The version of Clone Hero you want to install. Example: V1.0.0.4080 or latest

Environment:
VERSION
Default:
latest
User Viewable:
User Editable:
Rules:
required|string|max:20
Installation Script
Container: ghcr.io/ptero-eggs/installers:debian
Entrypoint: bash
#!/bin/bash

apt update
apt -y install curl unzip jq

## get release info and download links
V=$(curl -s https://clonehero.net/ | grep -i "Latest version" | grep -oP '(?<=<b>).+?(?=<\/b>)' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') #v1.0.0.4080
LATEST_JSON=$(curl --silent "https://api.github.com/repos/clonehero-game/releases/releases/latest")
RELEASES=$(curl --silent "https://api.github.com/repos/clonehero-game/releases/releases")
MATCH=CloneHero-standalone_server

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 | grep -i server)
    fi
fi


V=$(curl -s https://clonehero.net/ | grep -i "Latest version" | grep -oP '(?<=<b>).+?(?=<\/b>)' | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//') #v1.0.0.4080
ARCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "linux-x64" || echo "linux-arm64")

mkdir -p /mnt/server
cd /mnt/server

echo "Running: curl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}"
curl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}

unzip -o ChStandaloneServer.zip
rm ChStandaloneServer.zip

mv ChStandaloneServer-${V}-final/${ARCH}/* .
rm -rf ChStandaloneServer-${V}-final/

chmod +x Server


if [ ! -f /mnt/server/settings.ini ]
then
	curl -sSL -o settings.ini https://pastebin.com/raw/rhcv0hvi
fi

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