ago

[RELEASED] Server mod loader + priest + crops + seasons + server packs + bag of holding

Recommended Posts

It appears the game is using an older version of SteamServerJni.dll which does not have SetGameTags added by the latest version.

The file is usually in the nativelibs folder. If an older version is found in

* any folder in the PATH environment variable,

* the Windows folder,

* the same folder as WurmServerLauncher.exe or java.exe or

* the folder you were in when you started the WurmServerLauncher.exe or modlauncher.bat

it may be used instead of the one in nativelibs.

 

If the file in nativelibs is not up to date (i.e. older than Feb 4th) then try revalidating the server. If this does not work then remove the file and revalidate.

If the file is up to date the try to find any SteamServerJni.dll file that might interfere with the dedicated and rename those, revalidate and try to start the server.

Share this post


Link to post
Share on other sites

Ok replacing the nativelibs file worked.

 

Thanks a heap.

Share this post


Link to post
Share on other sites

I think there's an issue in updating the servers.

 

I once had Steam update the dedicated server while it was running. This caused a crash due to the now missing .class files in the updated jar. But if the dlls are changing and the server is running there's no way to switch the dlls while they are loaded in the running server. So this is probably what happened here.

Share this post


Link to post
Share on other sites

How do I cut down the amount of debug/console spam that the modded server creates?  Some of it useful, but once the server is launched and connected to Steam, I don't really want to see the rest of what's going on.

Share this post


Link to post
Share on other sites

You can reduce the loglevel from INFO to WARNING in logging.properties.

java.util.logging.ConsoleHandler.level = WARNING

 

Share this post


Link to post
Share on other sites
12 minutes ago, ago said:

You can reduce the loglevel from INFO to WARNING in logging.properties.


java.util.logging.ConsoleHandler.level = WARNING

 

AWESOME!  Thank you.  I'll give that a try. 

Share this post


Link to post
Share on other sites

when the mod is installed, would the file change from crop.disabled to crop.properties?

Share this post


Link to post
Share on other sites
6 hours ago, ago said:

no. you have to rename the file to enable the mod

 

Just to clarify, I simply load the mods into the folders, patch it, then rename from .disabled to .properties?

 

 

I am being hosted by citadel servers and uncertain how to load the mod other than their system, which, I assume, they patch. 

Share this post


Link to post
Share on other sites

In the base directory for the server you would unpack the files - so there will be a mods folder there as well as the patcher files for the modloader. You need to run the patcher.bat (if Windows host) or patcher.sh (if Unix/Linux host) each time the server is patched from Wurm Unlimited updates. In the mods folder there will be the .disabled files whihc need to be changed to be .properties for any mods you actually want to run. Some of these files have configuration setting for the mod you can change, but not all of them do.

 

If you only have ftp access to the host you would have to change the files locally then ftp them to the server. If you can't run the patcher.bat/patcher.sh file on host you would have to do that locally as well (get the dedicated server code from steam under tools, and install the modloader there, patch, then upload the changed files to host).

 

Hope that is somewhat clear, and it helps.

  • Like 2

Share this post


Link to post
Share on other sites

Found a problem with the bags of holding mod. It breaks fruit presses so they no longer can be used. Also if you drop a fruit press on the ground with the mod active it will disappear and cause any client that tries to load that tile it was dropped on will freeze up.

 

I cycled the mod many times and tested the fruit press each time and every time it worked normally with the mod disabled and not at all with it enabled.

 

Also discovered that Bags of Holding was the source of a crash that happened when using a bucket with CoC cast on it to milk.

Edited by Sylena

Share this post


Link to post
Share on other sites

I'm looking into it. I've tried to reproduce it with the beta branch but was unable to. I'll see if the stable branch is different or if special circumstances cause the issue.

 

So far I was able to fill 9kg of strawberry juice into the fruit press.

 

Quote

[10:15:23] You magicly enlarge the small bucket.

[10:15:25] A small wooden bucket. It is made from birchwood. It could be improved with a log.

[10:15:25] Courier has been cast on it, so it seems to be possessed by something. [77]

[10:15:58] You start to milk the Mature fat brown cow.

[10:16:06] You have milked the Mature fat brown cow.

[10:16:06] You fill the small bucket with Brown cow milk.

[10:17:11] White, frothing, fat milk.

 

CoC on the bucket works too.

 

Can you please reproduce the crashes and send me the crash logs?

Edited by ago

Share this post


Link to post
Share on other sites

is there any documentation on how to use bag of holding? I did spawn a couple bags of holding on a GM character but i do not think that is the correct method?

Share this post


Link to post
Share on other sites

So, I need help getting the mod loader to run on Ubuntu 14.04 LTS. Starting with a fresh install of WU, I extract the latest version of modlauncher.zip into the WurmLauncher directory, and attempt to run patcher.sh in terminal after giving it executing permissions using chmod +x. It gives me an error that states basically it can't find the java file in the runtime folder. I assume this has something to do with the filepath used in the code not being recognized. So I open patcher.sh in Gedit and input the full file name of the java file from the wurm unlimited runtime directory. It works until it runs into more file path errors, this time with patcher.jar and javassist.jar. Again, I open patcher.sh and edit the file to include the full file path instead of the abbreviated version for the .jar files. It works, again. Until it hits another file path error... This time the error is in the patcher class PatcherClientJar in the patcher.jar file itself. I manually input modlauncher.jar's file path into PatcherClientJar.class and run it one last time. This time I don't get a file path error, but instead a java error. So, I don't know how to work around it. Below is the terminal log. Any help would be appreciated.
 

rhino@Yoshimi:~$ chmod +x '/home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh'


rhino@Yoshimi:~$ '/home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh'
/home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh: 4: /home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh: ../runtime/jre1.8.0_60/bin/java: not found


rhino@Yoshimi:~$ '/home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh'
Error: Could not find or load main class org.gotti.wurmunlimited.patcher.PatchClientJar


rhino@Yoshimi:~$ '/home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh'
Feb 14, 2016 2:18:41 AM org.gotti.wurmunlimited.patcher.PatchClientJar run
INFO: modlauncher.jar does not exist


rhino@Yoshimi:~$ '/home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher/patcher.sh'
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value 1547911516 in class file org/gotti/wurmunlimited/patcher/PatchClientJar
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

 

Share this post


Link to post
Share on other sites

change into the directory and run the patcher:

 

$ /home/rhino/.local/share/Steam/steamapps/common/Wurm_Unlimited/WurmLauncher

$ ./patcher.sh

Share this post


Link to post
Share on other sites

Hello ago

 

Can you explain me for what this is, and how i can use it?

 

  • Allow using a different network interface than the external server interface (bdew)

 

thank you

Eject

Share this post


Link to post
Share on other sites

Today we have got a weird exception only occuring on Linux, Windows works fine with the mod we coded. It is a very small mod only cleaning up two methods.

 

cannot be cast to javassist.bytecode.MemberrefInfo

 

Any ideas what causes this?

Share this post


Link to post
Share on other sites
1 hour ago, Sklo:D said:

Today we have got a weird exception only occuring on Linux, Windows works fine with the mod we coded. It is a very small mod only cleaning up two methods.

 

cannot be cast to javassist.bytecode.MemberrefInfo

 

Any ideas what causes this?

 

Can you provide the full error, with stacktrace if possible? What is being cast and where :P

Share this post


Link to post
Share on other sites
9 hours ago, Eject said:

Hello ago

 

Can you explain me for what this is, and how i can use it?

 

  • Allow using a different network interface than the external server interface (bdew)

 

thank you

Eject

 

For weird network setups, mostly if your server is in a VM or behind a NAT and doesn't have a public-facing IP (so you're port forwarding from elsewhere).

 

By default serverpacks listens on the IP address set in server settings (external IP). If you are behind a NAT, you will want to set this to the actual public IP that the clients see, but then the web server can't listen on it.

 

With this patch you can set an option (internalServerAddress) to the IP of the interface that the web server for pack downloads should listen on, or 0.0.0.0 to listen on all interfaces.

 

If what i wrote doesn't make any sense - you probably don't need this option :P

 

You will also likely need this mod or something similar for that to be useful.

 

 

Share this post


Link to post
Share on other sites

Modloader is not working with the newest beta, the runServer(...) method is not found because it was changed from "public void runServer(final boolean ps)" to "public void runServer(final boolean ps, final boolean isOfflineServer)" changing this in the modloader should solve the situation again. Will test this shortly.

Share this post


Link to post
Share on other sites

Thanks, I already could fix it for my test server, this is the only thing that needs to be changed. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now