- 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.
- 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
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
(known as eqemu_update.pl) now known as eqemu_server.pl
- eqemu_server.pl is now a general EQEmu Server management utiltiy framework that can be used
to extend to many purposes. It's main purpose is to simplify server management
- eqemu_server.pl changes:
- Menu has been completely changed, instead of a number based (enter number and hit enter)
you now type commands within the menu (Ex: 'database')
- Handles last mile installation for Windows Servers (See Github Readme)
- Handles last mile installation for Linux Servers (See Github Readme)
- Ubuntu
- Debian
- Fedora
- CentOS
- Now checks for Internet connection before performing web requests
- Database:
- Regular schema updates now happen automatically, if new binaries present updated
database schema changes, script will backup first, auto update database, and continue
world bootup
- Regular bots database schema changes now happen automatically similarily to the above
- Database checks can also be ran manually via the script menu
- CLI Arguments
- Arguments passed to eqemu_server.pl can execute the same name-based operations that
are present in the interactive menu
- Example: "perl eqemu_server.pl opcodes" will download opcodes
- Example: "perl eqemu_server.pl backup_player_tables" will backup and export player tables
- Bots
- Bots can now be automatically setup in Linux or Windows via the 'setup_bots' command
- Windows will auto download binaries and install, along with installing bots db schema
- Linxu will auto compile binaries and install, along with installings bots db schema
- Utility scripts
- Linux now has the following utility scripts for download, available via menu 'utility_scripts'
and via Linux default install:
- server_launcher.pl
- server_start_dev.sh
- server_start.sh
- server_status.sh
- server_stop.sh
- Usage analytics
- eqemu_server.pl now collects usage analytics, this is very helpful for our developers
- Example: We can see how many installs have been performed:
https://github.com/EQEmu/Server#server-installs
- This helps us see how often certain utilities are used as well
- Console Messages
- All script messages have been prefixed with a bracket action Ex: [Update] [Database] [Info]
to be more consistent with our log conventions
- 'New Server' Utility
- Running 'new_server' from the main menu or 'perl eqemu_server.pl new_server' while in
a completely new folder with just the script present, will allow a server operator
to initiate a full clean PEQ install in that folder. Pulling down all assets and
installing a PEQ database with the name the server operator gives the prompts in the
script
They started linked spells at OoW launch (I think)
At least canni was linked then.
This is rather user unfriendly, but that's live like.
Ex. the spells aren't actually put on cool down so you can attempt to cast them
still but you will be interrupted.
Titanium is particularly unfriendly with large differences in reuse times
New limits:
Tit: 9
SoF: 9
SoD: 10
UF: 12
RoF: 12
RoF2: 12
The SoF client doesn't actually support 10 like SoF should
RoF/RoF2 actually have 4 extra broken spell gems in the UI. They don't work and
will likely crash your client
Quest stuff assumes you are passing in valid slots.
(note the old default of 10 should be 22)
There are still somethings to do like clean up the memmed spells if one switches
to an older client that doesn't support as many as their previous client.