Direct answer

Keep the running server in one clearly owned directory and backups outside that directory. This reduces permission errors, accidental recursive copies and ambiguity about which JAR or world is active.

Suggested layout

An example is /srv/minecraft/ for the live server and /srv/minecraft-backups/ for completed archives. Your hosting panel may require a different location; use its documented path instead of moving files behind its back.

  1. Create the service user first, then make the live directory using administrative access, for example sudo install -d -o minecraft -g minecraft -m 750 /srv/minecraft.
  2. Keep server.properties, plugins/, config/ and world folders together unless a supported software layout says otherwise.
  3. Before launching, check ls -ld /srv/minecraft and inspect ownership for files copied from another machine.

Start and test

Launch the server as the service account from the correct working directory; test that it can read its JAR and write the log and world data. Do not solve permissions by applying chmod -R 777 or running Java as root.

Version and safety notes

Paths and permissions shown assume a self-managed Linux host. Do not modify directory layout behind a hosting panel without its guidance.

Maintenance and rollback

Put backup output outside the live directory so an archive job does not recursively include prior archives. Stop the server cleanly before a basic filesystem backup, preserve the old folder until restore is tested and document changes to paths used by systemd, scripts and the control panel.

References

Check documentation for the versions and hosting environment you actually run.

Was this article helpful?
Help us improve this article

Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.

What could we improve?
Do not include passwords, server IPs, or other private information.0 / 1000