» Log in
User Name:


Not a member yet?
Register Now!
» Online Users: 98
3 members and 95 guests
nenelan, Starrface, vithmiris
Most users ever online was 1,779, 07-11-2016 at 10:30 AM.
» Ads
» Welcome
Welcome to the Everquest Emulator, An Open Source project committed to providing Custom Everquest Servers.
If you are looking to play on an EQEmulator Server, try our Getting Started Wiki Guide.

EQEmu Server Update Framework FYI
May 04, 2017 - 5:11 PM - by Akkadius
Just wanted to make folks aware before they get freaked out about seeing some error messages.

The Windows installer has been updated to comply with all of the recent server changes to make the installation experience as smooth as possible.

The update handler also will update and throw some errors when you run world next because of the way things will update. This only affects Windows users.

Run world once or twice and it will clear up the issues in the update framework.

Windows should also be faster with handling installations and no longer have issues with intermittent hanging when doing updates or anything of the sort.

Thanks everyone

0 Replies | 317 Views
Recent Source and CMAKE Changes - FYI
Apr 19, 2017 - 4:40 PM - by Akkadius
If you're have issues compiling, keep in mind the following information.

- Windows: You need Visual Studio 2015 or later
- Linux: You need GCC 4.8 or later

- You will need to download new dependencies: http://eqemu.github.io/ and add them to your dependencies folder for your respective build type (x86 or x64) (Windows)

Make sure you're running a recent version of CMAKE. Delete Cache, Configure and Generate. You should have no issues building after that point.
20 Replies | 1,167 Views
Netcode Update
Apr 18, 2017 - 1:06 PM - by Akkadius

Just wanted to make a quick update regarding the latest massive change to the Emulator source. Thanks Mackal/demonstar for making the original post to let users know.

KLS has spent close to a year working on a massive revamp of the EQEmu base netcode. After a recent onslaught of testing and ironing out some of the latest issues, it's been stable on PEQ for several days. It has been merged into the master EQEmu branch as of a few nights ago.

This netcode overhaul includes much cleaner and manageable code, many optimizations, far more robust, leaner (takes far less CPU) and has been needed for a long time.

In the changelog there are a few notable changes that you will need to make in your environment if you choose to make this update.

In your eqemu_config.xml you will need to make some changes. To connect to a Loginserver using older netcode such as the EQEmu Loginserver, you will need to add a 'Legacy' XML tag:

If you use the telnet server embedded in the World server, you will need to make the following adjustments to your world config:

These defaults have also been changed in the 'Akka Installer', you can see them here:


For more information, see the changelog:


If you have any questions, you can post them in this thread, otherwise please give a huge thanks to KLS for putting in the time for this!
0 Replies | 447 Views
Linux Installers & Github Readme Updated & EQEmu Server Management Framework Overhaul
Sep 12, 2016 - 2:40 AM - by Akkadius
Hello everyone.

Have quite a few different things to announce in a quick news post here. A lot of time has been put into these things.

We now have standardized installers for the following Linux Distributions:
  1. Ubuntu
  2. Debian
  3. Fedora
  4. CentOS

The install script can be found here:


Thanks N0ctrnl for assisting in getting some of these other platforms supported in the installer. Thanks to those in the coders channel that have assisted in testing installations in effort to make things simplified and easier to install/manage overall.

Github Read Me has been Updated

  • You will find that the Github Readme has had a few things added to it

Read up on the Massive EQEmu Server Management framework overhaul:
Post comments and questions below.
21 Replies | 8,681 Views
EQEmu Considering Deprecating Clients
Aug 24, 2016 - 2:31 PM - by Akkadius
Due to a variety reasons, we've been considering deprecating all game clients up to the Rain of Fear clients.

This means that the following clients would no longer be maintained in the main server code:
  • Titanium
  • SoF
  • SoD
  • UF

Maintainability being one of the biggest reasons, another large reason is because of having to hack server code heavily which introduced a large amount of complexity in trying to implement new inventory code.

This also would forces players on all servers to be on a newer version of code.

We would branch our code into a Github branch to a frozen state where all clients work, but further features and implementations would only support RoF+ clients.

I would like to extend this discussion into a thread for players and server operators to chime in on.

Again, this is nothing final, but bringing the discussion public for all to chime in on.

We've briefly discussed this in coders and would like to see others feedback.
127 Replies | 16,876 Views
EQEmu Has Gone Discord
Aug 10, 2016 - 3:27 PM - by Akkadius
Hello all, our coders channel has been trying out discord and we are loving it so far (most of us, change can be hard sometimes)

I am extending this invitation out to the public to the EQEmu "general" chat channel.

We're looking at adding channels and things over time as people become familiar with it.

Here is an invite link:




See you there!

0 Replies | 3,476 Views
Implement extra spell gems
Jul 31, 2016 - 5:31 PM - by demonstar55
EQEmu will now allow each client to use their maximum spell gems.

Those limits:
Tit: 9
SoF: 9
SoD: 10
UF: 12
RoF: 12
RoF2: 12

I still need to handle cleaning up the extra spell gems for when one goes to an older client, but for most players this should just work.

See the changelog for more details.
4 Replies | 4,205 Views
Zone MMF Files
Jul 28, 2016 - 10:57 PM - by Uleat
A memory-mapped file feature has been added to zone maps.

This feature should alleviate some wasted memory in the map loading process and quicken zone boot-up times by a percentage.
(Actual benefit will vary depending hardware, zone size, etc...)

Please consider using this option as experimental for the time being.
36 Replies | 7,460 Views
Mob Pathing Issues and High CPU Usage
Jul 09, 2016 - 12:53 PM - by Uleat
There is a fix in the git repository for an issue where a zone's roaming mobs will path upon start-up, then stop.

This is usually accompanied by high cpu usage.

To fix this issue, just pull in the latest code, recompile and move the new binaries to your server directory.

Anyone running older/custom code will want to evaluate whether this fix affects their server and apply the fix manually.

1 Reply | 1,722 Views
EQEmu Project Update
Mar 14, 2016 - 2:04 AM - by Akkadius
It's been a while since I've done a community update, but its time people get an update of the massive amount of work that continues to drive this project.

We should all be very thankful to have such an amazing community with all of the extremely talented and driven individuals that encompass it.

With that being said, there are so many things that have been done in the past year or so that I will do my best to go over as much of the things that I've seen happen, and I can guarantee you I will miss a bunch of things cause there is just that much going on.

I will also be posting more regular updates so we can have more updates on the things we are doing and plan on doing community wise.

Shards of Dalaya rejoins EQEmulator
  • After a very long project of the Shards team overhauling their back-end code, they have finally been able to make a connection to the EQEmulator public loginserver. Welcome them back as they have been a very unique and customized server that has been running for many years.
  • To get started on this server: https://shardsofdalaya.com/files.htm
  • Website: https://shardsofdalaya.com/

Tak Project (Alkabor - EQ Mac)
  • The Tak project is now on the EQEmulator public loginserver, they have a strong team that has been making huge strides in development
  • Some of the recent changes:
    • They have recently opened up the Bazaar and Nexus, they are working on Velious development and looking to open sometime this year
    • Raid window has been recently implemented
    • Client compatibility improvements
    • Live-like combat ac/mitigation overhauls and adjustments
  • Server Info: http://www.eqemulator.org/index.php?...o&worldid=2561

EQEmu Server Installer
  • For years we've had very long, sometimes convoluted server install guides that could take a new person a lot of time to try and figure out. Even for a seasoned and experienced developer it can be a frustrating process to get a server up and running. I've spent quite a bit of time making this process as streamlined and as simple as possible. I've recently done a several month testing in this thread (http://www.eqemulator.org/forums/showthread.php?t=40299) and things have gone very smooth. Right now this is set for Windows, but could very easily be extended to Linux as most of the installation process is driven from the new eqemu update system
  • Along with this, the "Akka's PEQ Repack" will be retired
  • http://wiki.eqemulator.org/p?Akkas_P...aller&frm=Main
  • Features:
    • 2-10 minute automated EQEmu Server Install
    • Perl 5.12.3
      • Perl DBI module also installed automatically
    • MariaDB x64 10.0.0 - Optimized MySQL configuration
      • Heidi SQL (Comes with MariaDB)
    • Latest PEQ Database and automatically updated with the installer
    • Latest PEQ Quests
    • Latest Plugins repository
    • Visual Studio runtimes (For the server executables)
    • Automatically added Firewall rules
    • New Map formats are loaded
    • New Path files are loaded
    • LUA Configured
    • Optimized and latest server binaries (Stable)
    • Loginserver:
      • The server is configured to use the EQEmu Public Loginserver
      • You can also install a local login-server for LAN play
Loginserver Source Updates (Not the public loginserver)
  • Recently overhauled the logging system that the loginserver uses to conform to the overhaul that happened with the rest of the project to use the same system
  • The loginserver now supports auto account creation for folks who want to have a "LAN based setup" that is completely disconnected from any internet access
  • You can now download a pre-compiled Windows loginserver using option 13 in the update script

Server Performance (Dramatic Improvements)
  • In the past years, we've seen exponential improvements in server performance in the source. Many of us developers have chipped away at costly code, rewritten big chunks of the source and made HUGE improvements.
  • The server performance is currently the best that it has ever been, since I've taken over EZ Server I've had the opportunity to take live production player traffic and put it under a Visual Studio profiler and figure out all of the costly code paths and reduce the CPU footprint dramatically in the source
  • EZ Server used to run 2 Xeon processors with 500-600 players fluctuating often between 30%-100% on all cores approximately 2 years ago. It now runs 1,000+ players with hardly budging from 25-30% idle. The entire community improves from these footprint changes
  • The changes and improvements that have been made are FAR too many to mention, but some of them include:
  • Over the past few years, we've also made huge strides at heavily reducing process crashes that are produced in the source, so the level of stability has also come a LONG way. Very few crashes occur in our current master source branch

Server Development, Management and Tools
  • Hotfix (Shared Memory Hot Reload) (KLS):
    • For the longest time, in order to make changes to spells, items, loot etc. You had to make your changes and restart your server processes (world/zone etc.). Now, thanks to KLS and a massive overhaul with how the shared memory system works, you can use #hotfix to re-apply spell/item/loot changes etc. while you are developing. This cuts down heavily on the feedback loop and creative process when building a server. The command issues a shared_memory reload in all zone processes and world
  • Tools Guide (Compiled by Shendare)
    • This community has seen an incredible amount of tools created by members of the community over many years, some of them are no longer maintained, some of them posted in threads that no one sees anymore etc. Shendare was nice enough to compile a massive tool cheat sheet for developers. Check it out here: (It's quite outstanding)
  • Repop Close (Akkadius)
    • Sometimes when developing or working on a zone, you might need to repop a zone over and over and over repeatedly. This can become a slow process as your zone gets larger and larger. #repopclose was created for developers to only repop a zone with NPC's that are within 500 units of the GM who initiated the command
  • 13th Floor Items Database Update (Demonstar, Natedog, Akkadius)
    • For a while, the 13th floor DB repo had no longer been maintained, so we've not been able to import the latest items into PEQ for the past 2 years or so. Someone recently spun up a copy of 13th floor and we made an effort to help collect item data from Live to be able to import that data into the EQEmu items schema.
    • The new 13th floor import script was originally authored by Natedog, adjustments made by Akkadius:
  • KLS has been recently working on a crazy major overhaul of pathing which includes a visualization program that helps build path files
    • This could be extended into a visual world editor, but right now generates the path/map files for the new overhaul
  • Github Branch: https://github.com/EQEmu/Server/tree/lets_move
  • Navigation Editor: http://wiki.eqemulator.org/p?Navigation_Files
  • Pathing Overhaul Benefits:
    • Better overhaul pathing (Obviously)
    • Future AI overhauls
    • Find functionality will actually generate more proper paths in zones
    • NPC's will avoid swimming unless its a shortcut because there are defined paths. For example if there is a bridge nearby, the NPC will prefer to take that path over just jumping in the waterPathing System Major Overhaul (KLS) (Work in Progress)
  • Alternate Advancement System Overhaul (KLS and Demonstar)
    • This is an older update, but the AA system was a massive disgusting code mess that needed a rewrite. Demonstar put together the packet collect scripts to pull down live AA data and together with KLS they worked on overhauling the AA code.
    • Not only has this made the AA code far cleaner, but it has also made it harder to exploit with the holes that were in it before.
    • With this overhaul we also have all new AA's through Live
  • Inventory Snapshots (Uleat)
    • The ability to have period inventory snapshots for backup purposes has been implemented, a tool can easily be built to restore these snapshots to a character inventory
  • #command overhaul (Uleat)
    • The #command system had a bit of an overhaul, including the ability to set multiple command aliases, the new table is now command_settings, these aliases are separate by a pipe | delimiter
  • Version 2 Maps (KLS)
    • Version 2 maps have been out for quite a while, but this is also an overhaul that has definitely improved server performance, this was introduced close to 2 years ago now and they can be downloaded via the update script
  • Saylink Adjustments (Demonstar/Akkadius)
    • Allowed item ID's to be linked up to ID 1,048,575
    • Saylink ID's are now processed in the aug portion of the item packet so they don't conflict with Item ID's
  • Fixed base resists (Demonstar)
  • Fixed ammo slot modding Skills (Uleat)
  • Secondary Recall Implemented (Demonstar)
  • Guild Banks work for RoF2 now

EQEmu Update System (Akkadius)
  • The eqemu_update.pl script has become an integral part of how a lot of us keep the core server updated. It started by managing our automatic database versioning, which has been a HUGE improvement to server maintaining and has streamlined both the process of developers making database changes, and server operators keeping their database up to date without frustration. It has also extended to multiple other features and uses and will continue to do so.
  • Normally, world will execute this script on boot-up, but you can also manually run it yourself in the server directory (eqemu_update.pl)
    • Database Update System: http://wiki.eqemulator.org/p?Automat...Upgrade_System
      • Will now update databases as far back as 2012 (SVN DB Updates)
    • Bot Database Updates
      • If you are running compiled bot binaries, the update system will recognize this and also has the ability to keep a bots database schema up to date. This is option 4 in the update menu.
    • Precompiled Windows Server Binaries
    • Other things the update script maintains:
      • 1) [Backup Database] :: (Saves to Backups folder)
        2) [Backup Database Compressed] :: (Saves to Backups folder)
        3) [EQEmu DB Schema] :: Check and stage pending REQUIRED Database updates
        4) [EQEmu DB Bots Schema] Check for Bot REQUIRED database updates... (Must have bots enabled)
        5) [OPCodes] :: Download latest opcodes for each EQ Client
        6) [Maps] :: Download latest map and water files
        7) [Plugins (Perl)] :: Download latest Perl plugins
        8) [Quests (Perl/LUA)] :: Download latest PEQ quests and stage updates
        9) [LUA Modules] :: Download latest LUA Modules (Required for Lua)
        10) [DB Data : Alternate Advancement] :: Download Latest AA's from PEQ (This overwrites existing data)
        11) [Windows Server Build] :: Download Latest and Stable Server Build (Overwrites existing .exe's, includes .dll's)
        12) [Windows Server .dll's] :: Download Pre-Requisite Server .dll's
        13) [Windows Server Loginserver Setup] :: Download and install Windows Loginserver
        14) [Remove Duplicate Rule Values] :: Looks for redundant rule_values entries and removes them
        19) [EQEmu DB Drop Bots Schema] :: Remove Bots schema and return database to normal state
        20) [Update the updater] Force update this script (Redownload)


== 03/05/2016 ==
mackal: Implement extra bind points (secondary recall)
For SE_Gate, base2 is which bind to use (starting at 1)
For SE_BindAffinity, base1 is which bind to set (starting at 1)
For SE_GateCastersBindpoint, base1 is which bind to use (starting at 1)
There was actually no spells that don't send to the main bind, but it uses a base1 of 1 which matches with SE_Gate
This also doesn't break anything

== 03/01/2016 ==
Uleat: Fix for LDoN treasure 'npcs' not leaving a corpse (please report any issues..)

== 02/29/2016 ==
Uleat: Change in AddItemBonuses - now includes ammo slot for skill mods only. Defined SoD- client SkillModMax packet property (client does not show..but, does enforce.)

== 02/11/2016 ==
Hateborne: Added IgnoreSpellDmgLvlRestriction rule (boolean) to ignore the 5 level spread when checking to add SpellDmg

== 02/10/2016 ==
Hateborne: Added FlatItemExtraSpellAmt rule (boolean) to allow SpellDmg on items to be added as raw damage versus scaled.

== 01/26/2016 ==
Uleat: Fix for Berserker 'Piercing' skill issues. Server Admins: If you run custom skill sets, this patch touches the code segments that you will need to modify if you have changed the default berserker 1H-/2H-piercing skill values.
Uleat (Daerath): Fix for precision-loss item weight conversions in older clients.
- Note: Cmake must be re-run to include/exclude the required files

== 01/13/2016 ==
Kinglykrab: Modified #flag so you can refresh your target's account status (GM status level) without them having to relog.
- Just target the person whose flag you want to refresh and type #flag.
Uleat: Added itemlink functionality to the #summonitem command. Current use is limited to extracting the item id from the link.
- Invoking by item link '#summonitem Arrow' produces the same result as by item id '#summonitem 8005'

== 01/12/2016 ==
Athrogate: Adding ClearCompassMark() to Lua.
- Lua didn't have ClearCompassMark(). Perl already had this.

== 01/12/2016 ==
Uleat: Fix for tradeskill containers remaining locked after a RoF+ client leaves. Intermediary fix for RoF+ clients accessing tradeskill containers when in use by another player (thanks Natedog!)

== 12/29/2015 ==
Akkadius: Implemented standardized zone controller scripts (Rule Zone, UseZoneController) Defaulted to true
- When a zone boots, it will spawn an invisible npc by the name of zone_controller
- Lua and Perl scripts can be represented with this npc as zone_controller.pl/lua
- This NPC's ID is ruled be define ZONE_CONTROLLER_NPC_ID 10
- Two EVENT's uniquely are handled with this NPC/controller (They only work with the zone_controller NPC)
- EVENT_SPAWN_ZONE :: All NPC spawns in the zone trigger the controller and pass the following variables:
- EVENT_DEATH_ZONE :: All NPC deaths in the zone trigger the controller event and pass the following variables:

== 12/28/2015 ==
Kinglykrab: Added GetInstanceTimer() to Perl and Lua.
- Added GetInstanceTimerByID(instance_id) to Perl and Lua.
- Note: If you do not provide an instance id in the method it defaults to instance id 0 and returns 0 for time remaining.
- Added UpdateZoneHeader(type, value) to Perl and Lua.
- Note: UpdateZoneHeader allows you to manipulate fog color, fog density, and many other zone header settings on the fly in Perl and Lua.

== 12/21/2015 ==
Natedog: Updated item table fields and added a few missing fields for evolving items
-DO NOT implement Heirloom items till the inventory code is fixed to allow placing NO DROP
items in your shared bank. (but item field located on items table)
-NYI - SkillModMax: Max skill point modification from the percent mods. EX:
100% 2HSlashing (Max 50) - can only increase 2hslash by 50 MAX! (item field located though)
Kinglykrab: Added GetMeleeMitigation() for NPCs and Clients in Perl and Lua.
- This allows you to check total item, spell, and AA melee mitigation contribution.

== 12/19/2015 ==
Kinglykrab: Added many methods to Perl and Lua, list below:
- SeeInvisible()
- SeeInvisibleUndead()
- SeeHide()
- SeeImprovedHide()
- GetNimbusEffect1() - returns first nimbus effect
- GetNimbusEffect2() - returns second nimbus effect
- GetNimbusEffect3() - returns third nimbus effect
- IsTargetable()
- HasShieldEquiped()
- HasTwoHandBluntEquiped()
- HasTwoHanderEquiped()
- GetHerosForgeModel() - returns int32 Hero's Forge model
- IsEliteMaterialItem() - returns uint32 Hero's Forge Model
- GetBaseSize() - returns Mob's base size
- HasOwner()
- IsPet()
- HasPet()
- IsSilenced()
- IsAmnesiad()

== 12/16/2015 ==
Noudess: Repaired issue with Bind Wounds on someone else. Message was not coming out on client (hold still) and a bind wounds on someone already binding their wounds would interrupt their bind and make them stand. Also removed some duplicate messaging.

== 12/14/2015 ==
Kinglykrab: Added IsBlind() and IsFeared() functionality to Perl and Lua.
- Note: Both methods are Mob methods and may be used on NPCs or PCs.
Natedog: Added Discipline functions, UpdateInstanceTimer function, and UnmemSpellBySpellID to lua and perl
-Examples: http://wiki.eqemulator.org/i?M=Pastebin&Paste=BJ0ygmNM

== 12/07/2015 ==
Uleat: Command aliases are no longer handled through the command_add() function.
- To add a command alias, edit the database table `command_settings` - here, you will find three columns: `command`, `access` and `aliases`
- Adding command aliases require that the command contain an entry in `command_settings`.`command`
- Only 'real' commands go inside of the command_init() function in command.cpp .. if you wish to add aliases, you must enter them into the database
- 'Real' commands are loaded first .. then any access/alias data is loaded and applied afterwards
- Duplicate aliases will be ignored .. only the first encountered occurrence will be honored - if it does not conflict with an existing command name
- Aliases should not contain whitespace and should be '|' (pipe) delimited
- The restriction on the number of aliases has been removed .. though each alias will still be limited to the access level of the parent command
- If you need need more name space for aliases, simply edit the `command_settings` table and increase the size of the `aliases` column
- The old `commands` table has been renamed to `commands_old` for reference
- All of the current 'standard' commands have been added to the new `command_settings` table


== 11/30/2015 ==
Uleat: Changed criteria for a few bots scripts from count to null/not null in hopes of fixing special case failures

== 11/22/2015 ==
Uleat: Fix for loginserver project compile failure

== 11/7/2015 ==
Akkadius: Implemented #repopclose [distance in units] - Used for development purposes, defaults to 500 units
- Real case use: Large zones with 700 NPC's and you are making fast quick tweaks to nearby NPC's you can refresh just the NPC's around you instead of all in the zone
- This can be quite the time saver
- This command will depop all NPC's and only respawn the NPC's that are 500 units around you or unless you specify otherwise

== 11/2/2015 ==
Akkadius: Performance boost (exponential) - Adjusted default idle cast check timers in rules
- Spells:AI_IdleNoSpellMinRecast 500 (Now 6000) 6 seconds
- Spells:AI_IdleNoSpellMaxRecast 2000 (Now 60000) 60 seconds
- Database version 9089 will take care of this update automatically only if you used the default values
- The CPU cost of NPC's checking the entire entity list to cast beneficial spells (Heals/Buffs) becomes extremely high when higher NPC count zones exist (Based off of process profiling)
- Distance checks for every single NPC to every single other NPC who are casting beneficial spells occur every .5 - 2 seconds unless npc_spells dictates other values, which most of the time it does not
- Zones that once fluctuated from 1-8% CPU with no activity (Idle but players present) now idle at .5% based on my testings due
to this change in conjunction with the past few performance commits, these are zones that have 600-800 NPC's in them
- These values normally are overidden by the spells table (npc_spells), fields (idle_no_sp_recast_min, idle_no_sp_recast_max)

== 11/1/2015 ==
Akkadius: Made many performance optimizing oriented code changes in the source
- Added Rate limit the rate in which signals are processed for NPC's (.5 seconds instead of .01 seconds)
Akkadius: Added Perl Export Settings which should heavily reduce the Perl footprint
- Normally when any sub EVENT_ gets triggered, all kinds of variables have to get exported every single time an event is triggered and
this can make Perl very slow when events are triggered constantly
- The two most taxing variable exports are the item variables ($itemcount{} $hasitem{} $oncursor{}) and qglobals ($qglobals{})
- qglobals can pose to be an issue quickly when global qglobals build up, it is highly recommend to use the GetGlobal() and SetGlobal()
methods instead as they don't reference the hashmap $qglobals{} that is rebuilt every single time a sub event is triggered
- A stress test conducted with 10,000 samples shows an excess of time taken to export variables: http://i.imgur.com/NEpW1tS.png
- After the Perl Export Settings table is implemented, and all exports are shut off you see the following test result:
- The difference of eliminating uneeded exports brings the overhead and footprint of 10,000 triggers from 54 seconds to 2 seconds
- In a 10,000 sample test (10,000 sub event triggers), exporting item variables adds 12 seconds alone, when item variables are only needed in
EVENT_ITEM and EVENT_SAY a majority of the time if at all
- In a 10,000 sample test (10,000 sub event triggers), exporting qglobals with approximately 1,000 global qglobals in the database creates
about 11-20 seconds of delay on its own (Depending on hardware of course)
- I've written a parser that has determined which of these exports are needed in which sub routines and have turned off all of the unneeded
exports in sub routines that do not need them and used it to create the default table that will be installed in the database.
- The export table is called 'perl_event_export_settings' and it resembles the following structure and contains all current 81 EVENTS
- If an entry doesn't exist in this table and a new subroutine is added to the source, all exports will be on by default for that routine

| event_id | event_description | export_qglobals | export_mob | export_zone | export_item | export_event |
| 0 | EVENT_SAY | 1 | 1 | 1 | 1 | 1 |
| 1 | EVENT_ITEM | 1 | 1 | 1 | 0 | 1 |
| 2 | EVENT_DEATH | 1 | 1 | 1 | 0 | 1 |
| 3 | EVENT_SPAWN | 1 | 1 | 1 | 0 | 1 |
| 4 | EVENT_ATTACK | 0 | 1 | 1 | 0 | 1 |
| 5 | EVENT_COMBAT | 1 | 1 | 1 | 0 | 1 |

- If a change is made to this table while the server is live and running, you can hot reload all zone process settings via:
- For those who wonder what "exports" are, they are reference to variables that are made available at runtime of the sub event, such as:
(export_qglobals) (Heavy) : $qglobals https://github.com/EQEmu/Server/blob...arser.cpp#L916
(export_item) (Heavy) : $itemcount{} $hasitem{} $oncursor{} https://github.com/EQEmu/Server/blob...rser.cpp#L1103
(export_zone) : $zoneid, $instanceid, $zoneln etc. https://github.com/EQEmu/Server/blob...rser.cpp#L1083
(export_mob) : $x, $y, $z, $h, $hpratio etc. https://github.com/EQEmu/Server/blob...rser.cpp#L1032
(export_event) : (event specific) IE: EVENT_SAY ($text) https://github.com/EQEmu/Server/blob...rser.cpp#L1141

== 10/16/2015 ==
Uleat: Added command '#bot clearfollowdistance [ | spawned | all ]' to coincide with the activation of the load/save feature for follow_distance

== 10/13/2015 ==
Uleat: Important update to 2015_09_30_bots.sql - fix for orphaned entries causing crashes during the conversion process
Note: Please visit the thread below if you encounter issues during the conversion process

== 10/12/2015 ==
Uleat: Implemented 'bots' database versioning
Note: See thread for more information: http://www.eqemulator.org/forums/showthread.php?t=40091

Kayen: Feign death will now break when hit by casted spells, consisted with live.
Implemented suport for AA/spell effect which provides a chance to avoid FD breaking from spells.

== 10/10/2015 ==
Kayen: Updated mechanics to be consistent with live regarding how invisible breaks when the client is the target of a spell.
Invisible will drop whenever a client is hit with a detrimental spell, regardless of if resisted, if it does damage or AOE.
Hide skill now also follows the same rules as above.
Implemented support for Rogue AA - Nerves of Steel which gives a chance for hide NOT to break
when client is hit with an AOE spell.

== 09/25/2015 ==
Uleat: Implemented 'Inventory Snapshot' feature to track online player inventories at timed intervals.
'Character:ActiveInvSnapshots' - active (true) or inactive (false - default)
'Character:InvSnapshotMinIntervalM' - minimum time between snapshots (in minutes)
'Character:InvSnapshotMinRetryM' - minimum time to attempt a retry after a failed snapshot (in minutes)
'Character:InvSnapshotHistoryD' - minimum time to keep snapshot entries (in days)
'#invsnapshot' - Takes a snapshot of target client's inventory (feature active or inactive)
'#clearinvsnapshots [use rule]' - Clears snapshot entries based on bool argument ([true] - honors the 'InvSnapshotHistoryD' rule, [false] - erases all)

== 08/02/2015 ==
Shendare: VS2013 query StringFormat glitches when "%f" is passed for the int GetRunSpeed().
Shendare: In CreateNewNPCCommand(), the npc_type_id and spawngroupid are created in the database, but never set in the spawn class, so later it can't delete them with #npcspawn remove or #npcspawn delete.

== 07/27/2015 ==
Uleat: Reworked the QS Audit code in Handle_OP_ShopPlayerBuy (\zone\client_packet.cpp) to help eliminate potential for exception errors

== 07/22/2015 ==
mackal: Corrected some hate value calcs based on updated http://www.eqemulator.org/forums/showthread.php?t=39819

Rule Aggro:MaxStunProcAggro to Aggro:MaxScalingProcAggro since the cap applies to more than stuns

== 07/16/2015 ==
mackal: Rework spell aggro based on http://www.eqemulator.org/forums/showthread.php?t=39819

== 07/15/2015 ==
Hateborne: Added optional ability to enforce task level requirements in perl and lua via an added, optional parameter to $client->AssignTask and quest::assigntask.
Use cases:
quest::assigntask(703); # this still assigns the task as normal, no functional change
quest::assigntask(703, 1); # this will assign the task, provided the character meets the db-stored level requirements
$client->AssignTask(703, $npc->GetID()); # still assigns the task as normal, no functional change
$client->AssignTask(703, $npc->GetID(), 1); # this will assign the task, provided the character meets the db-stored level requirements
== 07/06/2015 ==
mackal: Implement Triple Attack Skill
Parses showed about rand(1000) for the chance, may need more investigating
Corrected Double Attack chances as well
Running optional 2015_07_06_TripleAttack.sql will set current toons to their max skill
This is optional because the admins might want to go a different route.

== 07/05/2015 ==
mackal: Rewrite NPC combat attack round logic
An NPC "quading" is really just an NPC with innate dual wield that doubles on both hands
The old rules allowed NPCs to hit 6 times in one round
NPCs also seem to have their own skill progression for DW/DA
See: http://www.eqemulator.org/forums/showthread.php?t=38708
You can set Combat:UseLiveCombatRounds to false to use the old rules
PC Double Attack rates kind of follow the same thing but still needs to be implemented
Kinglykrab: WARNING: summonburriedplayercorpse is now summonburiedplayercorpse, getplayerburriedcorpsecount is now getplayerburiedcorpsecount, summon_burried_player_corpse is now summon_buried_player_corpse, and get_player_burried_corpse_count is now get_player_buried_corpse_count FIX THESE IN YOUR SCRIPTS OR THEY WILL NOT WORK!!!!
Added bot saylinks (thanks Uleat!)
Command aliases for #augmentitem (#aug), #findnpctype (#fn), #findspell (#fs)
Bot command changes: #bot sow -> #bot speed, #bot magepet -> #bot setpet, #bot resurrectme -> #bot resurrect
Changed all occurrences of burried to buried in the code.
client_packet.cpp was referencing old columns in character_corpses, not sure how we didn't already see this before.

== 7/4/2015 ==
mackal: Reworked the activated avoidace skills (riposte, dodge, etc) based on dev quotes
This also fixes the order things are checked (avoidance skills, THEN hit/miss)
Also riposte immunity from the increase riposte chance spell effect.

== 7/2/2015 ==
KLS/Demonstar55: AA system has been rewritten fixing a ton of bugs and extending functionality while making it easier to create new AA points.
KLS/Demonstar55: New tables are needed and so older data will need to be migrated to the new system.
KLS/Demonstar55: The SQL saves the old aa points spent/avail/character_alt_abilities data if any server ops want to do something different than PEQ did with it.
KLS/Demonstar55: Will try to get a wiki entry written up next week some time explaining the system but it's really not hard to follow the db tables in the meantime.

== 7/1/2015 ==
Akkadius: Fix an issue where emote messages would overflow the buffer of 256 by increasing the size and changing some of the initialization
Akkadius: Added a custom Health Update message that will display in the middle of the players screen, to enable this server wide you must enable rule 'Character:MarqueeHPUpdates'
Example: https://www.youtube.com/watch?v=KUVdbPxLIn0
Akkadius: (Haynar) Fixed some runspeed issues with Perl and LUA scripts
Akkadius: (Haynar) Updated #showstats and #npcstats for new speed calcs to display speeds again in familiar float format.
Akkadius: (Haynar) Improved client movement while AI Controlled, such as feared and charmed. Movement will be much smoother from clients perspective.

== 06/12/2015 ==
Uleat: Adjusted SessionStats to better reflect a sister implementation

== 06/07/2015 ==
Uleat: Implemented optional rule for using disenchanted bags. Action triggers at the same point that temporary items are removed.
Optional SQL: utils/sql/git/optional/2015_06_07_TransformSummonedBagsRule.sql
mackal: changes to AA packets since more fields have been identified
mackal: fix exploit with expendable AAs punching holes in the aa_array and staying around longer than they are welcomed

== 05/25/2015 ==
Akkadius: Implemented disjointed zone based time, this can be triggered via quest methods
Akkadius: Added parameter to LUA and Perl method settime(hour, minute, [update_world = true])
- If update_world is false, the zone will then unsubscribe itself from regular worldserver time synchronizations
- Basically this localizes the zones time and keeps it from syncing with world updates
Akkadius: Added DB ver 9082 with update to add npc_types texture columns if table does not currently have them

== 05/22/2015 ==
Uleat: Added null-term declaration for character names in ENCODE(OP_CharInfo) - where appropriate

== 05/20/2015 ==
demonstar55: Bard instrument mods should be more consistent with live. Zoning will keep instrument mod for long duration buffs (selo's)
Still need to have procs/doom effects to inherit the instrument mods from their source buff/whatever

== 05/18/2015 ==
KLS: Changed how fishing locates water to hopefully be a bit more accurate at the expense of a bit more cpu power per line cast.
4 Replies | 4,700 Views
» Loginserver
.:: Server Listing ::.
» Stats
Members: 232,752
Threads: 38,677
Posts: 250,994
Welcome to our newest member, isaac_storm
» Current Poll
Favorite Server Type
PvP Only - 8.34%
206 Votes
Mostly PvP, Some PvE - 8.26%
204 Votes
PvE, Optional PvP - 40.61%
1,003 Vote
PvE Only - 42.79%
1,057 Vote
Total Votes: 2,470
You may not vote on this poll.
» Recent Posts
Aqua's Rogue Server
05-19-2017 09:48 AM
by Aquaojo
Last post by yualin001
Today 05:45 PM
16 Replies, 649 Views
Problem with World...
Today 12:33 PM
by bitjin
Last post by bitjin
Today 01:25 PM
2 Replies, 30 Views
Target & possibly Target...
05-15-2017 04:38 PM
Last post by monteros
Today 06:34 AM
10 Replies, 289 Views
Looking to get back into...
05-20-2017 09:11 PM
Last post by ChaosSlayerZ
Yesterday 11:37 PM
2 Replies, 98 Views
Config Issue, need some...
05-18-2017 02:40 PM
Last post by monteros
Yesterday 12:36 PM
6 Replies, 221 Views
Underfoot Client Graphic...
05-20-2017 08:33 PM
Last post by monteros
Yesterday 12:33 PM
2 Replies, 61 Views
Auto NPC Scale...
12-25-2013 12:02 AM
Last post by kugbok
05-20-2017 07:46 PM
28 Replies, 9,477 Views
Weird sql error
05-20-2017 11:35 AM
Last post by Nightrider84
05-20-2017 11:35 AM
0 Replies, 62 Views
Crashing @ Character...
05-19-2017 09:15 PM
by vespers
Last post by Scorpious2k
05-19-2017 10:40 PM
1 Replies, 112 Views
I have a problem
05-18-2017 10:02 PM
Last post by TacoBiscuit
05-18-2017 10:02 PM
0 Replies, 67 Views

All times are GMT -4. The time now is 07:06 PM.
Powered by vBadvanced CMPS v%1$s


Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
Powered by vBulletin®, Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3