pelican-eggs / eggs

Service eggs for the pterodactyl panel
MIT License
2.86k stars 2.32k forks source link

[Bug]: tModLoader #2023

Closed falceso closed 1 year ago

falceso commented 1 year ago

Panel Version

Wisp v2.4.33

Wings Version

Wisp v2.0.28

Service

tModLoader

Modified

Yes, I modified the egg (will provide details below)

Expected Behavior

The difficulty variable works when setting the value to 1 for expert and an expert world is generated.

Actual Behavior

The difficulty variable is not considered in the command-line parameters and should be set in the serverconfig.txt instead, similar to the Terraria Vanilla egg. Don't forget to add -config serverconfig.txt to the startup line for the file to be read.

Steps To Reproduce

Step 0 - Install a mod on the client and server such as Calamity that requires Expert Mode on the world. Step 1 - Install a tModLoader server using this egg and set the difficulty variable to 1 in the startup parameters. Step 2 - Log into the world and see the following error from the Calamity Mod icon. https://i.imgur.com/jEEVVER.png

(Fix) Step 1 - Turn off the server, and head into the File Manager to edit serverconfig.txt, change on line #difficulty=1 to difficulty=1. You may delete -difficulty {{DIFFICULTY}} from the startup command. Step 2 - Change or delete the current world used. Step 3 - Log into the server again and hover over this icon again. https://i.imgur.com/9AbiCjm.png

Install logs

https://pteropaste.com/u2saws/

QuintenQVD0 commented 1 year ago

Does it work if you change it the variable so the startup changes. Then delete the world folder and then start the server

falceso commented 1 year ago

If I'm understanding what you're asking, I've forcefully set the difficulty to 1 as shown below and delete the world.

./tModLoaderServer -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -difficulty 1 -password "{{SERVER_PASSWORD}}" -motd "{{MOTD}}" -lang {{LANGUAGE}} -world ~/saves/Worlds/{{WORLD_NAME}}.wld -worldname {{WORLD_NAME}} -autocreate {{WORLD_SIZE}} -savedirectory ~/ -tmlsavedirectory ~/saves -modpath ~/mods

This does not appear to work. I have also consulted a "Knowledgeable" person in the tModLoader Discord and they claim

no its not the game doesnt read it at all

QuintenQVD0 commented 1 year ago

If I'm understanding what you're asking, I've forcefully set the difficulty to 1 as shown below and delete the world.

./tModLoaderServer -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -difficulty 1 -password "{{SERVER_PASSWORD}}" -motd "{{MOTD}}" -lang {{LANGUAGE}} -world ~/saves/Worlds/{{WORLD_NAME}}.wld -worldname {{WORLD_NAME}} -autocreate {{WORLD_SIZE}} -savedirectory ~/ -tmlsavedirectory ~/saves -modpath ~/mods

This does not appear to work. I have also consulted a "Knowledgeable" person in the tModLoader Discord and they claim

no its not the game doesnt read it at all

Is that the only variable that is not working? Then i have to do it with the file parser

falceso commented 1 year ago

I'm not too familiar with terraria, so I'm only basing this on client reports and reproducing them. Difficulty variable has been the most reported issue for world generation issues. From what I've been told, all the other variables works.

On a side note, is there a rule to prevent spaces in the world name? I haven't dug too deep but having a space in the world name results in a new world being generated upon every restart.

QuintenQVD0 commented 1 year ago

I'm not too familiar with terraria, so I'm only basing this on client reports and reproducing them. Difficulty variable has been the most reported issue for world generation issues. From what I've been told, all the other variables works.

On a side note, is there a rule to prevent spaces in the world name? I haven't dug too deep but having a space in the world name results in a new world being generated upon every restart.

Normaly we can set a regex to a variable what can be set to prevent spaces

QuintenQVD0 commented 1 year ago

This sound more like a tmodloader bug. That it does nor listen to that startup arg.

falceso commented 1 year ago

I'll go ahead and try to contact Terraria Support through email to see if they missed adding this variable in as a command line parameter.

falceso commented 1 year ago

Update: No response from the terraria support email. 🤷‍♂️

Can we just continue with the workaround for now of using the file parser to set the difficulty.