summarylogtreecommitdiffstats
path: root/forge-server.install
diff options
context:
space:
mode:
authorNitroretro2020-10-06 00:12:45 +0300
committerNitroretro2020-10-06 00:12:45 +0300
commit34c9aaf964e8e8e4bd20d33ceaedb20041cc73eb (patch)
treead2b7278d32dd77b7f4dafeb9a7131df44171f82 /forge-server.install
downloadaur-34c9aaf964e8e8e4bd20d33ceaedb20041cc73eb.tar.gz
Upgrade: 1.15.2_31.2.0-1
Diffstat (limited to 'forge-server.install')
-rw-r--r--forge-server.install55
1 files changed, 55 insertions, 0 deletions
diff --git a/forge-server.install b/forge-server.install
new file mode 100644
index 000000000000..164182ffea71
--- /dev/null
+++ b/forge-server.install
@@ -0,0 +1,55 @@
+_forge_name="forge-1.15.2"
+_forge_user="forge-1-15-2"
+_conflict_ver="1.14.4_28.1.0-3"
+_good_ver="1.14.4-28.1.0-9"
+_server_root="/srv/${_forge_name}"
+
+post_install() {
+ if ! getent group "$_forge_user" &>/dev/null; then
+ echo "Adding ${_forge_user} system group..."
+ groupadd -r "$_forge_user" 1>/dev/null
+ fi
+
+ if ! getent passwd "$_forge_user" &>/dev/null; then
+ echo "Adding ${_forge_user} system user..."
+ useradd -r -g "${_forge_user}" -d "$_server_root" "$_forge_user" 1>/dev/null
+ fi
+
+ chown -R "${_forge_user}:${_forge_user}" "$_server_root"
+
+ echo "The world data is stored under ${_server_root} and the server runs as the forge user to increase security."
+ echo "Use the forged script under /usr/bin/${_forge_name}d to start, stop or backup the server."
+ echo "Adjust the configuration file under /etc/conf.d/${_forge_name} to your liking."
+ echo "Make sure to change the SERVER_START_CMD variable if you want to use a JVM other than OpenJDK 8."
+ echo "Please note that you need Java 8 in order to run Forge."
+ echo "For the server to start you have to accept the EULA in ${_server_root}/eula.txt!"
+ echo "The EULA file is generated after the first server start."
+}
+
+post_upgrade() {
+ if [ "$(vercmp "$2" "$_conflict_ver")" -ge 0 ] && [ "$(vercmp "$2" "$_good_ver")" -lt 0 ]; then
+ post_install
+
+ echo "==> NOTICE: All filenames have been changed from \"forged\" to \"${_forge_name}d\"!"
+ echo "==> For example:"
+ echo "==> /usr/lib/systemd/system/forged.service -> /usr/lib/systemd/system/${_forge_name}d.service"
+ echo "==> /usr/bin/forged -> /usr/bin/${_forge_name}d"
+ echo "==> /srv/forge -> ${_server_root}"
+
+ if [ -d "/srv/forge" ]; then
+ find "/srv/forge" -mindepth 1 -maxdepth 1 | while read -r _file; do
+ mv "$_file" "${_server_root}${_file#"/srv/forge"}"
+ done
+ rm -rf "/srv/forge"
+ echo "==> Game saves in /srv/forge were moved to ${_server_root}."
+ fi
+
+ echo "==> The forge user was preserved on your system."
+ fi
+ chown -R "${_forge_user}:${_forge_user}" "${_server_root}"
+}
+
+post_remove() {
+ [ -d "$_server_root" ] && echo "Game saves in ${_server_root} were kept on your system."
+ echo "The ${_forge_user} user was preserved on your system."
+}