Setting up and managing a Minecraft server involves configuring various settings within the server.properties
file. This file is crucial for defining how your server operates, from game modes to difficulty levels and beyond. However, incorrect handling of this file, particularly concerning file ownership, can lead to server startup failures. This article delves into a common issue encountered when editing server.properties
on Linux-based servers and provides a step-by-step solution to get your server back online.
A frequent problem arises when administrators modify the server.properties
file, often while logged in as the root user. While making changes is necessary, doing so directly as root can alter the file ownership, leading to permissions conflicts when the Minecraft server service attempts to start under a different, limited user.
Let’s consider a scenario where you’ve edited your server.properties
file and subsequently find that your Minecraft server fails to start. You might encounter errors when trying to start the mcserver.service
, and checking the service status using systemctl status mcserver.service
could reveal messages similar to the following:
Mar 22 20:17:50 <a href="http://143-42-138-85.ip.linodeusercontent.com" rel="ugc">143-42-138-85.ip.linodeusercontent.com</a> bash[647]: Information! The current user ($user) does not have ownership of the following files:
Mar 22 20:17:51 <a href="http://143-42-138-85.ip.linodeusercontent.com" rel="ugc">143-42-138-85.ip.linodeusercontent.com</a> bash[1562]: User Group File
Mar 22 20:17:51 <a href="http://143-42-138-85.ip.linodeusercontent.com" rel="ugc">143-42-138-85.ip.linodeusercontent.com</a> bash[1562]: root root /home/$user/serverfiles/server.properties.bak
Mar 22 20:17:51 <a href="http://143-42-138-85.ip.linodeusercontent.com" rel="ugc">143-42-138-85.ip.linodeusercontent.com</a> bash[647]: Information! please see <a href="https://docs.linuxgsm.com/support/faq#fail-starting-game-server-p" rel="ugc">https://docs.linuxgsm.com/support/faq#fail-starting-game-server-p</a>>
Mar 22 20:17:51 <a href="http://143-42-138-85.ip.linodeusercontent.com" rel="ugc">143-42-138-85.ip.linodeusercontent.com</a> systemd[1]: mcserver.service: Control process exited, code=exited, status=1/FAILURE
Mar 22 20:17:51 <a href="http://143-42-138-85.ip.linodeusercontent.com" rel="ugc">143-42-138-85.ip.linodeusercontent.com</a> systemd[1]: mcserver.service: Failed with result 'exit-code'.
This output clearly indicates a file ownership issue. The Minecraft server, running under a specific user (represented as $user
in the error), lacks the necessary permissions to access server.properties
or its backup file, server.properties.bak
, because these files are currently owned by the root
user and group.
To rectify this, you need to ensure that the server.properties
file and any backup copies are owned by the designated user for your Minecraft server instance. Here’s how to resolve this:
-
Change File Ownership: Use the
chown
command to change the ownership of theserver.properties
file. If you are logged in as root, the command would be:sudo chown $user:$user server.properties
Replace
$user
with the actual username of the limited user account under which your Minecraft server is intended to run. This command assigns both user and group ownership to the specified user. -
Address Backup Files: In some cases, simply changing the ownership of
server.properties
might not be sufficient, especially if backup files likeserver.properties.bak
exist with incorrect ownership. As seen in the error message, the.bak
file can also prevent the server from starting. To resolve this, you can remove the backup file:rm server.properties.bak
Alternatively, you could also change the ownership of the
.bak
file using thechown
command, similar to step 1, if you wish to retain the backup for any reason. -
Restart Your Server: After correcting the file ownership and dealing with any backup files, attempt to restart your Minecraft server service:
sudo systemctl restart mcserver.service
After performing these steps, your Minecraft server should now start successfully. It’s crucial to verify the service status again using systemctl status mcserver.service
to confirm that the server is running without errors.
Key Takeaway: Always be mindful of file ownership when managing your Minecraft server configuration files, especially server.properties
. Editing files as root can lead to unexpected permission issues. Consistently using the correct user and group ownership ensures smooth server operation and prevents startup failures related to file access permissions.