Sindusk

Sindusk Server Mods

Recommended Posts

Just posting to confirm that all of my mods are still functional (to the best of my knowledge) in WU 1.6.3.2.

Share this post


Link to post
Share on other sites

  • New/Updated Mod: Discord Relay [v2.0] (Original by whisper2shades)
    • New Feature: Connected player count.
      • Discord bots can now show how many players are connected to your login server.
      • This feature can be toggled on/off through the new showConnectedPlayers property.
      • The time interval for when it updates the value can also be configured through the connectedPlayerUpdateInterval property.
    • New Feature: Unique Rumors
      • You can now allow unique rumors to be broadcast to Discord as well.
      • This feature can be toggled on/off through the new enableRumors property.
      • You can set which channel you'd like them to broadcast to with the rumorChannel property.
      • Rumor messages will be appended with "(Mapname)" to identify which map they spawn on.
    • New Feature: Trade Channel
      • The trade chat channel in-game is now supported.
      • This is global, however, and any messages sent to a kingdom-specific trade channel will be broadcast to the global #trade channel in discord.
      • Because this is global, any message sent to the discord #trade channel will also be replicated to every kingdom's Trade chat.
      • Because of this, I've added a toggle for enabling this feature with enableTrade property.
    • Miscellaneous
      • Completely reworked the properties file, removing the defunct botName property and adding several new ones.
      • There is now links and an image assistance for getting a Discord bot created and functional directly in the .properties file.
      • All properties should now be clearer and describe more accurately what they do.
      • All messages now have a server-based timestamp attached in Discord.
      • Changed the sendToDiscord method signature to include a new boolean for includeMap. This will append the map it was sent from in perentheses if set to true.
      • Channels now function identically to their in-game counterparts. GL-HOTS is now #gl-hots in Discord. GL-Freedom is #gl-freedom. Etc.
      • Non-GL channels are now supported. If you opt to not want a channel to be relayed to Discord, simply do not create the channel (the bot will throw an error when a message is sent, but otherwise operate fine) or create the channel and set permissions where nobody can see the messages in your Discord.
      • Fixed a nasty bug where invalid botTokens or interruptions in service from Discord could cause frequent errors and interact poorly with other mods. Now, when the Discord Relay fails, it will catch the error and display the error to the server log, while no longer interrupting the method that called it.
      • As a side effect of this, if you do not configure your channels correctly, the error displayed will tell you what channel it was looking for and what message it was trying to send, to assist in configuring your Discord correctly.

 

Latest Download (GitHub)

Share this post


Link to post
Share on other sites

  • Update: Server Tweaks [v1.1]
    • New Bugfix: Fix Zombie Enchant Error. When a player casts something like Truehit or Excel on a zombie pet, it will spam errors to the player for the duration of the cast. This fix removes the errors and allows the cast to be completed normally.
    • New Bugfix: Fix Epic Mission Naming. Sometimes when a mission is generated, the name will not be properly generated. This results in a mission trying to turn in to "avatar of " - where there is no deity attached. This fix ensures that a proper name is obtained during mission creation.
    • New Bugfix: Fix Spells Without Enter Permission. By default, a player can cast spells when entering a structure ignoring all other permissions. Even if the deed disallows casting deity spells, entering an unlocked house will allow players to cast whatever spell they want. This can lead to all sorts of potential griefing issues, such as Sunder on tools in a public smithy or casting with low channeling on items in an unlocked chest, shattering them. By enabling this fix, the player MUST have "May Enter" permissions before attempting to cast a spell.
    • New Bugfix: Allow Freedom Mycelium Absorb. Libila followers on a freedom server cannot aborb mycelium to heal. This fix allows them to bypass the checks that prevent it, and use mycelium as a healing source on PvE/Freedom servers. This can be considered part of LibilaFixes as it only applies to servers with Libila enabled on a Freedom-based homeserver.
    • New Gameplay Tweak: Remove Load/Unload Strength Requirement. By enabling this, players no longer require 23 body strength to load or unload objects.
    • New Gameplay Tweak: Adjust Dragon Loot. Enabling this allows you to adjust the amount of drake/scale granted from hatchlings and dragons. There is a secondary property dragonLootMultiplier which will multiply the weight of drake/scale given to nearby players when a proper unique is slain. This has no effect on the amount of blood that is granted or chance of sorceries.
    • New Gameplay Tweak: Remove Conversion Timer. When enabled, this allows players to convert deity without waiting the 7 day limit. This is added to help players who accidentally choose the wrong deity when starting out and want to switch quickly, without punishing them arbitrarily or forcing them to put in a ticket to GM's. This does not remove the faith reset when they switch, however, and to do a faith conversion while maintaining faith will still require GM intervention.
    • New Gameplay Tweak: Use Epic Armour Values. When enabled, this will use the new epic armour values in calculations. This includes DR, glance rates, and damage effectiveness. This will NOT work in the opposite direction for epic servers. If you are on an epic server, you are already using these values, and setting this to false will NOT revert it back to "default" armour values.
    • New Gameplay Tweak: Show All Creatures in Mission Ruler. When enabled, this will show all creatures in the Mission Ruler triggers/events. This includes uniques and custom/modded creatures, so your GM's can make your events that much more interesting!
    • The property characteristicDivisor property is now set to -1 (off) by default.
    • Changed the uniqueTimerReduction value to work in hours, and provided a better explanation of how it works in the properties file. The value is now defaulted to 336 (14 days).
    • Added a custom action "King Me" to the body of any character capable of accessing the command (usually power 5 or above). This was done because the custom command handler wasn't working for me. I'll be looking into why and attempting to fix the custom command handler in the future.
    • Bank balance command can now be used while doing other actions. It no longer requires players to stand still or not be doing other actions.
    • Fixed an issue where the infidel error removal would not apply to Bless or Refresh.

 

Latest Download (GitHub)

Share this post


Link to post
Share on other sites
  • New/Updated Mod: Treasure Hunting [v1.2] (original by Ulviirala)
    • New Features
      • Woodcutting Map Chance - You can now allow players to find treasure maps when felling trees. Chance can be configured with the mapWoodcuttingChance property.
      • Foraging Map Chance - You can now allow players to find treasure maps while foraging. This does not work with botanizing. Chance can be configured with mapForagingChance property.
      • Pseudo-Random Map Chances - Adjusted the random chance of finding maps to adjust over time depending on success/fail rates of players. As players fail to obtain maps with each action, their chance to find one improves. Each success attempt reduces chances in return. This makes it less likely to go on long "droughts" of maps or "lucky sprees" of finding maps. This will almost always feel better for the player, and the math is statistically sound to a reasonable degree.
      • Rare Spawns - Rare spawns are uniques that can be spawned when a map meets a certain threshold. I've included as much information as I could about how this system works and made the important variables configurable in the properties. If you prefer not to use this system, simply set the rareSpawnMapQuality to 101 and this micro-system will be disabled.
    • Miscellaneous
      • Rarity on maps now applies a 25% towards 100 QL bonus per rarity, instead of +10 flat quality per rarity. This removes the possibility of 100QL chests with 100QL items inside. As an example of the new system, a fantastic 70QL map would become (70 + (100-70)*0.75) = 92.5QL. This is instead of 70 + (10*3) = 100QL.
      • Unique creatures will now always drop a rare+ map instead of a normal one.
      • Maps are now locked to the server they are unveiled on. If a map is generated on server X, when it is read on server Y it will say it does not belong to that server.
      • Adjusted the code for calculation of difficulty with hunting. The player with the lowest fight skill attacking the creature now performs the skill roll instead of using the slain creature's skill.
      • Fixed an issue where mining for treasure maps on cave walls ceased functioning in WU 1.5.0.0 (about 6 months ago).
      • Fixed a problem where players were always "too far away" when they attempted to dig up the Treasure Map.

 

BEWARE: If you are changing to this version from the previous version, it is very likely that all existing maps will say they do not belong to that server. To fix this, you will need to set the Data2 property on the maps to the server id where they need to be located.

 

Latest Download (GitHub)

 

Additions to .properties (for those upgrading):

Spoiler

# 1 in N chance for finding a treasuremap while woodcutting (when felling the tree only).
#
# [default: 2000, min: 1, max: 2147483647]
mapWoodcuttingChance=2000

# 1 in N chance for finding a treasuremap while foraging.
#
# [default: 1000, min: 1, max: 2147483647]
mapForagingChance=1000

 


# Rare spawns: These are rare spawns that can be created when
# the map is above a certain QL threshhold.

# Rare spawn list:
# - Rares -
# Back Hatchling, Blue Hatchling, Green Hatchling,
# Red Hatchling, White Hatchling, Goblin Leader, Forest Giant
# - Extremely Rares -
# Black Dragon, Blue Dragon, Green Dragon,
# Red Dragon, White Dragon, Troll King, Kyklops

#rareSpawnMapQuality: Minimum quality of map before rare spawns
# can begin to occur. Set above 100 to disable rare spawns.
# [default: 80.0, min: 0.0, max: 101.0]
rareSpawnMapQuality=80.0
#rareSpawnChance: Chance of a rare spawn occurring, based on
# (QL-rareSpawnMapQuality) / rareSpawnChance
# If this is set to 50 and the rare spawn map quality is 80,
# an 85 QL map would have 5/50 chance. A 95QL map would have
# 15/50 chance (95-80)/50.
# [default: 500.0, min: 1.0, max: Float.MAX_VALUE]
rareSpawnChance=500.0
#rareSpawnWeight: Amount of weight to take off the rest of the
# treasure chest spawn pool if a rare spawn occurs. This prevents
# a single map from getting overloaded with spawns and become
# unreasonable.
# [default: 100, min: 0, max: Integer.MAX_VALUE]
rareSpawnWeight=100
#extremelyRareSpawnWeight: Same as the rare spawn weight, but
# instead how much the extremely rare spawns would reduce the
# weight by. If the weight is higher than the chest level,
# then the extremely rare spawn is skipped.
# [default: 135, min: 0, max: Integer.MAX_VALUE]
extremelyRareSpawnWeight=135

 

Edited by Sindusk

Share this post


Link to post
Share on other sites

Just installed a couple of the mods Armory and Spellcraft. I get this error

SEVERE org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher: armoury requires sindusklib which is unavailable
org.gotti.wurmunlimited.modloader.dependency.DependencyException: armoury requires sindusklib which is unavailable
	at org.gotti.wurmunlimited.modloader.dependency.DependencyResolver.checkRequires(DependencyResolver.java:98)
	at org.gotti.wurmunlimited.modloader.dependency.DependencyResolver.order(DependencyResolver.java:36)
	at org.gotti.wurmunlimited.modloader.ModLoaderShared.loadModsFromModDir(ModLoaderShared.java:138)
	at org.gotti.wurmunlimited.serverlauncher.DelegatedLauncher.main(DelegatedLauncher.java:20)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at javassist.Loader.run(Loader.java:288)
	at org.gotti.wurmunlimited.serverlauncher.ServerLauncher.main(ServerLauncher.java:33)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at PatchedLauncher.main(PatchedLauncher.java:20)

Notice that the armory is causing an error on server startup...this is with a fresh install. The properties file for armory has the import file listed as sindusklib instead of

SinduskLibrary

 Just posting this to let other people new to Sindusk mods know, just in case they can't find it out.

 

classname=mod.sin.armoury.ArmouryMod
classpath=armoury.jar
depend.import=sindusklib <<<<<<change to depend.import=SinduskLibrary
sharedClassLoader=true
#If true, will print debug messages and log heavily.
debug=true

 

Don't know squat about modding but I ran the server a few times and all is good after the change.

Am I correct with this finding? Or did I just caused the world to end by messing with something I have no idea what it does? lol.

Share this post


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

Notice that the armory is causing an error on server startup...this is with a fresh install. The properties file for armory has the import file listed as sindusklib instead of

SinduskLibrary

 Just posting this to let other people new to Sindusk mods know, just in case they can't find it out.

 

classname=mod.sin.armoury.ArmouryMod
classpath=armoury.jar
depend.import=sindusklib <<<<<<change to depend.import=SinduskLibrary
sharedClassLoader=true
#If true, will print debug messages and log heavily.
debug=true

 

Don't know squat about modding but I ran the server a few times and all is good after the change.

Am I correct with this finding? Or did I just caused the world to end by messing with something I have no idea what it does? lol.

Yeah this is correct. I plan on updating Armoury in the near future. It's been horribly left behind. Your fix is correct.

Share this post


Link to post
Share on other sites
  • Spellcraft [v3.0]
    • Six New Enchants
      • Endurance (Jewelry): Reduces stamina loss. This has no conditionals and will work at all times, whether you're improving items, digging a road, or simply moving.
      • Industry (Jewelry): Improves skill checks. This applies to a great deal of actions and will allow you to improve a little bit higher, parry a little bit more often, get higher average ores while mining, etc.
      • Prowess (Jewelry): Increases Combat Rating. This affects your ability to hit and evade in combat.
      • Acuity (Jewelry): Reduces favor cost. This effect only applies to spells with a favor cost over 10.
      • Titanforged (Any): A combination of Wind of Ages, Circle of Cunning, and Efficiency. Has a multiplier for the power of each it should give per Titanforged power.
      • Labouring Spirits (Strange Device): Designed specifically for use with the Automata mod, this has no use otherwise.
      • If you do not want any of the above enchants, simply set their god to 0 and nobody will be able to cast it.
    • Spell Adjustments
      • Recoded Smite: Completely reworks smite so that it is a more usable spell. A better description is available in the properties file.
      • Increase Frantic Charge Duration: Multiplies the frantic charge duration by 20x to match other similar effects such as Oakshell, Truehit, and Excel.
      • Healing Redone: A very complex rework of all default healing spells and implementation of a new healing resistance system. More details can be found under "Healing Spell Rework" in these patch notes.
    • Minor Tweaks
      • Fixed an issue where certain spells would stack even if the enchant groups were set to disallow it.
      • Fixed bugs with Replenish that would cause it to cease functioning under some situations.

 

Download (GitHub)

 

If upgrading from a previous version of Spellcraft, you can see the difference in the properties file from this commit

Edited by Sindusk

Share this post


Link to post
Share on other sites

Awesome work as always Sindusk, I was hoping you'd release the jewellery enchants you use in revenant. Thanks again for the continued modding support, I've had fun playing around with your reflection utils to do some modifications I couldn't do before.

Share this post


Link to post
Share on other sites
  • Sindusk Library [v1.3]
    • Added a Property file handler.
    • Updated error messages to log to file instead of only to the server console.
  • Armoury [v2.0]
    • Requires Sindusk Library v1.3 or higher.
    • New Feature: Armour Stats Controls
      • The previous method of configuration for armour DR settings has been reworked. It is now more functional with forwards-compatibility for future armours if they ever get added.
      • There are now configurations for effectiveness and glance rates against certain incoming damage types per armour. These can be configured.
    • New Feature: Material Control - You can now adjust the following properties for all materials in the game (iron, steel, adamantine, willow, leather, etc):
      • Armour Damage Reduction - Additive bonus to base DR.
      • Armour Movement - Percent reduction to movement speed penalty.
      • Armour Effectiveness(New Mechanic) - Give a percent DR modifier to specific incoming damage types.
      • Armour Glance Rate(New Mechanic) - Give a percent glance rate modifier to specific incoming damage types.
      • Weapon Damage - Percent modifier to weapon damage.
      • Weapon Speed - Percent modifier to weapon swing speed.
      • Weapon Parry - Modifier to the parry bonus.
      • Weapon Armour Damage - Percent modifier to amount of damage inflicted to armour.
      • Item Damage - Percent modifier to damage taken on use.
      • Item Decay - Percent modifier to decay taken.
      • Item Difficulty Modifier(New Mechanic) - Percent modifier to difficulty checks.
      • Item Spell Effect Modifier(New Mechanic) - Percent modifier to effective spell effect power.
      • Item Specific Spell Effect Modifier(New Mechanic) - Same as spell effect modifier, but only for specific enchants/spell effects.
      • Item Action Speed(New Mechanic) - Percent modifier to action speeds such as mining, harvesting, improving, etc. Does not affect weapon speed.
      • Item Creation Bonus - Percent increase for creation towards 100.
      • Item Improve Bonus - Percent modifier for improve power.
      • Item Shatter Resistance - Percent chance to resist shatter.
      • Item Lockpick Bonus - Bonus modifier for lockpicking success.
      • Item Anchor Bonus - Percent chance to avoid drifting.
      • Item Pendulum Effect - Percent modifier to effect of pendulums.
      • Item Repair Speed - Percent modifier to speed of repair. NOTE: WU Vanilla bug affects this, details in properties file.
      • Item Bash Modifier - Percent modifier to bash damage. Does not affect weapon damage.
    • Miscellaneous
      • Improved configuration options to handle armour names, material names, and damage type names instead of their numerical id.
      • Fixed a rare bug where dual wield changes would not function sometimes.
      • Note: The mod now loads certain files from the source that may conflict with other mods. ServerTweaks is among them. If you experience a crash with another mod saying a class is frozen, please add the mod name to the depend.suggests configuration in the properties file.
      • If updating from Armoury v1.0: Unfortunately due to the sheer amount of changes that have occurred to the configuration file, you'll likely want to reconfigure the mod from scratch. I apologize for the inconvenience but I'm looking forward with my configurations this time instead of doing it the fastest way possible.
  • Spellcraft [v3.1]
    • Requires Sindusk Library v1.1 or higher.
    • Updated the damage modifier calculations to account for new material modifiers.
    • Improved some code to integrate properly with the new Armoury update.
    • Fixed a concurrent modification exception in the healing rework.

 

SinduskLibrary: Download (GitHub)

Armoury: Download (GitHub)

Spellcraft: Download (GitHub)

Edited by Sindusk

Share this post


Link to post
Share on other sites

Just in case anyone else has a crash with the latest armoury, if it says that the class doesn't exist, go into the properties file and replace

classname=mod.sin.armoury.Armoury

with

classname=mod.sin.armoury.ArmouryMod

Even with the new properties file it has the wrong class name there

 

Also @Sindusk, I think itemcreationtime needs it's own replace string. I was getting an instrument error:

[02:44:36 AM] SEVERE mod.sin.armoury.MaterialTweaks: [INSTRUMENT ERROR] from MaterialTweaks! Could not Instrument com.wurmonline.server.behaviours.Actions - getItemCreationTime call to getStaminaModiferFor !
[02:44:36 AM] SEVERE mod.sin.lib.Util: [source error] no such field: source

And after checking the wurm source, i found that getItemCreationTime seems to have the signature:

public static final int getItemCreationTime(final int startTime, final Creature performer, final Skill primSkill, final CreationEntry entry, final Item realSource, final Item realTarget, final boolean isMassProduction) throws NoSuchTemplateException {

Whereas the other get time methods have "Item source", this one has "Item realSource", which causes the replace to fail.

Edited by conco

Share this post


Link to post
Share on other sites

@Sindusk - I'm trying to convert from bag of holdintg to Spellcraft but i think i'm also getting overlap on the faith requirement from Ago's Spellmod - which is causing my server to Crash on Startup - Can you offer advice or better yet provide a pre-configured properities file for all vanilla settings and nothing touching anything that would conflict with Ago's Spellmod?

Share this post


Link to post
Share on other sites

Nvm I got it working apparently the old sindusklib folder is still needed even with the new 1.7 Sindusk Library Folder 😕

Share this post


Link to post
Share on other sites

It might have been said before, but I made  bot and invited it to my discord for the Discord Relay mod. 

 

The bot is currently offline. Does it need to be online to work? 

 

Or does it only come online when I fully install the mod. 

Thank you! 

Share this post


Link to post
Share on other sites

The bot should come online when the server starts, and go offline when it's down. Players generally find this feature useful because they know that if the Discord bot is offline, the server is down.

Share this post


Link to post
Share on other sites

That is what I was thinking it did, but I was not 100% sure. 

 

Thank you!! 

1 hour ago, Sindusk said:

The bot should come online when the server starts, and go offline when it's down. Players generally find this feature useful because they know that if the Discord bot is offline, the server is down.

 

Share this post


Link to post
Share on other sites

Would like to suggest a spell to light forges/ovens without a kindling and steel/flint - think you could do something like that (similiar to the ebony wand ability but not permanent)

Share this post


Link to post
Share on other sites

btw @Sindusk - it seems you forgot to make mention of the replenish spell in spellcraft on this page - I had found it in the properities file so i changed it's values a bit but in general seems if your going to mention labouring spirits you might as well mention a vynora-default spell to make a container into a portable well :P

Share this post


Link to post
Share on other sites

idk if I am doing this in the correct spot or not, but I just had to leave a review of the Discord Relay Mod. 

I added it last night to my server, and wow. It is amazing. Really awesome work there and it's super simple to set up. 

+1 for anyone debating on adding it. 

Share this post


Link to post
Share on other sites
  • Server Tweaks [v1.2]
    • New Options: Minimum and Maximum moon metal vein limitations - When setting these values, any vein that exists with above the maximum will re-roll to between these two values on the first mining action.
    • New Option: GM Enchant Any Item - This will allow your GM's to cast spells on items that normally would not even display the options. It will not allow them to break restrictions such as negating enchants and similar.

Download (GitHub)

Share this post


Link to post
Share on other sites

@Sindusk I have noticed a pattern - it's impossible to convert a Freedom Player to Libila via a Libila Priest/Follower isn't it? I wondered why that wasn't working - you HAVE to go to the bone altar don't you?

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