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.47
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 .. 37 Next › Last »

edh commented on 2021-06-27 08:04 (UTC) (edited on 2021-06-27 09:55 (UTC) by edh)

@auricom sudo is needed by the minecraft server management script to run everything as the minecraft user. While one could replace sudo calls with simple su ones, using sudo allows the user to configure rules for who can control the minecraft server on a system.

EDIT: Using the sticky bit and doing the permission handling oneself is disallowed by the kernel for good reasons for all interpreted executables.

auricom commented on 2021-06-27 07:33 (UTC)

Is the Sudo dependency really necessary or could it be removed? A program calling sudo directly is dumb.

edh commented on 2021-06-22 19:10 (UTC)

@Refutationalist Sorry if my question was phrased poorly. I was specifically asking about objective arguments in favor of GNU screen, i.e. why a new user should prefer GNU screen over tmux for a minecraft server management script.

The severe bug I mentioned was brought up in this comment section by Xarius on 2021-02-11 17:49 in https://aur.archlinux.org/packages/minecraft-server/?O=20&PP=10#comment-791132 . It is tracked under CVE-2021-26937 .

Tmux has a more active community and using it in scripts feels way more natural. Thus, while in theory they both do roughly the same thing, tmux feels much more flexible to me. Actually I long toyed with the idea of rewriting every GNU screen call to a tmux call myself (see https://aur.archlinux.org/packages/minecraft-server/?O=20&PP=10#comment-791132 ) but have not had the time to do so just yet.

@Static_Rocket Would you be willing to submit a merge request on github for this (https://github.com/Edenhofer/abs/blob/master/minecraft-server/minecraftd.sh)? I would be more than happy to help with any remaining issues.

Static_Rocket commented on 2021-06-22 12:13 (UTC)

@Refutationalist For starters, this bug and it's workaround are documented explicitly in minecraftd.sh , but I'm not sure if it's still an issue. https://serverfault.com/questions/116775/sudo-as-different-user-and-running-screen

Refutationalist commented on 2021-06-22 10:16 (UTC)

@edh: A very strong preference for it over tmux, and it does the job. Could you elucidate on this bug you're talking about?

edh commented on 2021-06-22 07:46 (UTC)

@Static_Rocket Awesome! I would be more than happy to merge your changes into this package if you would be interested in that. I think tmux should be preferred over GNU screen considering its more active development and the recent severe bug in GNU screen.

@Refutationalist Can you elaborate a little as to why you would prefer to use GNU screen for this package?

Static_Rocket commented on 2021-06-22 05:08 (UTC) (edited on 2021-06-22 05:48 (UTC) by Static_Rocket)

It would require about another day of tweaking but perhaps. It took a bit, but I attempted to replace the calls to screen with the closest equivalent tmux has to offer. I was hoping to make these modifications as patch friendly as possible. It would be simple to check what a user has installed and roll with whatever's available but it may be a little weird detecting if someone already has a tmux/screen session running when they have both tmux and screen installed.

But I guess that really doesn't matter. It could just default to screen if both screen and tmux are installed.

Refutationalist commented on 2021-06-22 04:43 (UTC)

If tmux is added, could it be made possible to continue using screen if desired?

Static_Rocket commented on 2021-06-22 04:37 (UTC)

@edh I made a fork of this that uses tmux instead of screen. I was thinking about adding it to the AUR as a separate package but I figured I would ask and see if you wanted to look over it at all before that. Let me know if you're interested.

edh commented on 2021-06-12 09:01 (UTC)

Just as a heads-up, I will wait until java-runtime-headless>=16 hits the stable Arch repositories before publishing the next release of minecraft to the AUR. Please be patient until then.