ago

[RELEASED] Client mod loader

Recommended Posts

I can just run patcher.bat again to make this work with the latest WU Update yeah?

Share this post


Link to post
Share on other sites

https://github.com/ago1024/WurmClientModLauncher/releases/tag/v0.3.2

Version 0.3.2

  • Added default logging.properties
  • Enable logging per default
  • Log HUD console output
  • Log mod versions
  • Log class freezing

Log messages (including the console log) will go the client.log

NOTE: The shipped logging.properties will replace any existing logging.properties. If you intend to configure your own logging then please rename your config file and change the java.util.logging.config.file property in the LaunchConfig.ini

Share this post


Link to post
Share on other sites

thanks ago

Edited by razoreqx

Share this post


Link to post
Share on other sites

Ago, with the new Wurm update the other day, I transferred my server map and XML annotations from being directly inserted into graphics.jar to a separate .jar file to be handled by serverpacks and the custommap mod. The map and XML based markers work fine, but I keep losing player-added map annotations (alliance specifically, I haven't tried personal or settlement ones yet). Does the custommap mod support player-added annotations at this time? I thought maybe I should ask before I start disabling other mods to check for conflicts.

 

Thanks

 

Edit: I haven't updated to 0.3.2 yet.

Edited by Varcelli
extra info

Share this post


Link to post
Share on other sites

I haven't tried player annotations yet. It may be possible they are currently added to the original map and are lost when the custom map is loaded.

Share this post


Link to post
Share on other sites

Wow! That was extremely fast. Works perfectly.

 

Thanks so much for what you do for the Wurm Unlimited community, Ago! I, for one, very much appreciate it.

Share this post


Link to post
Share on other sites

Hey ago, i'm not really sure i fully understand how the startup works, but it seems that it's re-launching the JVM at some point?

 

Would it be possible to add a way to pass command line parameters to the second instance only?

 

Right now when i'm trying to start it with remote debugging, the parameter (-agentlib:...) is passed to both instances, so ~90% of the time the first one still holds the socket open when the second instance starts, leading to it crashing with an error.

Share this post


Link to post
Share on other sites

This is odd. I'm using the agentlib paramter in LaunchConfig.ini and never had an issue.

JvmParam1=-agentlib:jdwp=transport=dt_socket,address=localhost:8000,server=y,suspend=n

But you're right. On startup the Wurm client will check if it was started from Steam and force a restart from Steam. But maybe i'm so used to problems starting from the .exe that I go through the Steam startup by default.

 

Share this post


Link to post
Share on other sites

Hm i was usually doing it from the exe, I guess i'll try doing it through steam if that prevents this nonsense.

Share this post


Link to post
Share on other sites

hello ago

 

i dont get it work with the new mapsystem :/ i tried it local on my server, i copied the demopack.with.custom...jar in my serverpacks folder, i just renamed it to playtime.jar and at the wurmlogin.db i changed the mapname in the one serverline to Playtime

i tried that so much time now, maybe i am blind and cant see a small issue lol

 

if i login to my official server with the old mapsystem i see the picture, at local server there is no "download", always "missing image"

 

thank you 

Eject

 

Edit: Your demopack...jar is also original in the serverpacks folder, but also dont work

Edited by Eject

Share this post


Link to post
Share on other sites

Long story short: It's not working as expected.

 

The details:

The mapunlimited.xml (or map.xml in WO) has several layers

  • cluster overview (this is probably shown when a player chooses a cluster after the tutorial)
    The cluster overview shows map.portal as background and the <clusterbutton> entries for each cluster.
  • cluster (the map with all freedom or epic maps)
    The cluster shows map.<clustername> as background and all <buttons> (maps) from the cluster.
    A click on a button opens the selected map
  • map (the actual map image)
    It shows <mapTextureName> as background and all <towns> and annotations
    The towns and annotations do not link anywhere
  • submap (this is a slightly higher resolution map, used on Xanadu)
    It shows <mapTextureName> + "0" (i.e map.xanadu0) as image and is used for zooming

All map images are 920x620 except for the submap which is 1840x1240

 

The buttons all have <xPosition>, <yPosition>, <width> and <height> as active region. When the mouse hovers over the button the "glow" image is displayed in that area. The glow image is either <mapTextureName> (for <clusterbutton>) or <mapTextureName>.glow (for <buttons>)

 

When a player logs in the server sends the current cluster number and the mapname (from wurmlogin.db). The mapname is used to create the map identifier "map." + lowercase(mapname).

The game then selects the correct cluster from the cluster number and checks the maps (<buttons>) for a map with the map identifier as mapTextureName. If it can't find a map it will display the cluster map.

CustomMapMod will automaticly create an empty entry for any mapname that's not in mapunlimited.xml

 

Annotations are sent from the server and stored on the current map. The annotations are discarded if there is no entry for the current map (i.e. CustomMapMod is not running). A custom mapunlimited.xml from a serverpack is usually loaded after the annotations have been sent. So even if the custom mapunlimited.xml has an entry for the map, the annotations are already discarded by the time that custom mapunlimited.xml is read.

 

To navigate from the current map to the cluster map there is a button in WO with an option to select the cluster to display. This button was removed in WU.

So servers that actually have a cluster setup will not be able to show the other maps to players unless they are on that map.

 

 

While I was assuming there was a possibility to have subpages to a map, it does not work. The next idea was to show the subpages as separate "maps" on the cluster but that's not working either because in WU players can't navigate up to the cluster map.

 

The best you can currently do is write the news directly to the map image.

Share this post


Link to post
Share on other sites

Hello

I have a Problem, my Custom map is ever missing files, he´s downloading not the map from Server .

 

My Config:

The mapname in Login.db is  riverbayq

 

riverbay.jar in the Serverpack folder

maps/riverbay.png  (size=920x620)

mappings.txt :

map.riverbayq =maps/riverbay.png

 

serverpack.properties:

 

classname=org.gotti.wurmunlimited.mods.serverpacks.ServerPackMod
classpath=serverpacks.jar
serverpacks=riverbay.jar
#Set a fixed port. If no port is selected a random free port will be used
#serverPort=8787
# Use this to announce a different server name or IP address to the clients
# By default the setting "External Server IP Address" will be used for pack URLs
# This setting may be required when doing port forwarding in the router
#publicServerAddress=
# Use this to announce a different server port to the client
# By default the serverPort or the automaticly choosen port will be used
# This setting may be required when doing port forwarding in the router
#publicServerPort=
 

He has Work before the last Update is comming.

 

 

 

Share this post


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

serverpacks=riverbay.jar

Should be

serverPacks=riverbay.jar 

(uppercase P)

Edited by ago

Share this post


Link to post
Share on other sites

Hey Ago, was wondering if you have an api or instructions on how to make a mod with your mod loader? Thanks.

Share this post


Link to post
Share on other sites

The server modloader has a couple of docs in the github wiki. But there's no full-detail api documentation yet

Share this post


Link to post
Share on other sites

I cannot get this to work at all.  I get the following :

D:\Steam\steamapps\common\Wurm Unlimited\WurmLauncher>..\runtime\bin\java -class
path patcher.jar;javassist.jar org.gotti.wurmunlimited.patcher.PatchClientJar
The system cannot find the path specified.

D:\Steam\steamapps\common\Wurm Unlimited\WurmLauncher>pause
Press any key to continue . . .

 

This is just a client, and Steam is not in the default location on the C drive. I get no additional info and do not find this specific problem posted anywhere else. Once I press any key the cmd screen goes away and nothing works. Any insight is appreciated.

Share this post


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

I cannot get this to work at all.  I get the following :

D:\Steam\steamapps\common\Wurm Unlimited\WurmLauncher>..\runtime\bin\java -class
path patcher.jar;javassist.jar org.gotti.wurmunlimited.patcher.PatchClientJar
The system cannot find the path specified.

D:\Steam\steamapps\common\Wurm Unlimited\WurmLauncher>pause
Press any key to continue . . .

 

This is just a client, and Steam is not in the default location on the C drive. I get no additional info and do not find this specific problem posted anywhere else. Once I press any key the cmd screen goes away and nothing works. Any insight is appreciated.

Are you putting the contents of the client mod loader into your client directory? It does not patch the client from outside the clients directory.

my path is D:\SteamLibrary\steamapps\common\Wurm Unlimited\WurmLauncher and it works just fine.

Share this post


Link to post
Share on other sites

Yes, I am following the directions posted by others and have now found a video on this, which actually drags and drops into the Wurmlauncher directory rather than unzips, which is what I tried first. I am doing exactly what they suggest and everything is identical to what they are doing until I run the batch file and I get the above text.

 

 

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