Package Details: papermc 1.18.2+b220-1

Git Clone URL: https://aur.archlinux.org/papermc.git (read-only, click to copy)
Package Base: papermc
Description: Next generation of Minecraft server, compatible with Spigot plugins and offering uncompromising performance
Upstream URL: https://papermc.io/
Keywords: alternative craftbukkit cuberite minecraft-server paperspigot spigot
Licenses: custom
Conflicts: papermc-git
Submitter: edh
Maintainer: edh
Last Packager: edh
Votes: 22
Popularity: 0.67
First Submitted: 2019-08-06 07:47 (UTC)
Last Updated: 2022-03-04 12:08 (UTC)

Dependencies (8)

Required by (0)

Sources (3)

Pinned Comments

edh commented on 2019-09-03 10:54 (UTC) (edited on 2019-10-22 09:52 (UTC) by edh)

Unfortunately, upstream does not really have proper releases but instead points to build-versions of the software. Note, I will not push every new build of the package to the AUR but I will update the package upon new minecraft releases, e.g. for 1.14.4 to 1.14.5.

Latest Comments

nissen22 commented on 2022-05-27 11:43 (UTC) (edited on 2022-05-27 11:51 (UTC) by nissen22)

Getting the error: Unsupported Java detected (62.0). Only up to Java 17 is supported. EDIT: Adding the flag -DPaper.IgnoreJavaVersion=true in the config file fixes this. Hopefully java 18 doesnt break stuff...

Cryen commented on 2022-05-21 20:35 (UTC)

@edh I misunderstood your pinned comment then. Thanks for the configuration file location, I couldn't find any information on this in the script.

edh commented on 2022-05-21 15:28 (UTC)

@Cryen Please see the pinned comment regarding minor version updates. I am well aware that that the updates could be automated but this is not a -git-like package.

You can edit all configuration options via /etc/conf.d/papermc. This file will not be overwritten in an update. It is tracked by pacman via the backup option of makepkg.

Cryen commented on 2022-05-21 00:39 (UTC) (edited on 2022-05-21 00:39 (UTC) by Cryen)

Regarding the minor version update, can you take a look at https://docs.papermc.io/papermc/downloads-api? You can also check the last comment here for reference: https://papermc.io/forums/t/improving-my-update-script-for-debain/5212/11

Another question, can I safely increase the ram usage in /usr/bin/papermc by changing SERVER_START_CMD? It seems like it would be reverted every package update, how would I make it permanent?

edh commented on 2022-03-05 15:22 (UTC)

@Zalgo I forgot that someone beat me to it: There already is a papermc-git version in the AUR. However, it does not ship the management script. If you think that this would be a great addition, I suggest to ask the maintainer of papermc-git whether he is willing to add the script.

Zalgo commented on 2022-03-05 04:30 (UTC)

@edh if there were a git package with the same useful management script & service files bundled, i would immediately switch to that. as it is now i just frequently update this PKGBUILD locally for the many changes and improvements that come within versions

edh commented on 2022-02-26 22:24 (UTC)

@logspiritedawayc If the sources are changing then this would be a -git package and I wanted something with less frequent updates. However, I am happy to also maintain a -git package if there is general interest in it.

logspiritedawayc commented on 2022-02-23 02:49 (UTC)

Why are the two API calls on lines 4 and 6 commented out? As far as I can tell the API is working, so why not use it to allow us access to more recent builds automatically?

emiham commented on 2022-01-06 14:44 (UTC)

1.18.1 is now stable.

https://forums.papermc.io/threads/paper-1-18-and-more.6/

edh commented on 2021-12-22 15:32 (UTC)

The management script to control this minecraft flavor was moved to a dedicated repository at GitHub:Edenhofer/minecraft-server. The script works for various flavors of minecraft. It is very minimalist yet versatile and feature-rich. For more information on how to configure and install the script separately, visit the above linked repository.

JPenuchot commented on 2021-12-10 10:34 (UTC) (edited on 2021-12-10 15:35 (UTC) by JPenuchot)

Update: PaperMC build 66 landed with a Log4J version bump, PaperMC devs strongly advise to use that newer build.

Pull request: https://github.com/PaperMC/Paper/pull/7069

Recommendations from PaperMC devs: https://twitter.com/PaperPowered/status/1469206811429511172

EDIT: Thanks again for the quick update!

JPenuchot commented on 2021-12-09 21:58 (UTC) (edited on 2021-12-10 09:28 (UTC) by JPenuchot)

A critical remote code execution vulnerability was patched a few hours ago in PaperMC. Could you please update it?

Vulnerability details (in Chinese): https://nosec.org/home/detail/4917.html Fix commit: https://github.com/PaperMC/Paper/commit/b475c6a683fa34156b964f751985f36a784ca0e0

Edit: Thank you for the update :)

Schala commented on 2021-12-07 07:11 (UTC)

Site says the 1.18 builds are currently very experimental. Would suggest updating once given the green light.

notKamui commented on 2021-10-19 07:45 (UTC)

@edh I actually just completely forgot that I manage my jdks with sdkman man on this computer, which is only local to one user.

Thanks again !

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

@notKamui I though the java version is set globally with archlinux-java. Or in other words, if it works for you, it should work for the papermc user.

The management script in essence is a huge ducktape around something that is designed to be difficult to manage. It is non trivial to even detect such errors and even more difficult to extract the error message.

notKamui commented on 2021-10-18 21:58 (UTC)

@edh Thank you for your support !

The problem was indeed on the side of the papermc user. For some reason, its default java version was 8 (which of course won't work for papermc). I just had to make sure it's set to java 17, and everything works perfectly fine.

I do feel an error message would be welcome in case such a problem arise though !

edh commented on 2021-10-18 21:11 (UTC)

@notKamui No worries! :)

Do I understand your correctly in that you can start the server using java just fine and it does not print any suspicious messages? If so make sure that tmux under der papermc user is properly working. For example, try to create a tmux session for the papermc user and then start the server from within that session. If both work, please file an issue at https://github.com/Edenhofer/abs/issues .

notKamui commented on 2021-10-18 20:37 (UTC)

Hi ! Sorry to bother ;

When trying to start a server (papermc start), the following message appears.

Starting server... done

(and nothing else)

However, when trying to papermc status or papermc console, they both indicate that no server is actually running.

I can manually run the jar in /srv/papermc so it's not a problem there.

Thank you in advance for your time.

x00010 commented on 2021-09-13 21:00 (UTC)

Wow! Thank you for the quick response haha. Yep, that's exactly the issue. Thank you so much, I've opened the issue here.

edh commented on 2021-09-13 20:43 (UTC)

@x00010 Do you use the idle-server daemon to suspend the server if no user is active?

If so then this is most probably a bug in the management server. In this case I would ask you to file an issue at github to more easily track the issue.

x00010 commented on 2021-09-13 20:37 (UTC) (edited on 2021-09-13 20:40 (UTC) by x00010)

I've noticed a strange behavior with this package, sometimes when the server is starting up it seems to attempt to run a command, particularly list, which causes the following error:

[21:28:08 INFO]: Reloading ResourceManager: Default, bukkit, afk display v1.1.0.zip, armor statues v2.8.1.zip, chunk loaders v1.0.1.zip, custom nether portals v2.3.2.zip, fast leaf decay v2.0.3.zip, multiplayer sleep v2.4.3.zip, player head drops v1.1.0.zip, unlock all recipes v2.0.0.zip                                                                                                                                        
list
[21:28:16 INFO]: Loaded 7 recipes
[21:28:23 INFO]: Starting minecraft server version 1.17.1
[21:28:23 INFO]: Loading properties
[21:28:23 INFO]: This server is running Paper version git-Paper-243 (MC: 1.17.1) (Implementing API version 1.17.1-R0.1-SNAPSHOT) (Git: 20903fc)
> lis[21:28:24 ERROR]: Caught previously unhandled exception :
java.lang.NullPointerException: Cannot invoke "org.bukkit.command.CommandSender.hasPermission(String)" because the return value of "net.minecraft.commands.CommandListenerWrapper.getBukkitSender()" is null
at net.minecraft.commands.CommandDispatcher.lambda$new$0(CommandDispatcher.java:210) ~[patched_1.17.1.jar:git-Paper-243] at com.mojang.brigadier.tree.CommandNode.canUse(CommandNode.java:78) ~[patched_1.17.1.jar:git-Paper-243] at com.mojang.brigadier.CommandDispatcher.parseNodes(CommandDispatcher.java:358) ~[patched_1.17.1.jar:git-Paper-243] at com.mojang.brigadier.CommandDispatcher.parse(CommandDispatcher.java:348) ~[patched_1.17.1.jar:git-Paper-243] at io.papermc.paper.console.BrigadierCommandHighlighter.highlight(BrigadierCommandHighlighter.java:28) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.getHighlightedBuffer(LineReaderImpl.java:3818) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.getDisplayedBufferWithPrompts(LineReaderImpl.java:3800) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.redisplay(LineReaderImpl.java:3700) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.doCleanup(LineReaderImpl.java:2427) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.cleanup(LineReaderImpl.java:2419) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:648) ~[patched_1.17.1.jar:git-Paper-243] at org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:418) ~[patched_1.17.1.jar:git-Paper-243] at net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:158) ~[patched_1.17.1.jar:git-Paper-243] at net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:141) ~[patched_1.17.1.jar:git-Paper-243] at net.minecraft.server.dedicated.DedicatedServer$1.run(DedicatedServer.java:113) ~[patched_1.17.1.jar:git-Paper-243]

I am then only able to shutdown the server by pressing ctrl+a and typing :kill-session. This behavior is extremely strange and I'm not too sure what's causing it, maybe the papermc script? Server was started via

papermc start
However, I have noticed that if I open the console with
papermc console
very soon after starting the server, the error does not occur and the server starts as normal. I have already attempted removing the datapacks loaded and the behavior was the same.

edh commented on 2021-09-02 09:57 (UTC)

Thanks for the comments @electronicboy and @Zalgo . I updated to v2 of the API.

electronicboy commented on 2021-09-02 09:21 (UTC)

Hey,

Sorry, you emailed me a while ago and basically, I ended up losing it and got distracted;

https://papermc.io/api/docs/ - The documentation for the API exists here, it makes it easy to pull jars off our services and is easily queriable, commonly people just use jq in order to parse the API given that it's just a json endpoint, makes it easy to work out latest version, latest build, within a script; Would mean that scripts can easily be created which don't tie to the MC version, and can permit people to update builds

The v1 API has been deprecated for coming up to a year and is scheduled to be sunset near the end of November, marking a year of it's deprecation

Zalgo commented on 2021-09-02 09:17 (UTC)

The version of the API this PKGBUILD uses to download builds will stop working on Sept 25 of this year due to it being deprecated, just a heads up

edh commented on 2021-07-29 21:18 (UTC)

@sflor hmm, tmux exiting immediately does not necessarily mean the server can not. Starting tmux plainly is different to starting tmux with a command. In my understanding of the issue, there should be no need for a default-command. Having said that, tmux should of course work normally, i.e. start without exiting.

I am a little confused what you mean by having configured zsh as default shell. Surely you didn't set the zsh as shell for papermc, right?

Finally, to reiterate once again: Please try to reproduce the error in a clean chroot!

sflor commented on 2021-07-29 07:52 (UTC)

Sorry if my comment came off as rude, I just didn't have much time to do more testing yesterday.

The issue is that tmux run as papermc user exits immediately. It doesn't matter what arguments I provide or don't.

[papermc@midori sf]$ tmux
[exited]

I fixed this by creating /etc/tmux.conf with the following content:

set-option -g default-shell "/bin/bash"
set-option -g default-command "bash -l"

Maybe it's related to me having zsh as default?

edh commented on 2021-07-28 19:13 (UTC) (edited on 2021-07-28 19:13 (UTC) by edh)

@sflor The line is supposed to start the server in the background, i.e. it is not supposed to return anything. If you strip the -d from the argument it will run in the foreground (see man tmux).

Please be more verbose in your description of the error. A 1-bit binary statement (failing/not failing) contains very little information:

  • How exactly is it failing?
    • Do you mean that the return value is non-zero?
    • What happens if you modify the command as outlined in my previous comment?
    • Did you attempt to perform the steps from the command individually, i.e. switch user -> spawn tmux -> run papermc?
  • Did you check for the EULA/papermc logs (if any)?
  • Did you check again in a clean chroot?

sflor commented on 2021-07-28 17:04 (UTC)

I can create a tmux session on its own just fine and run the server java -jar papermc_server.jar. Everything is working.

Your command, however, does nothing for me. It just fails without printing any error.

edh commented on 2021-07-28 15:47 (UTC)

@sflor Did you accept the EULA?

If the error still persists, try reproducing it in a clean chroot. The server works just fine for me and I wasn't able to spot anything suspicious in the management script. Upon start-up the script invokes:

sudo -u papermc tmux -L papermc new-session -s papermc -c /srv/papermc -d "java -Xms512M -Xmx1024M -jar './papermc_server.jar' nogui"

Try also running only this line. If it too does not work, break it down into ever smaller peaces until the server starts.

Btw. java version 16 is required, it will not work with anything below that.

sflor commented on 2021-07-28 15:16 (UTC)

Server runs just fine when I launch it manually, so it has to be some kind of issue with the startup script. My config is default as well.

sflor commented on 2021-07-28 14:52 (UTC)

@M1T0 Thanks, but I have tried Java 11 as well as 16 to no avail.

M1T0 commented on 2021-07-27 19:32 (UTC)

@sflor I had the same issue. I believe I fixed it using sudo archlinux-java set java-16-openjdk. Make sure you have jre-openjdk installed and upgraded.

sflor commented on 2021-07-27 14:17 (UTC)

Since I updated to 1.17, papermc doesn't launch for me anymore.

% papermc start
Starting server...no server running on /tmp/tmux-986/papermc

Any idea what I am doing wrong?

zulc22 commented on 2021-07-11 20:19 (UTC)

papermc just released 1.17.1

speedy905 commented on 2021-06-21 18:00 (UTC)

@edh Oh wow lol, didn't expect that to come quickly. Thanks either way!

edh commented on 2021-06-21 17:56 (UTC)

@speedy905 I updated the package.

speedy905 commented on 2021-06-21 17:46 (UTC)

Hello, The papermc dev team has released 1.17 builds to the public. Just wondering if you will also update the aur package to the same state as well, or will you wait until a stable 1.17 build has been released by the papermc dev team before applying those builds to the aur package? Thanks.

edh commented on 2021-03-19 20:58 (UTC)

@edward-p Well... Yes and no. It was very much designed to chown existing files and directories. Its scope is certainly not limited to temporary caches. Though, I admit it was probably not designed to chown a large directory in a server directory.

Yes, exactly. I guess I was overthinking this problem way too much. The umask by the papermc user will ensure that every file created by running papermc is owned by papermc. I'll update the tmpfiles instructions with the next release.

Thanks for poking me about this!

edward-p commented on 2021-03-17 14:19 (UTC) (edited on 2021-03-17 15:07 (UTC) by edward-p)

@edh

By now, I don't think systemd-tmpfiles was designed to set file permissions and ownership for normal files.

It was designed for managing lifecycle of tmpfiles(create remove clean etc.) I think.

I think we just need to consider the files that provided by the package, then we only need:

z /srv/papermc 2775 papermc papermc - -
z /srv/papermc/log 2775 papermc papermc - -

As for /srv/papermc/papermc_server.jar we only need read permission guaranteed.

edward-p commented on 2021-03-17 13:57 (UTC) (edited on 2021-03-17 13:58 (UTC) by edward-p)

@edh

I just tested the config in https://aur.archlinux.org/packages/papermc/#comment-796931

It became normal:

$ systemd-analyze critical-chain systemd-tmpfiles-setup.service        [21:54:48]
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

systemd-tmpfiles-setup.service +2.570s
└─local-fs.target @6.181s
  └─run-user-1000.mount @13.695s
    └─local-fs-pre.target @3.387s
      └─systemd-tmpfiles-setup-dev.service @2.830s +557ms
        └─kmod-static-nodes.service @2.569s +72ms
          └─systemd-journald.socket @2.541s
            └─system.slice @2.162s
              └─-.slice @2.162s

But looking at the details, /srv/papermc/*, /srv/papermc/world* were ignored.

Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Running create action for entry z /srv/papermc
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: "/srv/papermc" matches mode 2775 already.
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Failed to determine whether '/srv/papermc/*' is below autofs, ignoring: No such file or directory
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Running create action for entry z /srv/papermc/*
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Running create action for entry Z /srv/papermc/cache
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Running create action for entry Z /srv/papermc/logs
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Failed to determine whether '/srv/papermc/world*' is below autofs, ignoring: No such file or directory
Mar 17 21:48:03 Ezpro-V5 systemd-tmpfiles[332]: Running create action for entry Z /srv/papermc/world*
Mar 17 21:48:05 Ezpro-V5 systemd-tmpfiles[332]: Running create action for entry z /usr/bin/postdrop
Mar 17 21:48:05 Ezpro-V5 systemd-tmpfiles[332]: "/usr/bin/postdrop" matches mode 2755 already.

I have no idea what "autofs" is.

edh commented on 2021-03-17 08:44 (UTC)

@edward-p That's unexpected but just might be due to caching. Can you test the suggested papermc.conf and see whether that resolved the problem for you?

edward-p commented on 2021-03-17 00:54 (UTC) (edited on 2021-03-17 01:05 (UTC) by edward-p)

@edh I just noticed something weired, when I try to execute it manually after boot:

root:~/ # time systemd-tmpfiles --create --prefix=/srv/papermc
systemd-tmpfiles --create --prefix=/srv/papermc  0.93s user 1.58s system 96% cpu 2.595 total
root:~/ # time chown -R papermc:papermc /srv/papermc
chown -R papermc:papermc /srv/papermc  0.39s user 1.82s system 25% cpu 8.698 total

It shows that systemd-tmpfiles is even faster than chown.

But none of them took more than 2min!

So systemd-tmpfiles was only slow on system boot.


papermc.conf:

z /srv/papermc 2775 papermc papermc - -
Z /srv/papermc - papermc papermc - -

And, I put papermc on HDD.

edh commented on 2021-03-16 22:55 (UTC)

@edward-p hmm, I am not really sure how to handle this case neatly. I definitely don't want to hard-code the user ID into the PKGBUILD to make the /srv/papermc files belong to papermc but I admit slowing down the boot that much isn't nice either.

Can you try adapting the tmpfile to something akin to this:

z /srv/papermc 2775 papermc papermc - -
z /srv/papermc/* - papermc papermc - -
Z /srv/papermc/cache - papermc papermc - -
Z /srv/papermc/logs - papermc papermc - -
Z /srv/papermc/world* - papermc papermc - -

This basically excludes the plugins directory from being chowned recursively. Maybe your plugin only needs read access and will still work.

Btw. what kind of hard or solid state drive are you using? Even for thousands of files changing the ownership shouldn't take that long!

edward-p commented on 2021-03-16 19:26 (UTC)

Z /srv/papermc - papermc papermc - - can cause slow boot(since some plugin like dynmap have so many files in /src/papermc/plugins/dynmap):

$ systemd-analyze blame                                                                    
2min 23.574s systemd-tmpfiles-setup.service

$ journalctl -u systemd-tmpfiles-setup.service
Mar 17 03:17:02 Ezpro-V5 systemd-tmpfiles[340]: Running create action for entry Z /srv/papermc
Mar 17 03:19:25 Ezpro-V5 systemd-tmpfiles[340]: Running create action for entry z /srv/papermc

edh commented on 2021-01-17 15:13 (UTC)

@xiretza Yes, you're absolutely right! I fixed the issue just now!

xiretza commented on 2021-01-17 15:03 (UTC)

LICENSE_1.16.5+b427.md checksum is wrong - should be d4c645a58e1a17a0a1e42856a3cc43097711a05bf3d9f18c77c3bc9874417f223552859042ff00b7d3dda0003f49a9ee568540c2eb24e9f8fbb3c055f3b6e0a5.

edh commented on 2020-10-03 09:53 (UTC)

Unfortunately there was a bug related to the new way users are created. It has been fixed in the new release of the package but for servers already featuring a papermc user, manual intervention is needed: If you happen to encounter the error message This account is currently not available., you will need to update the login shell such that you can interact with the console again by running usermod -s /bin/bash papermc as root.

edh commented on 2020-07-20 08:11 (UTC) (edited on 2020-07-20 08:11 (UTC) by edh)

@mqs This file is just a remnant from a very old version. I'll delete it with the next release. Thanks!

About the sysusers.d and tmpfiles.d stuff: I have long toyed with the idea of switching. I definitely agree that this is superior to the way it is handled now. However, I do not have the time at hand to properly test it and as I know that quite a few use my script and minecraft packages "productively" I am reluctant to roll out the changes just yet. If you are willing to test the changes that would be really awesome.

It could be as easy as

/usr/lib/tmpfiles.d/papermc.conf

z /srv/papermc 2775 papermc papermc - -
Z /srv/papermc - papermc papermc - -

and

/usr/lib/sysusers.d/papermc.conf

u papermc - "PaperMC Server" /srv/papermc -

mqs commented on 2020-07-18 16:20 (UTC)

Whoops, I accidentally deleted my previous comment. Short summary, there is paper.install in https://aur.archlinux.org/cgit/aur.git/tree/?h=papermc, which does not seem to be used. Is that on purpose?

On another note: you might want to consider using sysusers.d and tmpfiles.d for managing the papermc user and the server directory, instead of using the install file, but I can see that it might create some issues with the server jarfile. If it doesn't, it is simpler and seems to be the arch way to go (other server packages do it that way)

edh commented on 2020-04-11 08:22 (UTC)

@jhogan Yes the license did indeed change and I definitely shouldn't pull it from master. I'll push a fix later today. Thanks for the comments!

jhogan commented on 2020-04-11 08:20 (UTC) (edited on 2020-04-11 08:22 (UTC) by jhogan)

Actually, I see that LICENSE.md has changed very recently, after the last AUR update (apologies for misplaced blame):

https://github.com/PaperMC/Paper/commits/master/LICENSE.md

Should that file be obtained from a specific tag rather than master branch?

jhogan commented on 2020-04-11 07:59 (UTC) (edited on 2020-04-11 08:27 (UTC) by jhogan)

As of today I get:

==> Validating source files with sha512sums...
    papermc.1.15.2+b165.jar ... Passed
    papermc-backup.service ... Passed
    papermc-backup.timer ... Passed
    papermc.service ... Passed
    papermc.conf ... Passed
    papermc.sh ... Passed
    papermc_1.15.2+b165_LICENSE.md ... FAILED
==> ERROR: One or more files did not pass the validity check!
Error downloading sources: papermc

It doesn't look like commit 67ffe26d726d updated the checksum for the LICENSE file?

edh commented on 2019-10-16 08:07 (UTC)

@HansCz I am sorry as well. My answer should have been more friendly! Content-wise it is still correct, though my choice of words was too harsh. I am sorry about that.

HansCz commented on 2019-10-16 01:01 (UTC)

Sorry for taking up your time with my bad report. I will heed your advice and do better next time.

edh commented on 2019-10-15 09:35 (UTC)

@HansCz Please try to reproduce your error in a clean chroot! Pasting the output of some AUR helper is no help at all! My guess would be that you are building in a dirty directory or on a miss-configured mount. Having two consecutive forward slashes is definitely not the problem /.

P.S. please make sure that you understand how the AUR works and how to interpret shell scripts (the PKGBUILD is basically one).

HansCz commented on 2019-10-14 21:57 (UTC)

Also, when i do an ls, I don't see a ./log in it?:

$ ls /var/cache/private/pikaur/build/papermc/pkg/papermc/srv/papermc papermc.1.14.4+b209.jar papermc_server.jar

HansCz commented on 2019-10-14 21:55 (UTC)

Hey, I the package fails to build for me with this error message:

==> Starting package()... install: cannot change permissions of ‘/var/cache/private/pikaur/build/papermc/pkg/papermc//srv/papermc/logs’: No such file or directory ==> ERROR: A failure occurred in package(). Aborting...

Looks to me like there is one '/' too many in that path?

Thanks for making the package, edh

edh commented on 2019-10-08 08:26 (UTC)

@ShayBox I vigorously disagree with your statement!

Starting with the obvious first point that software designed for a generic platform is usually meant to be self-contained and hence generic, does not mean one should not attempt to package it. I am very glad to be able to for example install electron based apps (signal-messenger, vscode, ...) not via some download link but via a package manager. This comes with the upsides of having dependency management, versioning and automatic updating built-in.

Secondly, the server is clearly not running as root as can be easily seen from the systemd units and the management script. I have no clue why you would imply otherwise. For the purpose of having an isolated user for running the server, a new papermc user is created. The user has only access to the files which are necessary to run the server. Running the server as the user with which you are logged in is not a good idea as any exploit affecting minecraft will automatically has potentially much more devastating consequences since it can read from and write to a lot more paths.

In conclusion, I strongly suggest that you rethink whether you want to recommend others to run their servers as you describe it. I have no objection if you personally prefer to run the manually downloaded jar file as the user you are logged in with, without any management service, but I urge you to refrain from suggesting others that this is a good solution.

shaybox commented on 2019-10-07 23:11 (UTC)

Minecraft servers aren't usually installed as system packages, the services are useful but I would set this up as a non-root user with user systemd units, instead of this AUR package.

edh commented on 2019-09-03 10:54 (UTC) (edited on 2019-10-22 09:52 (UTC) by edh)

Unfortunately, upstream does not really have proper releases but instead points to build-versions of the software. Note, I will not push every new build of the package to the AUR but I will update the package upon new minecraft releases, e.g. for 1.14.4 to 1.14.5.