Most users ever online was 1,802, 02-01-2020 at 01:51 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.
Since 2003 (17 years!), we've used the legendary changelog.txt in our source repository to record our server code changes. This has worked great but today we are going to be using GitBook for all of our server changes from here on out!
This will allow us to be able to create expressive changelog notes, with visuals, rich code examples which should be far easier to navigate and consume
Most of our updates have been in Discord in recent time but we will be making a better effort to at least reciprocate to the forums for the time being
+ Preferred
General unofficial criteria for being preferred is having 20-30+ players on daily, good standing in the community, up for 3-6+ months stable
EQ Classless
Project Lazaurus
- Preferred
We are considering removing dead preferred servers from the list. This is a harder one because these servers got to preferred for a reason and don't deserve to be unfounded on the standard server list, but would be better to have on some sort of standard list. If the community has input on what we should do on these servers please voice your opinions in thread *constructively*
Heading was wrong. So I fixed it. Sadly this means quests and DB have to be fixed.
The required SQL included (2018_02_13_Heading.sql) will fix spawn2 and gird heading entries.
Quests can be fixed with running eqemu_server.pl. Some headings that the script finds fishy will be remarked with "needs_heading_validation" and will require manual intervention.
If you wish to manually fix headings in your quests you will have to look at calls to quest::spawn2, eq.spawn2, eq.unique_spawn, quest::unique_spawn, GMMove, MovePCInstance, MovePC, and moveto. Doubling the current heading values will result in new correct headings. Anything that references a heading from say another mob don't need to be modified.
If you go on to official servers and use MQ2 to get headings you can do /echo ${Math.Calc[${Target.Heading.Degrees}*512/360]} to convert it to correct "EQ degrees"
I added a special case for priority 0 spells. This new special case basically emulates what we believe EQ devs call "innate spells."
NPCs with innate spells will try to spam these on their reuse timers. Ex. Lord Naggy's AE fear is always cast on recast timer. You should be able to count on it.
Most of normal EQ mobs function like this and eliminates the need to use quest scripting.
I also added support to define a valid HP range an NPC will cast a spell. The min_hp field is the low end of the range and max_hp field is the high end. For example, lots of mastruqs in GoD will cast Protection of Discord at low HP, setting max_hp will allow the NPC to not cast this until they reach this percentage. This range is also purely based on the caster's HP ratio.
Thanks to the work of Shin Noir (Xackery) from RebuildEQ, we've converted our server config loader from XML to JSON.
This is now live, whenever new binaries are used, world.exe will automatically pull down a config converter before attempting to load the config. This looks something like this:
World will use the new eqemu_config.json effective immediately. All other utilities that were built around loading config variables from XML will have to be adjusted or updated to use the JSON format.
A backup of the old XML config will be located in serverdir/backups/
The Perl MySQL plugin has been updated already: see here
Linux Installer now uses the new .json format
Windows Installer now uses the new .json format
DiscordEQ OOC chat relay built by Shin should have a new release ready for this change: see here
If you find any tools or utilities tied to the old XML format that needs to be changed or adjusted, let us know in this thread and we will make sure that things get adjusted appropriately.
This blog update is to make everyone aware of the major changes that have happened over the past year.
We've made massive progress on so many fronts this last year, many milestones that would otherwise be hard to know about unless you've been paying very close attention to commits and changelog messages, so here we go!
Netcode Rewrite (KLS)
With the recent MASSIVE netcode overhaul work of KLS and assist of the implementation of myself, we've been able to break through so many stability/scaling issues of the past. EZ for example has been able to sustain 300-400 players in a combat zone without any issue
The emulator application level netcode usage was put under a microscope and we found excessive packet send issues, identified and implemented countermeasures to insure a smooth gameplay experience
[mackal] Food and Water consumption algorithms have been fixed to match close to live
[mackal] Emulator Combat engine has been massively overhauled to match Live like formulas to be 98% accurate with Live changelog
[mackal] Extended target functionality
Server Installers
[Akkadius/N0ctrnl] Linux and Windows installers were introduced in late 2016 to streamline the EQEmu Server installation processes
Linux Installs to date: 959
Windows Installs to date: 3,489
Mob Z Axis Breakthrough
[Akkadius/Noudess/KLS] - Mob Z axis correction has had a major breakthrough in 2017 - we cracked race/size offsets for models - this helps bigly with
Corpses going underground
NPC's hopping during a pull
Pet's hopping during combat
NPC's hopping while pathing
NPC's going half into the ground while pathing
NPC's falling through the ground in general
While these problems can still happen depending on the zone and situation, the chances of them occurring have been vastly decreased
Server Side Performance Enhancements (Akkadius)
I've personally taken this issue down to the core, because we're at a mature point in our project where we can focus on shaving the fat off of some of our quickly implemented code that has created many performance issues.
We've been able to continually measure PEQ and EZ zone processes running hot with players in them, profile the code stack and find problematic code paths and measure over time. We've come a long way.
It allows servers to run better, faster, with less cpu cycle consumption to create the best gaming experience possible!
PEQ with 840 players online (chart by netdata) at a steady low cpu util
Improved constant NPC AI Check close casting code for beneficial spells
So many other changes
Please let me know if I missed something worth mentioning here, the idea is to highlight what we have been doing as a whole - cause not everyone is up to speed all the time....
To keep from making this post too long - there's tons in the Github commits and EQEmu changelog that may not be seen here, and many people are contributing to bug fixes and slight feature changes to the project everyday!
Thanks to everyone who brings this project together
Documentation
We have a lot of work to do in this department and is one of my highest priorities, details posted here
Navmesh
KLS has spent a lot of time working on a Navmesh system for our code and it has come a long way, from everything to a navmesh tile generator to in game logic to follow those tiles
Navmesh is basically waypoint pathfinding, using a shortest path algorithm to determine what tiles/path to use between it and its target
The Navmesh tool KLS built generates 95% of the tiles automatically, you may need to create manual connections in zones where necessary
You can see an example of this below
EQEmu Server Config Format
Thanks to Shin Noir - the server standard config will soon be .json as soon as I can merge it into master and have time to resolve any issues
Future Loginserver release will also use .json
Another thought is to also define paths to resources so the main server folder can become decluttered of resources/files
Expedition System and Shared Tasks
The groundwork for this system has been started again - but progress has been halted for now, but this is an immediate future priority
Our brother project PEQ has made some considerable strides as well
If you have troubles connecting to your server - it's possible you need to adjust your SQL user for connection via the new IP
Code:
CREATE USER 'eoc_database_user'@'142.44.176.142' IDENTIFIED BY 'eoc_database_password';
GRANT GRANT OPTION ON *.* TO 'eoc_database_user'@'142.44.176.142';
GRANT ALL ON *.* TO 'eoc_database_user'@'142.44.176.142';
You may need to clear your cookies and re-enter your database information
All times are GMT -4. The time now is 07:31 AM.
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.