Sign in to follow this  
tmarchuk

[RELEASED] StableMaster Mod (Server) - v0.5 (May 20)

Recommended Posts

Sounds good. I'm not even sure what all a player can do (on a solo server there isn't much point in having a merchant or cross-server travel, etc.) so I'm glad you're doing that. Do you think trading player to player or selling via a merchant should or shouldn't work? I was just trying to err on the side of simple to start and disable as much as possible (nodrop, etc.) but if you have a list of what you want to work I can try making those work. I did test that I could load a token onto a boat with one character and then switch characters and unload with a second and redeem and it seemed to work so something with merchants is messing with it. Perhaps they change the ITEM_DATA fields for some other purpose and overwrite the ID of the animal that is stored. Thanks.

Share this post


Link to post
Share on other sites

I dont need the function of sales as its for pact system.. but some people might want to sell their high trait horses on a merchant...Nice way to run a horse shop..  

 

Just my .2

 

As far as my list.. I just need server transfer and your golden for me.

Edited by razoreqx

Share this post


Link to post
Share on other sites

Ok, I'll leave it for a future release.

 

Did you have to do any DB changes to get the merchant to sell the token? I've tried as both a normal player and as a GM and I can't get the personal merchant to take the token to sell as it is not tradable. Sorry for the noob Wurm question but am I missing a step here?

1. Purchase personal merchant contract from trader

2. Go to a house that has permissions for people to enter

3. Right-click on contract and choose Manage traders

4. Give them a name and click Send and the trader appears.

5. Initiate trade with them and try to drag the animal token to the top right corner (I tried all corners with the same effect)

6. I get green text in the Event window saying "an animal token in not tradable." Token remains in my inventory. Redeeming token works as normal.

 

I also tried to 'give' it as a GM and nothing happens. Thoughts?

Thanks.

 

I've also coded up something that might mostly work for intra server transfers but I need to do some testing before I send it out. For sure it won't properly handle items on the animals right now. If it does what I think it will it will properly move those items over but it would require a server restart on the destination to get those items to appear on the animal (not exactly useful.) Also it doesn't delete the items on the source server yet. If it works I'll look at adding those other capabilities.

  • Like 1

Share this post


Link to post
Share on other sites
1 minute ago, tmarchuk said:

Ok, I'll leave it for a future release.

 

Did you have to do any DB changes to get the merchant to sell the token? I've tried as both a normal player and as a GM and I can't get the personal merchant to take the token to sell as it is not tradable. Sorry for the noob Wurm question but am I missing a step here?

1. Purchase personal merchant contract from trader

2. Go to a house that has permissions for people to enter

3. Right-click on contract and choose Manage traders

4. Give them a name and click Send and the trader appears.

5. Initiate trade with them and try to drag the animal token to the top right corner (I tried all corners with the same effect)

6. I get green text in the Event window saying "an animal token in not tradable." Token remains in my inventory. Redeeming token works as normal.

 

I also tried to 'give' it as a GM and nothing happens. Thoughts?

Thanks.

 

I've also coded up something that might mostly work for intra server transfers but I need to do some testing before I send it out. For sure it won't properly handle items on the animals right now. If it does what I think it will it will properly move those items over but it would require a server restart on the destination to get those items to appear on the animal (not exactly useful.) Also it doesn't delete the items on the source server yet. If it works I'll look at adding those other capabilities.

 

 

Disregard the trade.  The flags got removed by one of my custom scripts for boss events.  Exempted your ticket ID from the script and its working fine.

Let me know when you have something for cluster transfer working and i'll pop it in.

 

 

Share this post


Link to post
Share on other sites

I will send you my logs, have been at RL work for 2 days i will have time to get you that info today.

 

 

  • Like 2

Share this post


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

I will send you my logs, have been at RL work for 2 days i will have time to get you that info today.

 

 

Thank you!

Share this post


Link to post
Share on other sites

Is this what you need?

 

[03:29:24 PM] INFO org.gotti.wurmunlimited.modloader.ModLoader: ModLoader version v0.16.1-8841651
[03:29:24 PM] SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: org/gotti/wurmunlimited/modloader/interfaces/WurmServerMod
java.lang.NoClassDefFoundError: org/gotti/wurmunlimited/modloader/interfaces/WurmServerMod
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at javassist.Loader.findClass(Loader.java:377)
    at org.gotti.wurmunlimited.modloader.classhooks.HookManager$1.findClass(HookManager.java:110)
    at javassist.Loader.loadClass(Loader.java:309)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.gotti.wurmunlimited.modloader.ModLoader.loadModFromInfo(ModLoader.java:149)
    at org.gotti.wurmunlimited.modloader.ModLoader.loadModsFromModDir(ModLoader.java:74)
    at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:18)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at javassist.Loader.run(Loader.java:288)
    at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
Caused by: java.lang.ClassNotFoundException: org.gotti.wurmunlimited.modloader.interfaces.WurmServerMod
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at javassist.Loader.delegateToParent(Loader.java:426)
    at javassist.Loader.loadClass(Loader.java:312)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 16 more
 

 

Severer crashes instantly.  cant even watch console

Edited by SuperFly

Share this post


Link to post
Share on other sites

SuperFly, I think you need a newer version of ago's server modloader.

Share this post


Link to post
Share on other sites

Yup that's the right information and yup Joedobo is right. You need to update Ago's mod loader to v0.18. You have 0.16.1. Thanks for the quick response!

Share this post


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

Thanks Razor. I definitely didn't test that and I'm surprised you were able to get it onto the personal merchant to start with because I thought I flagged the item as NOTRADE, NOBANK, etc. Sounds like you want to sell them though so I'll look into it, thanks.

 

Your mod sounds really awesome, it would be interesting if the animals in form of this token are starving in the merchant.

would it be able in the future to create these "title deeds" for other stuff too? like to send a bulk full of bricks via this token to another player. maybe its a lot more to code, i think about...players could rename an bsb with a unique identification and give the npc this identification to create a token.

 

sorry if i look to much in the future, i am a little bit tired and just got this idea ;D

Edited by Eject
  • Like 1

Share this post


Link to post
Share on other sites

I am running 0.18 or so my provider console claims I am

 

Wurm Modloader 0.18 -d64 -server -Djava.library.path=C:\TCAFiles\Users\RichardA\2833\nativelibs -Xmn256M -Xmx1024M -Xms1024M -XX:+OptimizeStringConcat -XX:+AggressiveOpts -jar C:\TCAFiles\Users\RichardA\2833\modlauncher.jar start=Creative_c ip=76.164.234.18 externalport=3774 queryport=27066

 

Restored backup to fix mines, not sure that is was your mod... I was supposed to "update Database" on my console and did but I think whgatever they have running to do this actually screwed up my server not your mod, The mod just crashes my server, does the log i pasted reflect a older version of the loader??

 

Thanks

 

Share this post


Link to post
Share on other sites

NPC need to be placed by GM ? or where ad how it is spawned?

Share this post


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

 

Your mod sounds really awesome, it would be interesting if the animals in form of this token are starving in the merchant.

would it be able in the future to create these "title deeds" for other stuff too? like to send a bulk full of bricks via this token to another player. maybe its a lot more to code, i think about...players could rename an bsb with a unique identification and give the npc this identification to create a token.

 

sorry if i look to much in the future, i am a little bit tired and just got this idea ;D

It is technically possible to make the animals age and/or gain hunger while in this state but I disabled it because I didn't want to deal with all the cases of what happens if the animal dies while a token, etc. I suppose there is a possible mechanism that could be added to convert bulk orders of things into tokens to enable easier transport/selling of things but I'm not sure where the balance lies with making the game too easy. At some point you're just disabling the affect weight has on movement and/or removing item number/space limits. I suppose if there is a lot of interest I could look into it but it's not on my list right now, sorry.

 

7 hours ago, SuperFly said:

I am running 0.18 or so my provider console claims I am

 

Wurm Modloader 0.18 -d64 -server -Djava.library.path=C:\TCAFiles\Users\RichardA\2833\nativelibs -Xmn256M -Xmx1024M -Xms1024M -XX:+OptimizeStringConcat -XX:+AggressiveOpts -jar C:\TCAFiles\Users\RichardA\2833\modlauncher.jar start=Creative_c ip=76.164.234.18 externalport=3774 queryport=27066

 

Restored backup to fix mines, not sure that is was your mod... I was supposed to "update Database" on my console and did but I think whgatever they have running to do this actually screwed up my server not your mod, The mod just crashes my server, does the log i pasted reflect a older version of the loader??

 

Thanks

 

Sorry I don't know much about how providers work, I run locally. 'Update Database' does sound suspicious although mining is actually the map_cave.map file and not technically in the database. My mod should have no effect on that file or mining at all. The log you posted indicates you are running an older version. It's the first line of the log " [03:29:24 PM] INFO org.gotti.wurmunlimited.modloader.ModLoader: ModLoader version v0.16.1-8841651 ". If you have 0.18 this should say v0.18. Perhaps the provider downloaded and extracted the modloader but didn't re-patch the server?

 

6 hours ago, masaykh said:

NPC need to be placed by GM ? or where ad how it is spawned?

Yes the NPC needs to be placed by the GM right now. I could look into spawning it somehow but I don't have any good ideas for the right conditions. Alternatively, if you don't actually want to deal with the NPC or paying the NPC you can change the StableMaster.properties file to enable no-NPC exchanges with "enableNoNpcExchange=true" and then you can just right-click on any animal you are leading and you will get the same option except it won't bring up the dialog or charge you.

Share this post


Link to post
Share on other sites

How do I summon stable mast do not see it in list of summonable creatures?

 

BTW, My provider console reflected i was running 0.18 contrary to what you said the logs reflected, so I uninstalled an reinstalled mod loader and server came up.

 

==================

 

Update:  All works now..   One question any way to place these on a merchant?  Says they are not tradeable?

 

Thanks

 

Edited by SuperFly

Share this post


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

How do I summon stable mast do not see it in list of summonable creatures?

 

BTW, My provider console reflected i was running 0.18 contrary to what you said the logs reflected, so I uninstalled an reinstalled mod loader and server came up.

 

==================

 

Update:  All works now..   One question any way to place these on a merchant?  Says they are not tradeable?

 

Thanks

 

Currently no but I can look at making them tradable. Maybe I'll add it as an option and default it off. Making it tradable should be easy, just clear that option but then there are possible bugs where someone starts a trade then redeems the token then completes the trade, etc. So I'd have to check all those things and prevent them. I'll look at it after I get the cross server transfer working and attend to a couple other ideas I had. 

Share this post


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

Currently no but I can look at making them tradable. Maybe I'll add it as an option and default it off. Making it tradable should be easy, just clear that option but then there are possible bugs where someone starts a trade then redeems the token then completes the trade, etc. So I'd have to check all those things and prevent them. I'll look at it after I get the cross server transfer working and attend to a couple other ideas I had. 

 

 

Thanks for the help, and great work on the mod so far.  Seems to work fine, Crossing servers wouild be excellent, as well as being able to sell them on a merchant!!  Thinking I can maybe place the token in a chest then sell the key on a merchant??  Anyhow thanks!!!

 

SuperFly

Share this post


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

 

 

Thanks for the help, and great work on the mod so far.  Seems to work fine, Crossing servers wouild be excellent, as well as being able to sell them on a merchant!!  Thinking I can maybe place the token in a chest then sell the key on a merchant??  Anyhow thanks!!!

 

SuperFly

Unfortunately I don't think it'll let you put it in a chest but you could put it in a boat and sell a key to the boat. :)

Share this post


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

hows the server transfer going?

Not bad. I originally expected around 40 hours of work to add server transfer (hence my week+ comment) but at about 25 hours now it's mostly done. Should be a bit less than 100 hours for the whole mod. The transfer seems to work properly for the tokens, animals, animal skills, animal items, animal offspring. It doesn't transfer brands or village permissions as the village the brand is for won't exist on the new server. On transfer if the tokens were on a boat the tokens and the animals are properly destroyed on the source server (in the database as well) but I'm still struggling to handle destroying the animal tokens carried in a person's inventory. The problem is that the code isn't very definitive when the player transfer completes/succeeds. There seem to be multiple places this can happen and it seems like it can fail very late in the process even after the player finishes transferring to the new server. The unmodified transfer code doesn't bother cleaning up these items but instead when the user transfers back to the original server they wipe these items then. This causes problems for animal tokens because you can then end up with multiple tokens for the same animal causing grief (for those programming-inclined animal tokens are essentially like pointers or references to the animals.) Catching all those edge cases seems impossible/brittle so I'm continuing to see if I can find a way to identify that the player successfully transferred and then delete the animals in their inventory at that point. If not the fallback will be to disable transferring tokens in your inventory, they'll have to be in the boat or they'll get flagged as 'won't be transferred' and they'll be available if you transfer back.

 

TL;DR - Still on track for end of this week to release a version to test.

  • Like 1

Share this post


Link to post
Share on other sites

Version 0.3 is posted with server transfer capability. Please test and provide feedback on this capability. I've done a bunch of testing but I might have missed things. Note I do see a bunch of errors in the logs related to player achievements not being parse-able after a transfer but I don't think I changed this and looking at the code briefly I can't figure out why it doesn't work. Essentially it's writing the right value to the DB as a TimeStamp but for some reason the DB doesn't interpret it properly and tries to use it as a number instead. If people running servers with transferring don't notice these errors though and do after this mod I will look into it further. Please let me know.

 

I've also decided I don't want to be paid for this and have removed all donation links. Please don't take offense. I was never in this for the money but wanted to do something people found useful. The fact that you were offering money for it indicated you and others thought this was useful and I wanted a basic form of the capability for my own personal use so I figured why not try.

 

Have fun!

-Tyson

Share this post


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

Version 0.3 is posted with server transfer capability. Please test and provide feedback on this capability. I've done a bunch of testing but I might have missed things. Note I do see a bunch of errors in the logs related to player achievements not being parse-able after a transfer but I don't think I changed this and looking at the code briefly I can't figure out why it doesn't work. Essentially it's writing the right value to the DB as a TimeStamp but for some reason the DB doesn't interpret it properly and tries to use it as a number instead. If people running servers with transferring don't notice these errors though and do after this mod I will look into it further. Please let me know.

 

I've also decided I don't want to be paid for this and have removed all donation links. Please don't take offense. I was never in this for the money but wanted to do something people found useful. The fact that you were offering money for it indicated you and others thought this was useful and I wanted a basic form of the capability for my own personal use so I figured why not try.

 

Have fun!

-Tyson

 

Running on test.   I still have the link to your paypal if it works out and we use it :P   What is it with you coders and money... you and ago *sigh*   I need the income you guys have! 

 

Edited by razoreqx

Share this post


Link to post
Share on other sites

BUG:  Not a big issue but did find one issue.  It would appear the kingdom of the player (Urath will soon be Realm VS Realm and no longer use Kingdoms) is lost after a cluster transfer.

 

Details:

HOTS toon exchanges animal into ticket.

Changes clusters

Arrives at HOTS area protected by guards.

Activates ticket.

Guards kill the horse.

 

Just thought I would put this out there for others that do rely on the Kingdom system.  

 

 

All testing so far has been great.   Very happy with the work you put in on this MOD.    I thank you so much for picking one of my projects and look forward to seeing other projects I have get picked up in the future.

 

 

Raz. 

 

 

Edited by razoreqx

Share this post


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

BUG:  Not a big issue but did find one issue.  It would appear the kingdom of the player (Urath will soon be Realm VS Realm and no longer use Kingdoms) is lost after a cluster transfer.

 

Details:

HOTS toon exchanges animal into ticket.

Changes clusters

Arrives at HOTS area protected by guards.

Activates ticket.

Guards kill the horse.

 

Just thought I would put this out there for others that do rely on the Kingdom system.  

 

 

All testing so far has been great.   Very happy with the work you put in on this MOD.    I thank you so much for picking one of my projects and look forward to seeing other projects I have get picked up in the future.

 

 

Raz. 

 

 

 

Thanks Raz. I don't even know what HOTS stands for (yup I'm that noobish) so I'll probably need help on the desired behavior. The mod code currently transfers the kingdom ID of the animal when you transfer servers. Perhaps the kingdom IDs are different on different servers? I'll see if I can find somewhere in the code where the kingdom ID is purposely changed on server transfer and how. Thanks for the report.

-Tyson

Edited by tmarchuk
Make it clear the code I'm talking about is in the mod.
  • Like 1

Share this post


Link to post
Share on other sites

It looks like there might be an EPICKINGDOM and a CHAOSKINGDOM stored for a player in the DB in addition to a KINGDOM. It appears when switching between PVP and non-PVP servers (and epic/non-epic servers) there is some logic to switch the KINGDOM value but I haven't had a chance to trace it all through properly and I don't have the right test server setup to check easily. Would it be possible for you to run a test and see what the Player DB values are for these 3 columns when the player converts the animal to a token and then again just before they convert it back to an animal? If you could check the KINGDOM value for the animal as well that would be great.

 

I have a suspicion the player is getting converted somehow to a different kingdom on transfer and I would like to just make it so that the KINGDOM of the animal is set equal to the KINGDOM of the player on redeeming the token but I don't have an easy way to test if that is the right thing to do. It's fairly trivial to make the mod do this though (set KINGDOM of animal equal to KINGDOM of player on redemption.)

 

Thanks,

-Tyson

Edited by tmarchuk
typo
  • Like 1

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
Sign in to follow this