blob: 96c7e9be9604ddbb525530d18380455680efb620 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# Maintainer: jSQrD <n1irdwd5 at aur dot addy dot io>
# Previous 'fabric-server' maintainers
## Contributor: lgm <lgm dot aur at outlook dot com>
## Contributor: Ndoskrnl <lollipop.studio.cn@gmail.com>
## Contributor: flying <flyinghat42@gmail.com>
# Based on the 'forge-server' AUR package by:
## 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>
_minecraft_ver="1.21.11"
_fabric_ver="1.1.1"
_fabric_loader_ver="0.18.4"
_mng_ver=1.0.4
pkgname="fabric-server"
_fabric_name="fabric"
pkgver=${_minecraft_ver}_${_fabric_loader_ver}_${_fabric_ver}
pkgrel=2
pkgdesc="A Fabric (a modular, lightweight mod loader) enabled Minecraft server"
arch=("any")
url="https://fabricmc.net"
license=("Apache-2.0")
depends=("java-runtime-headless>=21" "tmux" "sudo" "bash" "awk" "sed")
optdepends=("tar: required in order to create world backups"
"netcat: required in order to suspend an idle server")
provides=("fabric-server=${pkgver}")
backup=("etc/conf.d/${_fabric_name}")
install="fabric-server.install"
source=(
"minecraft-server-${_mng_ver}.tar.gz::https://github.com/Edenhofer/minecraft-server/archive/refs/tags/v${_mng_ver}.tar.gz"
"fabric-installer-${_fabric_ver}.jar::https://maven.fabricmc.net/net/fabricmc/fabric-installer/${_fabric_ver}/fabric-installer-${_fabric_ver}.jar"
)
noextract=("fabric-${pkgver}.jar")
sha512sums=(
'dd4d68ca061c97a1e3cb5c0bb68439f7d8d45b15092344f3c4dbd4f7f39fef433d566670ad440970061007d93055183b570c7bf98f09c111ecdf8ab0f208f556'
'f95731a5f7b950f309f5b7d367c377727ceca6484fbde3c513e16b508d840ec4dfeb8471a9122a07a029d62cacd8b5d0726c60e27edc0d9a93ad928e34f5e24e'
)
_game="fabric"
_server_root="/srv/${_fabric_name}"
prepare() {
java -Duser.home="${srcdir}" -jar "fabric-installer-${_fabric_ver}.jar" server -mcversion "${_minecraft_ver}" -downloadMinecraft -loader "${_fabric_loader_ver}"
}
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 banned-ips.json banned-players.json config ops.json server.properties usercache.json user_jvm_args.txt whitelist.json" \
GAME_USER=${_game} \
MAIN_EXECUTABLE=fabric-server-launch.jar \
SERVER_START_CMD="java -Dlog4j2.formatMsgNoLookups=true -Xms512M -Xmx1024M -jar './\$\${MAIN_EXECUTABLE}' nogui" \
all
}
package() {
make -C "${srcdir}/minecraft-server-${_mng_ver}" \
DESTDIR="${pkgdir}" \
GAME=${_game} \
INAME=${_game}d \
install
# Install Fabric & Minecraft server jars
install -Dm644 "fabric-server-launch.jar" "${pkgdir}${_server_root}/fabric-server-launch.jar"
install -Dm644 "server.jar" "${pkgdir}${_server_root}/server.jar"
# Install libraries
install -dm755 "libraries" "${pkgdir}${_server_root}/libraries"
cp -r libraries/* "${pkgdir}${_server_root}/libraries/"
find "${pkgdir}${_server_root}/libraries" -type d -exec chmod 755 {} +
find "${pkgdir}${_server_root}/libraries" -type f -exec chmod 644 {} +
# Link log files
install -dm755 "${pkgdir}/var/log"
install -dm2755 "${pkgdir}${_server_root}/logs"
ln -s "/srv/${_fabric_name}/logs" "${pkgdir}/var/log/${_fabric_name}"
# Give the group write permissions and set user or group ID on execution
chmod g+ws "${pkgdir}${_server_root}"
}
|