Giran Forge
Menu
Sign in
English
Solved

Fast Enchant

Started by Saint · 1 month ago

37 views
#1

Players are able to go past +16 (+16 being default max), details below:

Single-click enchant is fine. RequestEnchantItem calls isUsableWith() every attempt and rejects the item once it is already +16.

Auto-enchant goes through MultiEnchant$Session in GiranForgeInterface.ext.jar. The client sends a target level, and that target is not clamped to scroll max / EnchantMax (16). Then:

  1. isUsableWith() is checked once at the start (passes at +15 or lower).

  2. The loop is while (item.getEnchantLevel() < target) and just +1s on success.

  3. The cap is never re-checked inside the loop.

  4. The increment clamp only runs when getIncrement() > 1. Normal weapon scrolls use increment=1, so it never runs.

If the client target is 18: +15 → +16 → +17 → +18. Chance tables also do not go to 0 after +16 — they clamp to the last row, so +16 and +17 still roll at 30%.

EnchantMax = 16 in other.properties is only the XML default when a scroll has no <levels max>. It is not a runtime hard cap.

oasis-interlude.eu

#2

Test performed,

If the EnchantMax = 16 is set in the configuration, regardless of whether it's using fast enchant or not, it will pass. The security is in gameserver/data/enchant_items.xml. When the parameter <levels min="0" max="16" /> is edited, it starts working as expected.?

Fast Enchant uses the game's standard API; it does not alter the route or create its own rules.

#3

Then must be a bug server API side ? Got enchant_items.xml all with max=16, yet a player was able to push for +18. Will report back if I find something more, happened on live server with GF 19.3

oasis-interlude.eu

Join the discussion

Sign in or create an account to reply.