I created this because I'm annoyed with managing my various servers through the command line. I'm also quarantined for COVID-19 and I am bored. For now I'm only planning to add support for Vanilla and PaperMC servers. If there is interest I may add more in the future (such as Bedrock or Pixelmon).
If you like this project, consider donating. I do all this in my spare time without making any profit so anything is appreciated!
- ✔️ Download Vanilla (Java Edition) Jar
- ✔️ Download PaperMC (Spigot) Jar
- ✔️ Automatically "sign" EULA
- ✔️ Import existing servers
- ❌ Bedrock Editon servers
- ❌ Snapshot servers
- ✔️ Manage multiple servers
- ✔️ GUI
server.properties
editor with explanations & recommended settings - ✔️ Start/stop servers (even after McServerman has restarted!)
- ✔️ Restart servers
- ✔️ Delete servers
- ✔️ Run Jar using Java 8 JRE
- ❌ Install & manage plugins (PaperMC/Spigot)
- ❌ Download Java 8 JRE for best compatibility
- ✔️ Upload existing worlds
- ✔️ Download active world (currently downloads entire server)
- ❌ Backup/Restore (not the same as download/upload: these are server-side restore points) (Required for 0.2.0a release)
- ❌ Regenerate world (i.e. erase current world and start a new one) (Required for 0.2.0a release)
- ❌ World switching (example: switching between a parkour map and a survival map) (Required for 0.2.0a release)
- ❌ Create new worlds with option to set custom seeds
- ❌ Upgrade for new versions (example: 1.12 -> 1.13). See here and here for notes on the
--forceUpgrade
flag.
- ✔️ Whitelist
- ✔️ "Op" and "Deop"
- ✔️ Bans (player and IP)
- ✔️ Run the above functions before players have ever joined using player UUID's
- ❌ List all players who have previously joined and run the above functions on them (Required for 0.2.0a release)
- ❌ Player permissions
- ❌ System & server uptime
- ❌ System & server resource usage (monitor & historical data)
- ❌ World size (including growth over time)
- ❌ Graphs!
- ❌ Player statistics (# of joins; average playtime; etc.)
- ❌ Insights (Interesting tidbits on existing statistics)
- ❌ Email or SMS
- ❌ Server crashes
- ❌ Heavy resource usage/lag
- ❌ Player alerts (join, auto-kick, etc.)
- ❌ Backup tasks
- ❌ password authentication
- ❌ OAuth authentication (maybe)
- ❌ Decent Wiki pages (installation, usage, etc.)
- ❌ Automatically set up
systemd
on Linux for McServerman - ❌ Auto port-forward with UPnP (or a guide on port forwarding)
- ❌ Web console with RCON (RCON is working; however Web console is not added yet!)
- ❌ Mobile-friendly version
- ❌ Progressive Web APP (PWA)
- ❌ Run using paperd on Unix systems
- Supported OS:
- Linux - Recommended
- Windows - Experimental
- macOS - Not supported but probably works
- Latest LTS Node.js (verified working with Node 13.12, but others may work as well)
- Also ensure both NPM & Git are installed and working
- Preferably at least 8GB RAM (for the Minecraft server; McServerman alone runs on a potato)
- Java 8 64-bit (will not run on 32-bit. 32-bit support will not be added due to RAM limitations)
- Command line experience is very helpful
Linux (Windows/macOS probably work with this as well)
$ git clone https://github.com/tycrek/McServerman.git
$ cd McServerman/
$ npm i
$ node app.js
If all goes as planned, you should see: Server hosted on 0.0.0.0:7767
- After running
node app.js
, open your browser and navigate to: localhost:7767 - If this is the first time the app is run, you will be greeted with the setup page (import coming soon).
- Select Server type
- Select desired Game version
- Name your server
- Click Create server and wait
- After the first server has been created, the homepage will be a list of your servers. To manage a server, click the View button for that server.
- The server dashboard page lists if the server is online or offline; number of connected (and maximum) players; and other helpful information.
- Start the server by selecting Start/Stop. It is important that you wait for the Status indicator to show "Online" before stopping the server or attempting to start it again (this will be improved in the future).
- You can edit the
server.properties
file from the server dashboard. Make sure you click Save changes once you have made your edits.- Note: In order for McServerman to function optimally, it will force enable
enable-query
andenable-rcon
. Make sure you setrcon.password
, otherwise you may not be able to safely stop the server and you could lose data! If you do not setrcon.password
, McServerman will create one for you.
- Note: In order for McServerman to function optimally, it will force enable
- You can also add/remove players from the server whitelist in the table below the properties table. Make sure to also enable the whitelist in
server.properties
. To use the updated whitelist, restart your Minecraft server. - To stop McServerman, go to the console or terminal where you ran
node app.js
and pressCTRL+C
on your keyboard. Any active Minecraft servers will stay active, so this is usually safe.
Assume all versions include patch unless specified. i.e. 1.15 includes 1.15.2, etc.
- All features tested and confirmed working or stable. Even so, take this with a grain of salt until McServerman as a whole is stable.
- Briefly tested but might have problems. Use at your own risk.
- Tested and known to not work.
- Not tested. Unconfirmed if anything works.
Version | Vanilla | Paper |
---|---|---|
1.16 | ||
1.15 | ||
1.14 | ||
1.13 | ||
1.12 | ||
1.11 | ||
1.10 | ||
1.9 | ||
1.8 | ||
1.7 & below |
- Development is slow because I get distracted easily.
- Currently only works on Linux. macOS and
Windowssupport will probably need to be done by other developers as I don't own either system. Update: Basic Windows support is now available - 32-bit operating systems and Java are not supported. This is on purpose. Buy a new computer if this is a problem.
Some stuff that would be really helpful to me:
- New features
- Code cleanup
- Security improvements
- Bug fixes
- Translations?
- Mojang and Markus Persson (Notch) for making the best lasagna recipe I have ever tasted
- PaperMC for a fantastic third-party server. PaperMC GitHub
- VSCodium because @#$% Microsoft.
- MCVersions.net for providing download links for server Jar files
- PlayerDB for providing information on player UUID (assists in player operations before they have ever joined)
- Official Minecraft Wiki - Gamepedia
- Daniel Ennis for providing invaluable information on JVM garbage collection to improve running Minecraft servers
I thought it would be funny because it sounds like "McDonalds". The full name is "Minecraft Server Manager".
Trivago.