diff options
author | Nitroretro | 2020-10-06 00:12:45 +0300 |
---|---|---|
committer | Nitroretro | 2020-10-06 00:12:45 +0300 |
commit | 34c9aaf964e8e8e4bd20d33ceaedb20041cc73eb (patch) | |
tree | ad2b7278d32dd77b7f4dafeb9a7131df44171f82 /PKGBUILD | |
download | aur-34c9aaf964e8e8e4bd20d33ceaedb20041cc73eb.tar.gz |
Upgrade: 1.15.2_31.2.0-1
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 163 |
1 files changed, 163 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..e69ddc3ef24f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,163 @@ +# Maintainer: Nitroretro <nitroretro@protonmail.com> + +# Based on the `minecraft-server` AUR package by: +## Maintainer: Gordian Edenhofer <gordian.edenhofer@gmail.com> +## Contributor: Philip Abernethy <chais.z3r0@gmail.com> +## Contributor: sowieso <sowieso@dukun.de> + +_ver="1.15.2_31.2.0-1" +_minecraft_ver_latest="1.16.3" + +IFS="-" read -ra _ver_temp <<< "$_ver" +IFS="_" read -ra _pkgver_temp <<< "${_ver_temp[0]}" +IFS="." read -ra _minecraft_ver_temp <<< "${_pkgver_temp[0]}" + +_minecraft_ver=${_pkgver_temp[0]} +_minecraft_ver_major=${_minecraft_ver_temp[0]:-0} +_minecraft_ver_minor=${_minecraft_ver_temp[1]:-0} +_minecraft_ver_patch=${_minecraft_ver_temp[2]:-0} +_forge_ver=${_pkgver_temp[1]} + +_pkgver=${_ver_temp[0]//_/-} + +if [ "$_minecraft_ver" = "$_minecraft_ver_latest" ]; then + pkgname="forge-server" + _forge_name="forge" +else + pkgname="forge-server-${_minecraft_ver}" + _forge_name="forge-${_minecraft_ver}" +fi +pkgver=${_ver_temp[0]} +pkgrel=${_ver_temp[1]} +pkgdesc="Minecraft Forge server unit files, script and jar" +arch=("any") +url="https://minecraftforge.net" +license=("custom") +depends=("java-runtime-headless=8" "screen" "sudo" "bash" "awk" "sed") +optdepends=("tar: needed in order to create world backups" + "netcat: required in order to suspend an idle server") +provides=("forge-server=${pkgver}") +backup=("etc/conf.d/${_forge_name}") +install="forge-server.install" +source=("forged-backup.service" + "forged-backup.timer" + "forged.service" + "forged.conf" + "forged.sh") +noextract=("forge-${_pkgver}.jar") +sha512sums=('476394bcc812c87f81545fcfbc1f48c0e3698d476fea990d430afd31f365fe62cb3dad3a1346c61852639ea49644b747c720ef67a8d72a2b57d21fd50b9c1abe' + '946fde7457ccf4101d30b566bf030471368b3ad2b994faed89562a60ef22011642c949024be83c222b16c0428ec63da749b3264ca381eca72fceab41cd8c725b' + 'fc11abcef378c64e124336c04e0dde2f3ea70da67d6865115ec2d9ba6220f82cc05d4517b3dd4e5c8c30c69f6882f1361daa432dbfa7eed2bd59a44c38ec6c8b' + '26db2abfd5c59d9b9c8346e08bb3ddb505ad5ca8f9b4aa54e09799865f0503d31f708c46a24c44e3697c68d62bfcbf6d0cc43c3b6ce15dd5aec76d25df17270b' + '09b411dcf8aa7e090af907936aeb5aedf5f1ba891c2940470c9d4ebfe3a18b408296328f3181e2510f923650b36ad09716db87d442c8308cf902678ab5167316' + 'd9884c3b979969ca8c892a9d87b95c1404790a4f0e2c1c37189b87547c6ac8efd21a0e125cfa0fe6d34ba7463528ba6901945bbeeae522bf35af49098080df96' + '3da10d63a5edee4bc8bcd3d5c2730771062f7fa58626a8c51635fbe96bfbceca3ff6937cfaad3e17f16a94ef95137f7c78cc6dac1c846a6b9a8f18d3c6355973') + +# -- Forge Installer -- # +if [ "$_minecraft_ver_minor" = 7 ]; then + source+=("forge-${_pkgver}-installer.jar"::"https://files.minecraftforge.net/maven/net/minecraftforge/forge/${_pkgver}-${_minecraft_ver}/forge-${_pkgver}-${_minecraft_ver}-installer.jar") +else + source+=("forge-${_pkgver}-installer.jar"::"https://files.minecraftforge.net/maven/net/minecraftforge/forge/${_pkgver}/forge-${_pkgver}-installer.jar") +fi + +[ "$_minecraft_ver_minor" = 5 ] && source+=("https://files.minecraftforge.net/fmllibs/fml_libs15.zip") && noextract+=("fml_libs15.zip") +# -- /Forge Installer -- # + +# -- Licenses -- # +_licenses=() +_license_suffix="-${pkgname}-${_pkgver}.txt" + +if [ "$_minecraft_ver_minor" -ge 10 ]; then + _branch="${_minecraft_ver_major}.${_minecraft_ver_minor}.x" +elif [ "$_minecraft_ver_minor" -ge 7 ]; then + _branch="$_minecraft_ver" +elif [ "$_minecraft_ver_minor" = 6 ]; then + _branch="1.6" +else + _branch="v7.9" +fi + +_add_license() { + _path=$1 + _repo=${2:-MinecraftForge} + _github_branch=${3:-"$_branch"} + _filename="$(basename "$_path")${_license_suffix}" + + _licenses+=("$_filename") + source+=("$_filename"::"https://raw.githubusercontent.com/MinecraftForge/${_repo}/${_github_branch}/${_path}.txt") +} + +if [ "$_minecraft_ver_minor" -ge 13 ]; then + _add_license "LICENSE" +elif [ "$_minecraft_ver_minor" = 12 ]; then + _add_license "LICENSE-Paulscode%20IBXM%20Library" + _add_license "LICENSE-Paulscode%20SoundSystem%20CodecIBXM" + _add_license "LICENSE" +elif [ "$_minecraft_ver_minor" -ge 7 ]; then + _add_license "MinecraftForge-License" + _add_license "Paulscode%20IBXM%20Library%20License" + _add_license "Paulscode%20SoundSystem%20CodecIBXM%20License" + + case "$_minecraft_ver_minor" in + 8) _add_license "LICENSE-fml";; + 7) _add_license "fml/LICENSE-fml";; + *) _add_license "LICENSE-fml" && _add_license "LICENSE-new";; + esac +elif [ "$_minecraft_ver_minor" = 6 ]; then + _add_license "install/MinecraftForge-License" + _add_license "install/Paulscode%20IBXM%20Library%20License" + _add_license "install/Paulscode%20SoundSystem%20CodecIBXM%20License" + _add_license "LICENSE-fml" "FML" "902772ed0cb6c22c4cd7ad9b0ec7a02961b5e016" +else + _add_license "LICENSE-fml" +fi +# -- /Licenses -- # + +prepare() { + [ "$_minecraft_ver_minor" = 10 ] && mkdir mods + [ "$_minecraft_ver_minor" = 5 ] && unzip -o fml_libs15.zip -d lib + java -jar "forge-${_pkgver}-installer.jar" --installServer +} + +package() { + _server_root="${pkgdir}/srv/${_forge_name}" + + # Install forged + install -Dm644 "forged-backup.service" "${pkgdir}/usr/lib/systemd/system/${_forge_name}d-backup.service" + install -Dm644 "forged-backup.timer" "${pkgdir}/usr/lib/systemd/system/${_forge_name}d-backup.timer" + install -Dm644 "forged.service" "${pkgdir}/usr/lib/systemd/system/${_forge_name}d.service" + install -Dm644 "forged.conf" "${pkgdir}/etc/conf.d/${_forge_name}" + install -Dm755 "forged.sh" "${pkgdir}/usr/bin/${_forge_name}d" + + # Install Forge + _forge_jar="forge-${_pkgver}.jar" + [ "$_minecraft_ver_minor" -le 11 ] && _forge_jar="forge-${_pkgver}-universal.jar" + [ "$_minecraft_ver_minor" = 7 ] && _forge_jar="forge-${_pkgver}-${_minecraft_ver}-universal.jar" + [ "$_minecraft_ver_minor" -le 6 ] && _forge_jar="minecraftforge-universal-${_pkgver}.jar" + + install -Dm644 "$_forge_jar" "${_server_root}/$_forge_jar" + ln -s "$_forge_jar" "${_server_root}/forge.jar" + find libraries -type f -print0 | xargs -0 -i@ install -Dm644 "@" "${_server_root}/@" + [ "$_minecraft_ver_minor" = 5 ] && find lib -type f -print0 | xargs -0 -i@ install -Dm644 "@" "${_server_root}/@" + + # Install Minecraft Server (for 1.12.2 or lower) + if [ "$_minecraft_ver_minor" = 5 ]; then + install -Dm644 "minecraft_server.${_minecraft_ver}.jar" "${_server_root}/minecraft_server.jar" + elif [ "$_minecraft_ver_minor" -le 12 ]; then + install -Dm644 "minecraft_server.${_minecraft_ver}.jar" "${_server_root}/minecraft_server.${_minecraft_ver}.jar" + fi + + # Link log files + mkdir -p "${pkgdir}/var/log/" + install -dm2755 "${_server_root}/logs" + ln -s "/srv/${_forge_name}/logs" "${pkgdir}/var/log/${_forge_name}" + + # Install licenses + for _license in "${_licenses[@]}"; do + _filename="$(basename "$_license" "$_license_suffix").txt" + _filename="${_filename//\%20/ }" + install -Dm644 "$_license" "${pkgdir}/usr/share/licenses/${pkgname}/$_filename" + done + + chmod g+ws "${_server_root}" +} |