Package Details: minecraft-server 1.20.6-1

Git Clone URL: https://aur.archlinux.org/minecraft-server.git (read-only, click to copy)
Package Base: minecraft-server
Description: Minecraft server unit files, script, and jar
Upstream URL: https://minecraft.net/
Keywords: bash minecraft official script server
Licenses: custom
Conflicts: minecraft-canary, minecraft-server-systemd
Submitter: sorcix
Maintainer: edh
Last Packager: edh
Votes: 163
Popularity: 1.42
First Submitted: 2010-11-29 15:52 (UTC)
Last Updated: 2024-04-30 09:10 (UTC)

Dependencies (8)

Required by (0)

Sources (2)

Pinned Comments

edh commented on 2016-06-18 18:24 (UTC) (edited on 2021-10-02 08:19 (UTC) by edh)

To get an overview of the available options provided by the management script, be sure to have a look at the help page or read the according section on the ArchWiki article [1].

You can quit the console without shutting down the server by press ctrl+a d (first ctrl+a and after releasing the buttons press d; ctrl+b also works). This will detach your input from the server console. The attaching and detaching is done with tmux (previously GNU screen) since it lets you view and type into the console, send single commands to it and keep it alive without a connected user. Take a look at the the command overview at the ArchWiki [2] to get a feel for its power. (@carmelo12341)

[1] https://wiki.archlinux.org/title/Minecraft#Setup [2] https://wiki.archlinux.org/title/Tmux

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 .. 37 Next › Last »

tzcrawford commented on 2021-06-08 23:16 (UTC)

For those of you wishing to update to 1.17 before this PKGBUILD is updated, I did this temporary fix. First cd into /srv/minecraft or wherever your server files are and wget the newest official .jar file. You can relink minecraft_server.jar to what you just downloaded. The minecraft wiki says that the update requires java 16 but the main repository jdk-openjdk package is still for version 15. So you can use another AUR package to acquire openjdk16 and switch to that environment. Finally I chose to start the server in a gnu screen/tmux instance using java -Xms1024M -Xmx3072M -jar './minecraft_server.jar' nogui or whatever was in /etc/conf.d/minecraft.

edh commented on 2021-04-30 08:07 (UTC) (edited on 2021-04-30 08:08 (UTC) by edh)

@Xarius The full backup command reads ${SUDO_CMD} tar -C "${SERVER_ROOT}" -cf "${BACKUP_DEST}/${fname}" ${BACKUP_PATHS} --totals ${BACKUP_FLAGS} 2>&1 | grep -v "tar: Removing leading ". Thus by modifying ${BACKUP_FLAGS} in the config, you have full control over the arguments with which tar is called. You can change the current configuration to -I "..." and specify a program of your choosing with additional command line flags.

Xarius commented on 2021-04-29 03:14 (UTC)

Is there any chance we could get an option in the config for how many threads to use when creating backups? I'd like to be able to reduce this number to avoid lag spikes while it executes. (i.e. Have the backup only use two threads rather than all of the available threads.)

edh commented on 2021-04-12 15:37 (UTC) (edited on 2021-04-12 15:39 (UTC) by edh)

@thatyou Sure, this can be done and would add two additional lines to minecraftd.tmpfiles but I don't get why this should be needed. The minecraft user at no point should edit the .jar file, right? Furthermore, it would add additional warnings to pacman's file ownership check (pacman -Qkk minecraft-server).

thatyou commented on 2021-04-12 15:03 (UTC)

/srv/minecraft/minecraft_server.1.16.5.jar has the ownership and user as root can this be changed to the user minecraft.

edh commented on 2021-03-30 09:59 (UTC)

@Natanji Sorry for my lack of explanation of why I am searching for an alternative approach. Simply put I think there is a more generic approach to handling this. For example with my netcat installation, connecting to the port via telnet but without closing the connection kept it open indefinitely even with -i 1. We don't want that to happen either since we know that we can abort right away.

Natanji commented on 2021-03-30 08:09 (UTC)

Yea, that works on my machine. I don't understand why you prefer that rather complex looking solution compared to the -i 1 option in netcat though. But it's your package and I'm fine as long as it works.

edh commented on 2021-03-29 11:25 (UTC) (edited on 2021-03-29 11:27 (UTC) by edh)

@Natanji The following should work regardless of the choice of netcat implementation. Can you test that it works in your case too?

netcat -v -l -p 25565 2>&1 | (grep -q -m1 -i "connect" && pkill -P $$ netcat) || true

edh commented on 2021-03-29 07:38 (UTC) (edited on 2021-03-29 07:39 (UTC) by edh)

@Natanji That's odd. In an interactive bash session this command seems works just fine and closes netcat as expected.

EDIT: GNU netcat behaves differently to BSD's netcat in this case. I'll see whether we can find a way to make both work.

Natanji commented on 2021-03-28 23:22 (UTC) (edited on 2021-03-28 23:23 (UTC) by Natanji)

@edh For me that doesn't work. The -m1 option will stop any further grep output after the first matching line, but it won't terminate the netcat process, which would be needed for this to work I suppose. The command seems to be parsed as -open netcat -open a pipe to grep -grep terminates, positioning standard input to after the first line found -netcat process still runs, so the && part isn't ever called

If you put the latter two commands into braces, like

${NETCAT_CMD} -v -l -p 25565 2>&1 | (grep -q -m1 -i "connect" && echo "Netcat caught an connection. The server is coming up again...")

then it doesn't work either: the echo is called because now the && ensures echo is called after grep exits, but the netcat process is still running and thus the scipt doesn't seem to move on to the next line.