gekware / minecraft-server-hibernation

Autostart and stop minecraft-server when players join/leave
GNU General Public License v3.0
377 stars 36 forks source link

Forge Servers 1.17+ Installation Impossible #246

Open TheOnlyMann opened 11 months ago

TheOnlyMann commented 11 months ago

Okay, the title is a bit of a bait... but hear me out.

How to Run Forge 1.17+ Servers with MSH (This guide was written in Ubuntu 22.04 LTS, and thus might differ in windows)

  1. put run.sh in Commands-"StartServer": replace the entire "java xxx xxx" comment with "bash run.sh" if the starting server script is something else(start.sh) put that instead if you're on windows, just make that script execute the run.bat instead

  2. get a ""fake"" server.jar from the internet, renaming it, or just grab a fabric server.jar file easiest way without hassle is just downloading the minecraft vanila server jar from mojang's official websites.

  3. put all other parameters in, EXCEPT for the "StartServerParam" within Commands all other parameters are gonna be used for the msh. StartserverParam is used for server launch only, which we don't put in msh-config.json. instead follow 4th rule

  4. instead, edit the user_jvm_args.txt instead to get the desired JVM to your server this sets the server's launch jvm arguments, however it differs from certain pre-made server packs, so watch out.

This way, it can launch without msh making a error noise and still function well.

llleeeqi commented 5 months ago

Sorry, I cannot start the server during testing under Windows, I downloaded a "fake" server.jar as you said and placed it in the directory, Below is the relevant content, please tell me how I need to modify it. Game version: 1.19.2 Loader: forge Running environment: Windows (testing only, if feasible, will be transferred to Debian) I saw a prompt in the game saying 'error starting minecraft server (check logs)' image

This is the output of the terminal image

Here is my configuration file

{ "Server": { "Folder": "", "FileName": "server.jar", "Version": "1.19.2", "Protocol": 760 }, "Commands": { "StartServer": "run.bat", "StartServerParam": "", "StopServer": "stop", "StopServerAllowKill": 10 }, "Msh": { "Debug": 1, "ID": "70930aab22f80c5c2962baebe8ac6078cc6c1dfb", "MshPort": 25555, "MshPortQuery": 25555, "EnableQuery": true, "TimeBeforeStoppingEmptyServer": 360, "SuspendAllow": true, "SuspendRefresh": -1, "InfoHibernation": " §f状态:\n §b§l服务器已冻结可能需要稍后重新连接", "InfoStarting": " §f状态:\n §6§l服务器准备就绪,随时可以连接", "NotifyUpdate": true, "NotifyMessage": true, "Whitelist": [], "WhitelistImport": false, "ShowResourceUsage": false, "ShowInternetUsage": false } }

llleeeqi commented 5 months ago

I have tried many times but couldn't run successfully. Could you please tell me how to use it? I really need it. Thank you. "Commands":{ "StartServer": "Java bash run. bat", "StartServerParam": "",

"Commands":{ "StartServer": "bash run. bat", "StartServerParam": "",

"Commands":{ "StartServer": "run. bat", "StartServerParam": "",

"Commands":{ "StartServer": "Java Xmx1024M Xms1024M jar bash run. bat -- nogui", "StartServerParam": "", I have tried many ways to cooperate Either the same situation as the previous one, or image

llleeeqi commented 5 months ago

I was not very familiar with it, and MSH did not output Minecraft logs. I thought it was not running properly. After adjusting the log level, everything became clear

vrcoelho commented 1 month ago

Thank you so much for creating this issue. I was trying to figure it out myself for 1.20.

gekigek99 commented 1 month ago

Thanks @TheOnlyMann for the great guide... do you have any advice on how to make people's life easier programmatically?