# Maintainer: Gordian Edenhofer # Contributer: Philip Abernethy # Contributer: sowieso pkgname=minecraft-server pkgver=1.20.1 _nonce=84194a2f286ef7c14ed7ce0090dba59902951553 pkgrel=1 _mng_ver=1.0.2 pkgdesc="Minecraft server unit files, script, and jar" arch=('any') url="https://minecraft.net/" license=('custom') depends=('java-runtime-headless>=16' 'tmux' 'sudo' 'bash' 'awk' 'sed') optdepends=("tar: needed in order to create world backups" "netcat: required in order to suspend an idle server") conflicts=('minecraft-server-systemd' 'minecraft-canary') backup=('etc/conf.d/minecraft') install="${pkgname}.install" # See https://launchermeta.mojang.com/mc/game/version_manifest.json for a list of all releases source=("minecraft_server.${pkgver}n${_nonce:0:8}.jar"::"https://launcher.mojang.com/v1/objects/${_nonce}/server.jar" "minecraft-server-${_mng_ver}.tar.gz"::"https://github.com/Edenhofer/minecraft-server/archive/refs/tags/v${_mng_ver}.tar.gz") noextract=("minecraft_server.${pkgver}.jar") sha512sums=('363772bbf92f36f8eee41b3e6caf6cb2259bc3dbf9ba0bfe26bb68658cc7a3725d934b321904dce4a98a5a0b5ccef7c7735717ce77e9c5526278c6e4faf8df43' '11d708d511b63e5541bcc1dbcaf29abbf7cb9583b1d313028770a39b26b41d48dcba023f7e1d6fe30f3c093d20e10a43363011edd432e5785a4580e5c5f852a6') _game="minecraft" _server_root="/srv/minecraft" build() { make -C "${srcdir}/minecraft-server-${_mng_ver}" clean make -C "${srcdir}/minecraft-server-${_mng_ver}" \ GAME=${_game} \ INAME=${_game}d \ SERVER_ROOT=${_server_root} \ BACKUP_PATHS="world" \ GAME_USER=${_game} \ MAIN_EXECUTABLE=minecraft_server.jar \ SERVER_START_CMD="java -Xms512M -Xmx1024M -jar ./minecraft_server.jar nogui" \ all } package() { make -C "${srcdir}/minecraft-server-${_mng_ver}" \ DESTDIR="${pkgdir}" \ GAME=${_game} \ INAME=${_game}d \ install install -Dm644 ${_game}_server.${pkgver}n${_nonce:0:8}.jar "${pkgdir}${_server_root}/${_game}_server.${pkgver}.jar" ln -s "${_game}_server.${pkgver}.jar" "${pkgdir}${_server_root}/${_game}_server.jar" # Link the log files mkdir -p "${pkgdir}/var/log/" install -dm2755 "${pkgdir}/${_server_root}/logs" ln -s "${_server_root}/logs" "${pkgdir}/var/log/${_game}" # Give the group write permissions and set user or group ID on execution chmod g+ws "${pkgdir}${_server_root}" }