Skip to content

Instantly share code, notes, and snippets.

@xslendix
Created July 4, 2022 13:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xslendix/39bff273a04655878daeb6308344bba4 to your computer and use it in GitHub Desktop.
Save xslendix/39bff273a04655878daeb6308344bba4 to your computer and use it in GitHub Desktop.
#!/usr/bin/bash
input -p 'Server path: ' SRV_PATH
input -p 'Version: ' VERSION
apt update
apt upgrade -y
apt install -y curl screen vim
mkdir -p $SRV_PATH/mods
echo '> Downloading server'
curl -OJ https://meta.fabricmc.net/v2/versions/loader/$VERSION/0.14.8/0.11.0/server/jar
mv fabric-server*.jar $SRV_PATH
echo '> Downloading OpenJDK 18'
curl -O https://download.java.net/java/GA/jdk18.0.1.1/65ae32619e2f40f3a9af3af1851d6e19/2/GPL/openjdk-18.0.1.1_linux-x64_bin.tar.gz
pushd
cd $SRV_PATH
tar xvf ../openjdk-18.0.1.1_linux-x64_bin.tar.gz
popd
echo '> Setting EULA'
echo 'eula=true' > $SRV_PATH/eula.txt
echo '> Installing start scripts'
cat <<EOF > $SRV_PATH/start.sh
FLAGS="-Xms4G -Xmx4G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -Dlog4j2.formatMsgNoLookups=true"
LOG4J_FORMAT_MSG_NO_LOOKUPS=true ./jdk-18/bin/java $FLAGS -jar fabric-server-launch.jar nogui
EOF
echo '> Downloading mods'
pushd
cd $SRV_PATH/mods
curl -OJ 'https://cdn.modrinth.com/data/P7dR8mSH/versions/0.57.0+1.18.2/fabric-api-0.57.0%2B1.18.2.jar'
curl -OJ 'https://cdn.modrinth.com/data/Ha28R6CL/versions/1.8.1+kotlin.1.7.0/fabric-language-kotlin-1.8.1%2Bkotlin.1.7.0.jar'
curl -OJ 'https://github.com/OKTW-Network/FabricProxy/releases/download/v1.4.10/FabricProxy-1.4.10.jar'
curl -OJ 'https://cdn.modrinth.com/data/gvQqBUqZ/versions/mc1.18.2-0.7.10/lithium-fabric-mc1.18.2-0.7.10.jar'
curl -OJ 'https://cdn.modrinth.com/data/cUhi3iB2/versions/1.3.13/tabtps-fabric-mc1.18.2-1.3.13.jar'
curl -OJ 'https://github.com/Szum123321/textile_backup/releases/download/2.4.0/textile_backup-2.4.0-1.18.jar'
curl -OJ 'https://cdn.modrinth.com/data/Wpqg0ciI/versions/0.5.1+1.18.2/banhammer-0.5.1%2B1.18.2.jar'
curl -OJ 'https://github.com/WearBlackAllDay/DimensionalThreading/releases/download/v1.2.6/DimThread-1.2.6.jar'
popd
vim $SRV_PATH/server.properties
echo 'Done! You can now start the server with ./start_screen.sh'
echo 'To see currently running servers, use `screen -ls`'
echo 'To attach to a running server use `screen -r <ID>`'
echo 'To detach from a running server use Ctrl-A D'
echo
echo 'Server installed at' $SRV_PATH
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment