Akkadius
4b6ce1c19e
[Performance] Reworked how client to NPC aggro checks are made
...
- Before when reverse aggro checks were done (client to NPC), checks would happen every 750 millseconds where a client would
check an entire entity list with distance calcs and other checks for aggro, with many clients in a zone and many NPC's this would
add a lot of unecessary overhead. A temporary adjustment on 3/25 was made and upped the check to 6 seconds.
- Now, there is a new methodology to scanning. The client will build a cache list of NPC's within close range as defined in new rule:
RULE_INT(Range, ClientNPCScan, 300) and will also get any NPC that has an aggro range beyond that defined range to use in
the frequent checks for aggro, the result is far less overhead
- Client scanning changes when moving versus not moving, the client will scan aggro every 500 milliseconds while moving, and
3000 millseconds aggro check when not moving, with a 6000ms re-fetch for close NPC's
- A demo of these changes can be found here:
https://youtu.be/aGroiwLSTVU
2017-03-28 01:30:42 -05:00
KimLS
de777fc90f
Merge fix
2017-03-26 17:25:01 -07:00
Uleat
940f3b03e8
Fix for bot shadowknights casting ranger spells
2017-03-26 16:19:53 -04:00
Uleat
05e97f4c64
Oops! (don't attempt a commit when you have to go to the restroom...)
2017-03-26 13:51:03 -04:00
Uleat
8febc906a5
Merge branch 'master' of https://github.com/EQEmu/Server
2017-03-26 13:41:23 -04:00
Uleat
7309c11630
Updated glm library to 0.9.8.4 (from 0.9.6.1)
2017-03-26 13:41:14 -04:00
Akkadius
aa25946dc2
[Performance] Reduced CPU footprint in cases where a client is checking for aggro excessively every 750 millseconds. This has
...
been adjusted to 6 seconds per new rule RULE_INT(Aggro, ClientAggroCheckInterval)
- When zones have many players, with many NPC's, this adds up quickly
2017-03-26 00:03:51 -05:00
Uleat
e8a8647424
Fix for bots db update 9015 not triggering where update 9011 has not applied
2017-03-22 03:45:50 -04:00
KimLS
cfdbca6f12
Fix for unreliable packets (kind of a hack but it works) being flagged as corrupt
2017-03-20 00:22:50 -07:00
Uleat
fa1edee790
Added clamp for EQEmuLogSys::LogSettings database values load
2017-03-17 20:37:48 -04:00
Michael Cook (mackal)
d04d6750a2
Allow base damage of 0 (ex slam) min damage done to 1
2017-03-15 13:22:45 -04:00
KimLS
db210ba70e
Merge fix
2017-03-14 21:18:35 -07:00
KimLS
1ce1073930
Change resend timeout to 1 min instead of 10 missed packets, added a close buffer for end of connection
2017-03-14 21:15:41 -07:00
Uleat
2d24237aac
Added los movement logic to combat and follow code (los is rule-based and can by disabled by applying the optional 2017_03_14_mercs_use_pathing_rule.sql)
2017-03-14 23:23:42 -04:00
E Spause
79f9433dfa
Merc logic fix for heal spells - allows mercs to select fast healing spells as a 'standard' healing spell & new rule for unsuspend
2017-03-13 06:26:48 -04:00
E Spause
67a95b59a7
Merge remote-tracking branch 'refs/remotes/origin/master' into 2002_fixes
2017-03-12 23:20:55 -04:00
E Spause
09b9d398e2
Rule itself for MaxClientsSimplifiedLogic. Defaults to disabled (false)
2017-03-12 23:19:50 -04:00
E Spause
3dd0d43e96
Add a rule, MaxClientsSimplifiedLogic which allows for P99-style IP restrictions if enabled. Opcode handler for OP_WorldLogout in char sel.
...
Only uses ExemptAccountLimitStatus and MaxClientsPerIP. Also adds in an
opcode handler so CLEs are cleaned up at char select when ESC is
pressed.
2017-03-12 23:19:24 -04:00
KimLS
159706efa9
Merge branch 'master' into eqstream
2017-03-12 18:39:15 -07:00
KimLS
310d27c0bd
Some changes to tic rates and default values
2017-03-12 18:38:33 -07:00
Michael Cook (mackal)
bd364a4049
Merge pull request #591 from EQEmu/2002_fixes
...
Added an optional rule value that forces startzones to be the same as…
2017-03-12 19:21:05 -04:00
Akkadius
ab372b0f6b
- Implemented range rules for packets and other functions
...
RULE_INT ( Range, Say, 135 )
RULE_INT ( Range, Emote, 135 )
RULE_INT ( Range, BeginCast, 200)
RULE_INT ( Range, Anims, 135)
RULE_INT ( Range, SpellParticles, 135)
RULE_INT ( Range, DamageMessages, 50)
RULE_INT ( Range, SpellMessages, 75)
RULE_INT ( Range, SongMessages, 75)
RULE_INT ( Range, MobPositionUpdates, 600)
RULE_INT ( Range, CriticalDamage, 80)
- (Readability) Also cleaned up some formatting in messaging and packets so it is easier to understand what is going on with the code
2017-03-12 16:10:53 -05:00
Akkadius
14d09485eb
Implement new rule based ranges for various range based packet operations (performance)
...
- the defaults are set in the code and can be tweaked by sourcing utils/sql/git/optional/rule_values_range_update.sql
- Thanks to mackal for gathering live ranges, thanks to takp for initial numbers
- We would send 200 for combat updates and the client will only display <= range 54 anyways, these should help a lot in spammy combat
RULE_CATEGORY( Range )
RULE_INT ( Range, Say, 135 )
RULE_INT ( Range, Emote, 135 )
RULE_INT ( Range, BeginCast, 200)
RULE_INT ( Range, Anims, 135)
RULE_INT ( Range, DamageMessages, 50)
RULE_INT ( Range, SpellMessages, 75)
RULE_INT ( Range, SongMessages, 75)
RULE_CATEGORY_END()
2017-03-12 14:38:14 -05:00
Uleat
8cd6416754
Added ItemData::CheckLoreConflict()
2017-03-12 14:20:22 -04:00
E Spause
04ce4f66ed
Added an optional rule value that forces startzones to be the same as the bind zone and enabled bind xyz once again.
2017-03-12 03:41:21 -04:00
KimLS
73dc6b090b
Merge remote-tracking branch 'origin' into eqstream
2017-03-11 14:51:33 -08:00
KimLS
742806158c
Some changes to sync sending, dont even bother sending them now just wait to reply
2017-03-11 14:50:10 -08:00
KimLS
56fdc6aaac
Change default settings
2017-03-10 23:31:51 -08:00
Uleat
226a49cb42
Merge branch 'master' of https://github.com/EQEmu/Server
2017-03-10 18:41:14 -05:00
Uleat
bf3d9b2d02
Couple of critical fixes for bot trade code
2017-03-10 18:41:04 -05:00
Michael Cook (mackal)
3d229e1da1
Aggro Meter on by default now (seemed fine on PEQ)
2017-03-10 18:15:08 -05:00
Uleat
37d22e17a3
First step of implementing inventory v2.0
2017-03-09 02:46:09 -05:00
Uleat
999650d368
Fixed a few glitches related to bot trading and other affected code
2017-03-09 01:55:01 -05:00
Uleat
09bbfbcc31
Complete rework of the bot trading system (see changelog.txt)
2017-03-08 08:12:04 -05:00
KimLS
d494048ff6
Tweaks to make server more lag tolerant and also send less packets.
2017-03-07 18:13:17 -08:00
KimLS
da81b7a76d
No longer buffer ack packets to resolve an issue where the client was hanging slightly on connection termination
2017-03-05 19:09:27 -08:00
KimLS
0b4484b36b
Some reverts and changes to default values and a bug fix
2017-03-01 13:00:48 -08:00
KimLS
25cbdf5f2c
Merge branch 'master' into eqstream
2017-02-28 23:18:35 -08:00
KimLS
66c1fd9369
Revert some changes that were causing more harm than good
2017-02-28 23:17:30 -08:00
Michael Cook (mackal)
a8a1c3f809
Better comment some group shit
2017-02-28 02:21:44 -05:00
Uleat
b1be667884
Update bot spell casting chances table and implemented 'pre-combat' mode for all bots (only bard is actively coded atm)
2017-02-26 22:13:41 -05:00
Uleat
ec9af74dc9
Update bot spells entries for new npc spells id values
2017-02-26 07:00:24 -05:00
Uleat
a49e3d6471
Update for saved bot data to use new spells id values
2017-02-26 06:26:59 -05:00
Uleat
9ae585dd81
Moved bot npc spells entries to the 3000 + class id range
2017-02-26 05:47:10 -05:00
KimLS
0d1e63c92a
Merge remote-tracking branch 'origin/master' into eqstream
2017-02-25 15:31:40 -08:00
KimLS
6033f48b47
Update libuv
2017-02-25 14:30:35 -08:00
Uleat
c61c275221
Added position update packet in out-of-combat movement code when movement occurs (rule-based; default: false) - appears to help with rubber-banding effect
2017-02-25 09:02:20 -05:00
Uleat
7a6d5d46f4
Added node pathing to the bot movement dilemma...
2017-02-25 03:48:02 -05:00
Uleat
4e8a03f7b4
Migrated bot spell casting chance data to the database
2017-02-23 19:16:36 -05:00
KimLS
d402b25d69
Merge fix
2017-02-21 21:20:33 -08:00