Tool:Delagginoger

From Auranogi
Revision as of 11:54, 18 July 2024 by Garmik (talk | contribs) (Adds configuration documentation.)

What

Delagginoger is a mod developed by Garmik to help compensate against latency issues in Auranogi.

The goal of this mod is to make the game play as it was intended to be played in terms of latency, up to what is possible, it will not make you any faster if your latency is already low.

How it works

Delagginoger works by optimizing how the client sends certain packets to the server, as an example, when summoning a pet the client sends one packet, waits for response, sends another, waits for response, and only then the pet becomes available, by sending both packets immediately one after another we can cut down in half the latency to have the pet ready.

The mod works in tandem with the `lagcomp` user command to ease latency problems both on server and client.

Features

See this video for a few examples.

  • Faster skill canceling and completion. This means that you'll be able to combo from skill to skill easier, or spam attacks easier (e.g elf magnum/ranged attack), as well as switch from one skill to another (e.g need to cancel current skill and start loading another).
  • Faster pet summoning and desummoning.
  • Arrow Revolver faster re-aim.
  • Faster response to picking up items.
  • Faster Healing casts.
  • Final Hit attack speed much less dependent on latency.
  • Switching weapon sets (normal and extra) behave as if having very low latency.

Warning

This tool is still considered experimental, meddling with how the client sends packets could be prone to unexpected issues.

It is possible for this tool to cause more "locks" than normal, depending on your latency and jitter (the difference between your max and min latency), how useful it is for you is going to be dependent on your experience, if the benefits outweigh the issues you personally experience with and without it.

Keep up with updates and known issues

Join Delagginoger discord for updates.

Instructions

  • Download from https://auranogi.wiki/downloads/delagginoger.zip
  • Unzip into your Auranogi directory, i.e `delagginoger.exe` should be in the same directory as `Client.exe`
  • Launch the game with `delagginoger.exe`
  • Note that currently this will skip the Auranogi launcher, so make sure to run that manually after server updates to make sure you are not missing client-side updates.
  • Some Anti-virus might detect this as a virus, since it uses executable injection to work.

Configuration Documentation

Documentation is divided by setting section, the name of setting on the tray icon menu, and includes the corresponding name found in the `delagginoger.ini` file.

Skill

The skill section contains configuration around general skill handling and some other specific skills.

Skills delagging

.ini name: skills under [Skills] section.

Default: True

This is the configuration that handles most of the skill delagging, like skill completion and canceling.

It generally allows for faster skill usage after one is completed or canceled.

SkillPrepare Handler

.ini name: prepare under [Skills] section.

Default: True

This handles the delagging of the `SkillPrepare` packet, it will allow for skill load times to be closer to a lagless experience.

SkillReady Delay

.ini name: readyDelay under [Skills] section.

Default: False

When enabled it will make the SkillReady packet handling delay an extra amount based on your latency, making errors like "Skill wasn't prepared yet." less likely to occur.

This essentially makes the delagging "worse", but if you get errors like the above often, then it will be better. Server's lagcomp should make up for any extra delay as well.

Healing

.ini name: healing under [Skills] section.

Default: True

Allows the use of Healing as if having very low latency.

Archery

The Archery section contains some configuration specific to archery skills and systems.

No aim delay

.ini name: noAimDelay under [Archery] section.

Default: True

When true, the aimDelay configuration will take effect, read documentation for that config below for more details.

Aim Delay

(Configuration not present in tray icon menu, must set in .ini)

.ini name: aimDelay under [Archery] section.

Default: 25

When used, the configured delay will be used as the delay of the client requesting to start aim and it visually starting to aim.

Normally the client will send a StartAim packet, and only start aiming once the server responds, this creates a delay, slowing down the potential attack speed (or overall "being ready to shoot" time) of archery skills.

By reducing the delay, an archer can shoot faster, closer to a lagless experience, however since the server hasn't received the request yet, the % aim chance seen in the client will be lower than the actual % the server will calculate.

The recommended starting value is half your latency, however experiment lower values to test how it feels to find your preferred value.

No action wait

.ini name: noCAPWait under [Archery] section.

Default: True

Allows archery skills to not wait for the Combat Action Packet (CAP) before they are considered "finished".

Several combat skills, including archery, will send the the SkillUse packet upon use (e.g you click to shoot the target), once that packet is received by the server it will handle the skill (damage, enemy death, etc) and respond with SkillUse and CombatAction packets, the latter contains all the information for the client to update HP, knockbacks, death, etc. However, the only packet that matters for the skill to be considered "finished", and therefore allow you to start using another skill, is the SkillUse packet.

This setting will make SkillUse near immediate, and therefore the time it takes for the server to receive and process the CAP won't matter anymore.

While this gives you a lagless experience in terms of you being able to move, or trigger other skills earlier as a lagless player would, it does means that you might experience "strange" behavior, as the client plays the "shoot" animation only when the CAP is received, and may require some time for you to adjust if you've been playing mabi long enough.

Pets

Summon Handler

.ini name: summon under [Pet] section.

Default: True

Normally the client will send several packets in chain, waiting for a response of each one before the next one is sent, when summoning pets. The handler will manage this packets in a more efficient manner for a summon time speedup.

Equipment

Switch set handling

.ini name: switchSet under [Equipment] section.

Default: True

Delags the switching of auxiliary/primary weapon sets.

Switch Extra Slot handling

.ini name: switchExtra under [Equipment] section.

Default: True

Delags the switching between extra equipment slots.

Misc

Item Pickup

.ini name: itemPickup under [Misc] section.

Default: True

Does some trickery to give virtual low latency item pickup.

When enabled, picking up an item will immediately remove the item from view, and respond with a successful item pickup response. This allows the client to immediately pick up another item from the ground.

However if the server later responds with a pickup failure, the item will be re-added to the ground, and the failure message displayed.

This means you might see some abnormal behavior when trying to pickup items that you are not allowed to (e.g inventory full, or it doesn't belong to you), for the amount of your latency the item will disappear from the ground as if you successfully picked it up, but reappear shortly after.

Item use

.ini name: itemUse under [Misc] section.

Default: True

Allows the client to not have to wait for the ItemUse packet response before being allowed to use another item. This allows for faster potion or food drinking for example.

Q&A

Is it allowed?

Yes, in the words of our Admin Thunderbro: "Hmmmm, okay".

The mod does not try to cheat anything, every feature and addition is tested against a localhost (0ms latency) server to compare that nothing that shouldn't be possible is happening.

Should I use this?

If you have low latency (live in North America) you are probably not going to see many, if any, benefits and might even encounter issues, but feel free to test, enable/disable different configs after reading the documentation above to make any adjustments.

Can it be used alongside other mods?

It can be used with Abyss (and Abyss can chain-load Kanan).

Running delagginoger.exe will open up the client normally, so Abyss should just work as normal without anything extra needed.