Killing Lag in Everquest

burdsjm

Lifetimer
Joined
May 18, 2007
Messages
670
Reaction score
21
Points
18
I was wondering if anyone could help me outline how Macroquest can kill lag and the settings of those plugins.

1. Everquest Tweaks and Settings for Optimal Performance

Info incase they ever shutdown the server.

Code:
Tweaking Everquest for Minimal Lag and Maximum Bots
Version: 1.1 (September 30th, 2012)
This guide is primarily intended to improve EQ's resource usage to allow for less lag and maximum bot potential. Most of the tips involve changing EQ settings in game, though I have included various suggestions on overall setups and other out of game changes. Feel free to share any of the information included, but please do not share the MQ2 plugins in any way without permission.

Please reply to this post or message me in game with any questions, bug reports, or suggestions for improvements to this guide.

Please download this file pack: EZ File Pack
It contains all the files you may end up using/needing for this guide.

You should exit out of all Everquest clients and close WinEQ2, MQ2, eqbc, etc., for the first half of this guide. When it's time to start in game editing their will be a note in the guide on starting everything up.


Choosing A Client
If you are not playing Everquest with an Underfoot, SoD, SoF, or more recent client, upgrading to one of these clients is an incredible performance gain you need to consider. 

The tweaks and settings in this guide are based and/or dependent on using one of the latest clients. Oftentimes there is a direct download available for a nice build of Underfoot through Hateborne's server. (Links on EZForums) There is a torrent in the file pack for another stable House of Thule client as well. To open and run torrent files, you need a program like uTorrent. A setup file is included in the file pack for uTorrent, or you can download the latest version direct http://www.utorrent.com/. 


Duplicate Everquest Folder / Hard Drive Usage
It is common to create a copy of your Everquest folder and apply the changes in this guide to one copy only. This allows you to play with nice graphics on the screen you'll be watching the most, while gutting the quality of the rest to maximize performance and/or quantity of bots.

When I refer to your Everquest directory in this post, I am referring to the gutted copy you are optimizing.

[If you play on 1 or more typical hard drive disks HDD]
If you have multiple hard drives on your computer, you can take advantage of all drives by copying a gutted Everquest directory to each hard drive. Then run an equal number of clients from each directory. (I recommend tweaking one EQ directory completely first, and then copying it at the end to any other drives)

[If you play on an SSD]
nice!



WinEQ2
If you aren't using some sort of boxing software I highly suggest you do! Most will help your resource usage automatically and can also help simplify how you play and load the game with many bots.

I use WinEQ2 mostly because it is free and has all the features I need for my setup. If you decide to use WinEQ2, you will need to register an account at the Lavish website. You can download the installation file at that website, or use the copy provided in the file pack. 

After you've installed the program - it is important that you open the preferences and switch the EQPlayNice feature settings /off/. 

Although this was once a nice feature, the latest Everquest clients in use prefer to handle the EQPlayNice tasks themselves. If you don't disable EQPlayNice the resulting conflict will waste resources. 

My method for botting multiple chars is based on using multiple WinEQ2 profiles. I suggest setting one up individually for each character. This makes it much simpler to manage which accounts will load from which Everquest directory.

You can also create shortcuts for each character, which you can use to quickly load any character without hassle.


Editing Global Load File
(Reduces memory usage by loading less files into memory automatically)

Removing entries from the GlobalLoad file causes Everquest to load less objects into memory for all zones / certain custom zones. I've included the edited version of the file I use in the file pack. *This change will keep various models from being shown in custom zones, remove epic weapons from graphically displaying, and other various graphical tweaks. Please be sure and save a copy of your old files in case anything goes wrong.*

In your Everquest directory there is a folder named Resources. Navigate there and open the file GlobalLoad.txt

Erase all the contents (in the /file/ GlobalLoad.txt) and replace with the following line:
3,1,TFFF,Global_chr,Loading Characters


NOTE: If you do not also edit certain zone files this change to GlobalLoad could cause those zones to fail to load. If you have all the correct server files and a specific zone/s is crashing, make sure that zones _chr.txt is edited as described in the next step. If you are still having crashes (after restarting the client of course), please let me know.


Editing EZ Custom Files
Open up each of the custom files downloaded from the EZ website and erase the contents (after backing up, of course). Replace with the following two lines:
1
dke,dke



You should be able to edit any zone file this way safely.

Other File Changes
In your Everquest folder there is a folder called Logs with the file 'dbg.txt' inside. Right click dbg.txt and click properties. There is a check box option called Read-only, I recommend checking this. This file is a debug file the Everquest client writes to in various situations, the effect of manymany clients writing to it can hinder performance. This is a stable modification, and can be reverted using the same process at any time.

This next change supposedly prevents Everquest from loading any sound files into memory, which Everquest normally will even when they're turned off. *Verified! Works awesome* :)W hat you need to do is open notepad and create a new file. Leave the document completely blank and save the file as NOSOUND.TXT - and place it in your Everquest directory.


OptionsEditor.exe
In your Everquest directory there is a file called OptionsEditor.exe which you should run now. This allows you to configure some basic client options before the game runs: sacrifice everything nice for memory savings.

Make sure none of the character models are selected and click next. Uncheck the sound, social animations, mip mapping, and dynamic lighting options. 

Check the texture caching and texture compression options. 

Switch the texture quality selection to low. Click finish.


eqclient.ini
Open the file eqclient.ini in your Everquest directory with notepad. You need to search for (ctrl+f) the following entries and add or edit any discrepancies. (Many of these will already be present in the file, added later, or more readily edited through in game commands. But let's make sure.)

*** : Only edit and save these changes when you have NO Everquest clients loaded from that Everquest installation. I'd also exit out of WinEQ2 and MQ2 as well to be safe. Everquest saves new settings to eqclient.ini every time you camp out, so be careful not to waste your time here.

ServerFilter=1
(Search for ServerFilter. If not found, write the entry 'ServerFilter=1' on a new line in the [Defaults] list of settings. If it is found but does not = 1, simply change it to match the entry. All entries listed below belong in the [Default] list.

ServerFilter=1
MultiPassLighting=FALSE
ShowGrass=FALSE
AllLuclinPcModelsOff=TRUE
LoadVeliousArmorsWithLuclin=FALSE
Sound=FALSE
Music=0
EnvSounds=0
CombatMusic=FALSE
WaterSwap=0


Stick Figures!
Feature only available for users with UF or SoF client. No SoD, sorry!

Placing this line into your eqclient.ini:
StickFigures=1
will stop character models from loading and replace them with the stick figures you see in the image. As you can see, you may have a tough time actively playing the characters for which this is enabled. However, it certainly does lower memory usage and increase performance!



Misc. (Windows) Tweaks
Now this first one isn't for everybody, and if you're at all uncomfortable with the idea of adding exclusions to your anti-virus software: don't do it. But something that can help many systems save a ton of clock cycles is adding exceptions for Everquest/MQ2/WinEQ2/EQBCS.exe into any anti-virus "on-access" "resident-shield" "etc" programs running. My real-time protection features have the following programs/folders excluded:

MQ2 (Macroquest2.exe, Macroquest.ini, eqbcs.exe)
Entire Everquest directory
WinEQ2 (WinEQ2.exe)


Let's Talk About Windows Compatibility and Administration Rights
Depending on where your Everquest directories are located on your hard drive, you may need to run EQ and other programs 'as an administrator' and/or in a compatibility mode. These settings are finnicky and vary by operating system and who knows what else. The following is what I've found to work best, but may not work for you.

If the Everquest clients are in a directory protected by Microsoft software, these changes most likely need to be applied. If they are not, there are still a number of non critical bugs I've seen these changes patch up. (For example, Everquest icons constantly rearranging in the taskbar.) This is less a performance tweak and more a stability tweak. Anyway, if you are running Windows 7 or Windows 8 these are stable, easy changes to make.

First: Either/and the shortcut used to start Everquest clients or eqgame.exe directly
Right click the shortcut or .exe file and click properties, go to the Compatibility tab. Check the box 'Run As Administrator' and also check 'Run in computability mode' and set to 'Windows XP Service Pack 3'. 

Second: Either/and the shortcut used to start WinEQ2 or WinEQ2.exe directly
(Same: Admin, XP Comp SP 3)

Note: Do not run MQ2 or EQBCS in compatibility mode.


ReadyBoost! 
(For Windows Vista+) Is a great feature of Windows that allows you to use a flash drive to speed up your computer. While not as quick or efficient as actual RAM, ReadyBoost can still deliver considerable performance gains for /all/ users. (Excluding Steady State Drive (SSD) users)

Plug in your flash drive and open its properties by right clicking it in My Computer. Go to the Readyboost tab and configure it how you see fit. I'd recommend removing anything you have saved on the drive and devoting the flash drive completely to ReadyBoost.

In Windows 7 you can now use multiple USB drives simultaneously, up to 8 devices and 128 GB. I've personally tested various configurations up to 6 devices (72 GB) and was most happy using 3 (2x8GB,1x16GB). Always use your fastest USB drives. Smiley


Page File
The page file is 'virtual' memory used by Windows to help maintain stability and performance for your computer, especially during high memory usage scenarios. If the size of your page file is too small to match the demand for all your clients, the common result is crash errors. If you repeatedly crash every time you try to load just that Xth client, then increasing the size of the page file is a good diagnostic.

Players with multiple (internal) hard drives can also see a large boost in performance by enabling multiple page files. Each additional hard drive you store a page file on will make a significant increase in the speed of this 'virtual memory'.  If you have a *Steady State Drive (SSD), you have no need for multiple-drive page file configuration.*

Here is a Window's guide on changing the size and configuration of your page file. The total size you should set up your page file to be depends on a number of things, but here is a rough guideline based on an 8GB of RAM system:
1-6 clients: (2x your system RAM or 8GB)
7-12 clients: (12-16 GB)
13-18 clients: (16+ GB. Sound crazy? It is. So is loading this many copies of the same game, no matter how old. Smiley)

Users with 16GB of RAM or more can safely configure their page file to be (16 GB, or 1x system RAM)

The important thing here is to ensure you aren't being limited by your page file's size, although in some situations the performance increase can be quite noticeable.


MQ2
If for no other reason you should use MQ2 for the performance gains it gives you. The following plugins are compiled with an Underfoot and SoD, make sure you use the correct version.

Now's the time to load up Everquest! I suggest loading only 1 client from each Everquest installation. This way, the changes you make can be saved (camp desktop when you're done), and will afterwards be applied to all clients. Remember to always start MQ2 first and then WinEQ2.

To start, open your MQ2 release directory (wherever Macroquest2.exe resides). You'll want to add the plugin files included in the files pack if you do not already have them. Look for MQ2Fps.dll and MQ2MFilter.dll. Most likely you'll already have MQ2FPS but will need to add MFilter and Test dll's.

After you're loaded up: First type /plugin list and you should see a list of plugins MQ2 is currently running. Look for MQ2FPS. If not listed, try typing /plugin mq2fps and check again to see if it loaded. If not, you'll need to download MQ2FPS.dll attached to this post and place it in your MQ2 release directory. Once this is done you should be able to /plugin MQ2FPS again and see that it is loaded. Do this for all the plugins you intend to use.

These plugins need to be ran on every client -- this is why you should only have one client open at the moment. After camping and restarting every client should automatically load the plugins with the proper settings. For you stubborn folks with multiple clients, issue these commands through /bcaa. (Ex: /bcaa //render fg 1)

MQ2FPS
Enter the following commands:
/fps mode calculate
/render fg 1
/render bg 150
/maxfps fg 30
/maxfps bg 15

MQ2Test
This next plugin I use is custom-made and not guaranteed to work perfectly. Smiley There is a command in game (/viewport) that changes the way Everquest draws to the screen. If you type /viewport 1 1 1 1 it tells Everquest to, essentially, not draw your screen at all. (/viewport reset will switch your screen back) What my plugin does is issue the /viewport 1 1 1 1 command to the Everquest client if it's /not/ in the foreground, and switches it back to normal if it is. So when you run this plugin all background characters will have their screen blacked out, while the screen you are looking at will always be displaying normally. Please report any oddities with this plugin and always remember, /viewport reset Smiley

MQ2MFilter (v1.1 edit: Not a necessary plugin)
You can avoid using this plugin if you follow the excellent guide for /filter posted by Paldail: 
http://ezserveronline.com/forums/index.php?topic=2973.0

For users who wish to apply filters in custom configurations however (various chars, installs, etc), you may still wish to use MQ2MFilter. Instructions for MQ2MFilter



In-game Options
If you've made it this far, hooray! After loading up your Everquest client, open up the in-game options menu (alt+o by default) and apply the following settings:

General Tab
Sound realism, music volume, sound volume = 0
Environment sounds and combat music not selected

Display Tab

Show 3d Target Ring  not selected
Level of detail selected
Show My Helm not selected
Load Screen: loading art
Sky Type: off
Gamma: Lower settings should save memory, set to a playable value.
Far Clip Plane: 0%
Particles: For all 3 tabs switch density to off and Opacity to 0%
LoD Bias: Very low

Advanced Display Options Menu

Use new water in old zones: not checked
Dynamic Sky Reflection Size: Tiny (32)
Sky Reflection Update Interval: Once per minute
Terrain Texture Quality: Minimum
Memory Mode: Least memory usage
Allow hw Vertex Shaders: checked
Allow 1.1/1.4/2.0 Pixel Shaders: checked
Use Advanced Lighting, Shadows, Radial Flora: not checked
Stream Item Textures: not checked
Disables Tattoos: checked
Shadow Clip Plane: lowest possible
Actor Clip Plane: lowest playable setting, I keep mine at about 20%
Max Frames Per Second: 30
Max Background FPS: lowest possible, should read Min. CPU

Filters Tab

Everything below out of character set to hide

Voice Tab
Disable Voice Chat selected


Congrats! All done! Make sure you /camp desktop and let Everquest close completely on it's own. Close MQ2 and WinEQ2 manually as well. Also wouldn't hurt to restart your computer at this time. Once you're ready to go again, I recommend loading just one client at first. Go through your options and /plugin list and quickly double check everything saved properly and started up again. If not, now is the time to redo the changes properly and /camp desktop, restart again.

You should now be completely optimized for maximum botting and minimum lag. Enjoy! Smiley


2. MQ2Viewport
/viewport reset if screen is black.

3.MQ2FPS
 
Last edited:
also mq2cpuload can help too on older systems, older dual core and quad cores work good too.
 
Mq2clip seems to help.

mq2cpu good find. Excellent for boxing.