Akkadius
10a27c2081
Merge pull request #635 from xackery/eqemu_config_json
...
Eqemu config json
2017-07-17 00:00:13 -05:00
Akkadius
b9336bad7e
eqemu_config_json branch creation
2017-07-16 21:51:38 -05:00
Akkadius
84b3cff936
Merge branch 'master' of https://github.com/EQEmu/Server
2017-07-16 21:36:08 -05:00
Akkadius
e265f7713c
Fix eqemu_server.pl installer to use PEQ quests repo and fix new_server file count check
2017-07-16 21:35:50 -05:00
Akkadius
eab6bb8314
Merge pull request #632 from noudess/master
...
Change message from always saying Logging (In) to Logging in or Logging Out.
2017-07-16 04:53:45 -05:00
Akkadius
0b489bc507
LoS Drop when close adjustment
2017-07-16 04:36:36 -05:00
Akkadius
b2b447516d
Make a FixZ call at waypoint arrive so bad grids don't make NPC's hop
2017-07-16 03:31:26 -05:00
Akkadius
f7cc23d415
Cracked the code on FixZ offsets
2017-07-16 03:21:13 -05:00
Akkadius
70a74d6615
Fix for mobs who are hailed while moving - this allows them to properly stop, and return on their grid after pause time
2017-07-15 23:57:08 -05:00
Akkadius
f9480f2518
Taper down on non-moving client update spam
2017-07-15 17:05:28 -05:00
Akkadius
6c1efd74cb
Resolve an issue with NPC's not returning back to guard point when once engaged and dropped aggro
2017-07-14 21:45:38 -05:00
Akkadius
43204e52f8
Client position updates should be smoother (granted the client has a good connection)
...
Clients should also no longer randomly disappear
2017-07-14 20:49:57 -05:00
Akkadius
5c75a68715
HP Update tuning - HP Updates are now forced when a client is targeted
2017-07-14 14:23:35 -05:00
Akkadius
be0374d197
Performance adjustment to SendPosition update logic
2017-07-13 00:52:42 -05:00
Akkadius
c8b20ecb1a
Adjust switch case formatting in daybreak_connection.cpp
2017-07-12 22:01:59 -05:00
Akkadius
45b29aedf3
Bring back netcode to robust commit 34549a4 - proven and tested by PEQ and EZ as solid/stable with all of recent packet fixes
2017-07-12 21:49:30 -05:00
Akkadius
855796448c
Raid/Group/XTarget HP/Mana/Endurance updates now only send when percentage changes
...
Raid/Group Mana/Endurance updates should now update real-time once again
Fixed an issue with clients looking like they are 'skipping' when they are moving in view of another client
Fixed an issue with NPC's who are ghosted in plain view of a client when they are not really there
2017-07-11 17:54:46 -05:00
Akkadius
d47daa2857
Pointer removals
2017-07-11 02:42:06 -05:00
Akkadius
d9a1cf8c7b
Safeguard to npc aggro scanning
2017-07-11 02:08:00 -05:00
Akkadius
59a2f0cdde
Refactor close_npcs to close_mobs for future implementations
2017-07-11 01:58:47 -05:00
Akkadius
ec00daa5be
Mob position updates now completely only send to 600 units range defined by Range:MobPositionUpdates
...
Client updates nearby clients more often because they will disappear after 10 seconds without a position update to the client
This results in a massive reduction in unnecessary traffic as we only update clients of their relevance around them
This also resembles live-like packet sending behavior of positions
2017-07-10 23:03:40 -05:00
Akkadius
dceb79ad69
Only send mana/endurance updates to self when they actually change
2017-07-10 22:57:58 -05:00
Akkadius
a41c690a62
Another animation adjustment
2017-07-10 22:27:03 -05:00
Akkadius
62e4169e50
More animation packet reductions, DoAnim is called in many other places in combat than just AttackAnimation
2017-07-10 20:41:56 -05:00
Akkadius
122e71f4a3
Fix HP/Mana/Endurance updates for group/raids when entering-leaving zone and when initially being added to group/raid
2017-07-10 20:40:32 -05:00
Akkadius
c6c6d00bad
#path process file_name.path will actually push to the maps/ directory by default now
2017-07-10 10:42:07 -05:00
Akkadius
ccdeb4d385
Fix HP update issues, rework logic for more accurate and responsive HP updates
2017-07-09 17:35:08 -05:00
Akkadius
127f51e758
Massive reductions in unnecessary network traffic especially during high spam combat fights
...
- HP Updates now only send to others when HP percentage changes (0-100%)
- HP Updates were sending excessively even during idle zones when HP wasn't changing at all
- Attack animations now only send once per second versus up to a hundred times a second per Mob/Client
- 17,000 OP_ClientUpdate packets per second have been observed in combat scenarios, some of the major culprits have been
throttled without affecting what the client should see
- Before and After packet differences under similar load/tests (Packets per second)
- 7,000 - 8,000 OP_Animation pps After: 600-800 pps
- 13,0000 - 17,000 OP_MobHealth pps After: 1-10 pps
- 15,0000 - 20,000 OP_ClientUpdate pps After: 500-1,000 pps
- Packet reports from a 46 client test here:
https://gist.github.com/Akkadius/28b7ad2fdd82bdd15ea737c68f404346
- Servers who use Marquee HP updates will also recieve far less packet spam as they will only be sent when HP changes
2017-07-09 02:51:01 -05:00
Akkadius
aae1d2f049
Better Z compensation on hills, while engaged and NPC's quickly recover if they go underground
2017-07-08 22:17:39 -05:00
Akkadius
0c532236a5
Fix Server -> Client packet logging
2017-07-07 14:59:01 -05:00
Akkadius
786e03b0ac
One more check
2017-07-06 10:33:03 -05:00
Akkadius
f8b5637112
Fix close combat positioning issues
2017-07-06 10:13:33 -05:00
Akkadius
94b5684b42
Fix fighting on hill issues
2017-07-05 18:59:43 -05:00
Akkadius
3dcc2edceb
Add rule Spells:ReflectMessagesClose - Live functionality is for reflect messages to show to players within close proximity, false shows just player reflecting
2017-07-03 19:55:28 -05:00
Akkadius
cfd2f8776e
More Z fixes
2017-07-03 19:36:35 -05:00
Akkadius
83605831ec
Remove some of the legacy Z adjust functions conflicting with newer changes
2017-07-03 14:27:11 -05:00
Akkadius
aed1959dbe
Fix issues with underground NPC corpses - add command #fixcorpses to fix nearby NPC corpses of the player (this should be a seldom need)
2017-07-03 01:53:41 -05:00
Akkadius
c3c60b331a
Resolve issues with NPC's hopping to the ceiling in small corridors
...
Improved grounding issues with NPC's during combat
Improved scenarios where NPC's need to be dragged out of the ground - they should correct themselves far more consistently
- Scenarios where an NPC is coming up from the bottom floor, or from the top floor, they will correct much better
- A video of these tests can be found here: https://www.youtube.com/watch?v=HtC7bVNM7ZQ&feature=youtu.be
2017-07-01 15:57:41 -05:00
Akkadius
7bbc4a6a44
Merge branch 'master' into eqstream
2017-07-01 03:15:18 -05:00
Akkadius
1f39a0cb3e
Fix some NPC and Corpse falling through the ground issues
2017-07-01 03:07:45 -05:00
Akkadius
9b1a449fba
Fix Z when following during pull, not when engaged and stationary or moving slightly
2017-06-28 21:44:31 -05:00
Akkadius
e4f337edb6
Merge branch 'master' of https://github.com/EQEmu/Server
2017-06-28 21:23:18 -05:00
Akkadius
5a9744b429
Add a fail-safe for dynamic zone shutdown timers
2017-06-28 21:23:02 -05:00
Akkadius
4d2825d817
Make sure we also fix Z when mobs flee up/down stairs
2017-06-28 16:43:38 -05:00
Akkadius
539fa8b262
Fixed issues with Z correctness when NPCs are pathing on normal grids
...
Fixed issues with Z correctness when NPCs are engaged with players following
NPC corpses should fall into the ground far less
2017-06-28 02:38:20 -05:00
Akkadius
9154938827
Merge branch 'master' of https://github.com/EQEmu/Server
2017-06-26 00:13:23 -05:00
Akkadius
4f7b8e0934
Add Critical Hit range (default 80) to legacy_combat.lua and fix a variable in Pet Criticals
2017-06-26 00:12:56 -05:00
Akkadius
c0f53647b8
Revert 5fac13075b until we don't creep client resend up to 4 seconds so quickly, this causes issues in higher traffic amounts and takes longer for clients to recover than needed
2017-06-25 20:37:37 -05:00
Akkadius
6773412e40
Merge branch 'master' of https://github.com/EQEmu/Server
2017-06-24 21:13:31 -05:00
Akkadius
1c8dea909e
New rules made by developers are now automatically created when world boots up, this keeps from having to issue schema SQL updates every time rules are added.
...
- Whenever a rule isn't present in the database, it will be automatically created
- utils/sql/git/required/2017_06_24_rule_values_expand.sql required for avoid floating point value inserts
2017-06-24 21:11:46 -05:00
Akkadius
6cc774faf4
Adjust netcode variables proven to be stable for players
2017-06-24 20:10:12 -05:00
Akkadius
8f4ec1b960
Merge branch 'master' of https://github.com/EQEmu/Server
2017-06-24 20:07:31 -05:00
Akkadius
357be65a69
Speed up saylink retrieval x 1,000 - helpful for dialogues, plugins with many saylinks
2017-06-24 20:07:01 -05:00
Akkadius
d0e612b5ff
Fix some lua calls/variables in legacy_combat.lua
2017-06-20 02:31:29 -05:00
Akkadius
27fd6316f1
Merge pull request #624 from noudess/master
...
Fixed a typo in #object command query and fixed a fishing bug.
2017-06-15 17:15:34 -05:00
Akkadius
c1ee88a90e
Update eqemu_server.pl to use wget for windows for more reliable web requests that don't hang infinitely [skip ci]
2017-05-04 01:57:27 -05:00
Akkadius
757c7f5b00
Merge pull request #615 from N0ctrnl/patch-4
...
Sodium library install on Debian
2017-04-24 21:31:56 -05:00
Akkadius
69fd5cd249
Merge pull request #613 from Natedog2012/master
...
Fix effects over int16 on items and fix aeduration spells
2017-04-23 19:49:56 -05:00
Akkadius
051fd1b77b
Merge pull request #614 from N0ctrnl/patch-3
...
Update Fedora package install method
2017-04-23 19:36:47 -05:00
Akkadius
77a2a249c2
Update README.md
2017-04-20 16:22:45 -05:00
Akkadius
bba646a2c6
Merge pull request #612 from N0ctrnl/patch-2
...
Added wget to Debian/Ubuntu section
2017-04-19 19:45:12 -05:00
Akkadius
989a638693
Merge pull request #608 from spdkils/BotXTarget
...
Adding AutoXTarget for bot owner when hate is added to bot's owner.
2017-04-13 18:20:28 -05:00
Akkadius
15f8683530
Merge pull request #606 from spdkils/master
...
** Fix for groups with multiple players and bots.
2017-04-13 18:13:56 -05:00
Akkadius
474f59e269
Re-add variable client aggro scanning timers missing from merge
2017-04-12 16:44:49 -05:00
Akkadius
fac75b6f16
Fix merge issue with Marquee check
2017-04-12 16:26:16 -05:00
Akkadius
478a9d115b
Merge branch 'master' of https://github.com/EQEmu/Server
2017-04-10 19:55:38 -05:00
Akkadius
b5b6145786
Fix initialization issues with loading 'disable_timer' from the database for doors
2017-04-10 19:55:17 -05:00
Akkadius
080f6c5c3e
Merge pull request #605 from AthrogatePEQ/master
...
Graveyards!!!
2017-04-10 13:06:52 -05:00
Akkadius
2030278116
Fix manifest for Robregen [skip ci]
2017-04-07 22:09:20 -05:00
Akkadius
f9ecabfdcf
Merge pull request #597 from regneq/master
...
Added ignore_despawn column to npc_types to have NPCs ignore the despawn timer.
2017-04-07 22:01:07 -05:00
Akkadius
9161921bf0
Fix for Loginserver log messages
2017-04-04 22:07:25 -05:00
Akkadius
d7dfc18c54
Cleaned up some of the NPC to NPC aggro code, only do aggro checks to other NPC's when the NPC is flagged for it
2017-04-01 23:16:27 -05:00
Akkadius
52a43a3edb
Fix Travis
2017-04-01 03:59:24 -05:00
Akkadius
7aa1d243b0
[Performance] Reworked how all log calls are made in the source, see changelog.txt for more details
2017-04-01 03:51:46 -05:00
Akkadius
a801f296b5
Merge branch 'master' of https://github.com/EQEmu/Server
2017-03-30 05:23:19 -05:00
Akkadius
9d0308c9bf
[Performance] Fixed an overhead issue where many hot paths would trigger quest subroutines and beneath that the code would try to see if a quest existed perpetually (checking if file exists) even though it should have determined the quest didn't exist the first time.
...
- This caused a lot of overhead in an instance where an entire zone of NPC's is pathing, triggering EVENT_WAYPOINT_ARRIVE and EVENT_WAYPOINT_DEPART when there is no global_npc.pl/lua, or all NPC's pathing don't have a quest assigned, similar behavior would occur. This goes for any other type of quests: spells, items, encounters etc.
2017-03-30 05:22:47 -05:00
Akkadius
af9a34e4e7
[Performance] Slow dynamic zones down when no clients are in them
2017-03-28 21:10:57 -05:00
Akkadius
01d7a2a0a7
Merge branch 'master' of https://github.com/EQEmu/Server
2017-03-28 19:07:30 -05:00
Akkadius
fe8e907b08
[Performance] Remove unecessary log calls from EQStream hot paths (read/write)
2017-03-28 15:52:51 -05:00
Akkadius
a06d5fab89
[Performance] Adjust HP marquee call checks
2017-03-28 15:49:13 -05:00
Akkadius
d777b1048d
[Performance] Don't process ProjectileAttack checks for NPC's that are not engaged in any combat
2017-03-28 03:05:46 -05:00
Akkadius
f931ef7bcb
[Performance] Disabled enraged timer checks for NPC's that do not actually have enrage as a special attack
2017-03-28 02:45:07 -05:00
Akkadius
47691c2102
[Performance] Removed a timer where clients would constantly calculate light amount on equipment every 600ms, instead clients will update light when changing equipment or entering a zone
2017-03-28 02:36:51 -05:00
Akkadius
bf45a5a44f
[Performance] Fixed a large overhead issue where every single NPC in a zone was checking to depop themselves
...
as a swarm pet every 3ms regardless of being a swarm pet or not. Swarm pets now check to depop only when their timer is up
2017-03-28 02:30:06 -05:00
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
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
Akkadius
719098a97c
[Performance] Reduced CPU footprint in non-combat zones doing constant checks for combat related activities
2017-03-25 23:32:49 -05:00
Akkadius
8bdefa17b5
Fix README.md
2017-03-22 13:39:12 -05:00
Akkadius
41b1634199
Update proper file name utils/sql/git/optional/2017_03_12_rule_values_range_update.sql [skip ci]
2017-03-12 17:19:42 -05:00
Akkadius
0159e1cc72
Fix some crapped out formatting [skip ci]
2017-03-12 16:42:26 -05: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
Akkadius
5213e4c7d4
Remove table that doesn't exist anymore (PEQ Dumps) [skip ci]
2017-03-01 15:19:56 -06:00
Akkadius
e098836934
Upload table lists that PEQ uses in daily database dump
2017-02-22 22:49:23 -06:00
Akkadius
8bbf099636
Merge fix
2017-02-21 03:57:10 -06:00
Akkadius
a884639534
Reduce the initial telnet console prompt timer
2017-02-21 03:55:21 -06:00
Akkadius
f0f5c41c30
Fixed an issue where clients would sell x1000 stacks of items where the price overflows data sizes, the code will now make sure not to sell too many items that go over this data size
2017-02-19 21:12:18 -06:00
Akkadius
ef16522473
Implement Rule Zone:GlobalLootMultiplier (Default 1) - Sets Global Loot drop multiplier for database based drops, useful for double, triple loot etc.
2017-02-13 02:16:40 -06:00
Akkadius
fe21564659
Apply KLS' tweaks to Log.Out (CPU saves) https://github.com/EQEmu/Server/commit/1d055b5364a4183a327683dfa13cf33954874616
2017-02-13 01:38:23 -06:00
Akkadius
e3173d04d4
Merge branch 'master' of https://github.com/EQEmu/Server
2017-02-13 01:26:44 -06:00