Post by synwulfe on Aug 5, 2022 10:55:52 GMT -5
I've been seeing a lot of complaints about crashes so I thought I'd post this. I've been on Imperium for a couple months now and their was a point where I was about to quit due to the volume of client crashes I was experiencing. Some days, my client would crash hourly and I had a lot of difficulty trying to accomplish anything in the game. So I got to work and fixed it... If you have a computer running an operating system newer than April of 2019, which most do, your computer is not designed to run Everquest. Everquest was designed at a time when multi-core processors didn't exist. Everquest was designed when DirectX6 was state-of-the-art in graphic rendering. Most people experiencing Everquest for the first time were using Windows 95.
The bottom line... Your software must support the hardware and vice-versa. Don't believe it? Try loading Windows 95 on your computer today. It wont work... Windows 95 doesn't know what an SSD is, it doesn't know what a multi-core processor is, it doesn't understand what the 3200MHz data rate on your system memory is for or have the processing power to maximize that speed. Everquest ran on modern computers is doing the same thing... EQ runs into issues it doesn't understand, so it crashes. So why can you run EQ Live and not have the same issues? Because the live servers are managing your resources for you through embedded support that Emu's doesn't have.
The good news is that we can teach EQ to play nice with modern hardware and operating systems. This will not eliminate all crashes, but roughly 90-95 percent of them. We are, after all, playing an emulated game and therefor, it will never be as good as the real thing based solely on its own nature.
Step 1... You must have DirectX9c installed. While newer Windows systems state they are backwards compatible, they aren't truly. While Direct10+ will run previous versions of DirectX, they do so at the most basic level. DirectX9c can be found in the redist folder of your Imperium EQ folder. It will not uninstall any newer version of DirectX you might have on your system, only add full DirectX9c support to your current version. This is the most basic required step in getting EQ to run on any computer, emulated or live.
Step 2... Install the .dll files from dgVoodoo. Copy all .dll files from both the x64 and x86 folders into the folder where eqgame.exe is found. dgVoodoo is designed to assist newer systems in emulating and managing the resources of older API's (graphic rendering), specifically to assist the API's in Windows 7, DirectX 1-9 and 3D Glide. This is where most crashes occur, EQ Live manages your DirectDraw resources where Emu's do not. Emu's crash because DirectDraw resources aren't available to it.
Step 3... Match the resolution of your monitor with the resolution of your EQ window. If playing at 1920x1080, set your monitor(s) to 1920x1080. This helps minimize the amount of work DirectDraw has to do to match the program with your display settings.
Step 4... Ensure that your Imperium EQ folder is at the root level. C:\Imperium EQ This can ensure that the system can access the folder without needing special permissions or resources but may not be a necessary step, it depends of how you have your system and permissions set up.
Step 5... Right click eqgame and select properties. Select the tab "Compatibility", check the box "Run this program as an administrator", check the box "Run this program in compatibility mode for:" and select Windows XP (Service Pack 2). Remember, we are trying to add DirectX9c support to your computer and Windows XP was the last OS to truly support DirectX9.
Step 6... Run the 4gb_patch.exe file located in the root Imperium EQ folder and point it to the eqgame.exe file when it asks what file to patch. Do this for each folder of Imperium EQ you set up on your computer as it's advised that each account you use on any EQEmu is done so within their own folders. Eqgame.exe was designed when 1GB was considered top end and the possibility of it exceeding 2GB was non-existent. As EQ evolved, eqgame.exe had its buffer increased but we're not on EQ, we're on an Emu. While not totally necessary, as the RoF2 client floats around 1.4GB and I can't recall ever seeing it at 1.7GB, memory leaks happen, even in the best of programs. Also, for each client that the Emu advances to, the more memory the client will use.
Step 7... Adding multi-core support for EQ. Press control-alt-delete at the same time, then click "Task Manager". Select the tab "Details" and locate each instance of eqgame.exe you are running. Right click eqgame.exe and select "Set Affinity". Select "<All Processors>". You may know that a lot of folks will say to set this in the .ini file. Won't work on newer systems. Windows does not want unknown software having the ability to assign CPU cores.
Step 8... In game, press Alt-O to open the options window. Click the "Display" tab. Click the "Advanced" button. Slide the sliders "Max. Frames Per Second" and "Max Background FPS" sliders all the way to the right, to unlimited. Failing to do this on a boxed alt will cause FPS rendering skips, making /autofollow impossible.
I went from nearly a crash every 1-2 hours to one a week.
The bottom line... Your software must support the hardware and vice-versa. Don't believe it? Try loading Windows 95 on your computer today. It wont work... Windows 95 doesn't know what an SSD is, it doesn't know what a multi-core processor is, it doesn't understand what the 3200MHz data rate on your system memory is for or have the processing power to maximize that speed. Everquest ran on modern computers is doing the same thing... EQ runs into issues it doesn't understand, so it crashes. So why can you run EQ Live and not have the same issues? Because the live servers are managing your resources for you through embedded support that Emu's doesn't have.
The good news is that we can teach EQ to play nice with modern hardware and operating systems. This will not eliminate all crashes, but roughly 90-95 percent of them. We are, after all, playing an emulated game and therefor, it will never be as good as the real thing based solely on its own nature.
Step 1... You must have DirectX9c installed. While newer Windows systems state they are backwards compatible, they aren't truly. While Direct10+ will run previous versions of DirectX, they do so at the most basic level. DirectX9c can be found in the redist folder of your Imperium EQ folder. It will not uninstall any newer version of DirectX you might have on your system, only add full DirectX9c support to your current version. This is the most basic required step in getting EQ to run on any computer, emulated or live.
Step 2... Install the .dll files from dgVoodoo. Copy all .dll files from both the x64 and x86 folders into the folder where eqgame.exe is found. dgVoodoo is designed to assist newer systems in emulating and managing the resources of older API's (graphic rendering), specifically to assist the API's in Windows 7, DirectX 1-9 and 3D Glide. This is where most crashes occur, EQ Live manages your DirectDraw resources where Emu's do not. Emu's crash because DirectDraw resources aren't available to it.
Step 3... Match the resolution of your monitor with the resolution of your EQ window. If playing at 1920x1080, set your monitor(s) to 1920x1080. This helps minimize the amount of work DirectDraw has to do to match the program with your display settings.
Step 4... Ensure that your Imperium EQ folder is at the root level. C:\Imperium EQ This can ensure that the system can access the folder without needing special permissions or resources but may not be a necessary step, it depends of how you have your system and permissions set up.
Step 5... Right click eqgame and select properties. Select the tab "Compatibility", check the box "Run this program as an administrator", check the box "Run this program in compatibility mode for:" and select Windows XP (Service Pack 2). Remember, we are trying to add DirectX9c support to your computer and Windows XP was the last OS to truly support DirectX9.
Step 6... Run the 4gb_patch.exe file located in the root Imperium EQ folder and point it to the eqgame.exe file when it asks what file to patch. Do this for each folder of Imperium EQ you set up on your computer as it's advised that each account you use on any EQEmu is done so within their own folders. Eqgame.exe was designed when 1GB was considered top end and the possibility of it exceeding 2GB was non-existent. As EQ evolved, eqgame.exe had its buffer increased but we're not on EQ, we're on an Emu. While not totally necessary, as the RoF2 client floats around 1.4GB and I can't recall ever seeing it at 1.7GB, memory leaks happen, even in the best of programs. Also, for each client that the Emu advances to, the more memory the client will use.
Step 7... Adding multi-core support for EQ. Press control-alt-delete at the same time, then click "Task Manager". Select the tab "Details" and locate each instance of eqgame.exe you are running. Right click eqgame.exe and select "Set Affinity". Select "<All Processors>". You may know that a lot of folks will say to set this in the .ini file. Won't work on newer systems. Windows does not want unknown software having the ability to assign CPU cores.
Step 8... In game, press Alt-O to open the options window. Click the "Display" tab. Click the "Advanced" button. Slide the sliders "Max. Frames Per Second" and "Max Background FPS" sliders all the way to the right, to unlimited. Failing to do this on a boxed alt will cause FPS rendering skips, making /autofollow impossible.
I went from nearly a crash every 1-2 hours to one a week.