EQ TLP - Vaniki (Level-Locked Progression)

  • Guest, it's time once again for the massively important and exciting FoH Asshat Tournament!



    Go here and give us your nominations!
    Who's been the biggest Asshat in the last year? Give us your worst ones!

Rajaah

Honorable Member
<Gold Donor>
12,660
16,757
No, i don't see why the two would be connected.

Because before, the global file of the game was basically full. As I understood it, this is why changes to one server had to be across all servers. I remember there being several changes TLPers wanted that "couldn't be done" because doing so would have to also place the same changes across all servers, and non-TLP servers would have been negatively affected. So what I'm wondering is: Now with vastly more space in the global files, they can make individual servers have their own "laws of physics" separate from the laws of physics on all the others, specifically because of the change?

S Secrets would know if I'm interpreting any of this correctly or not.
 

DickTrickle

Definitely NOT Furor Planedefiler
13,504
15,745
The changes required for vaniki were almost certainly at the database or code level, with the exception of the rewards that would have to be in the global resources.
 

Rajaah

Honorable Member
<Gold Donor>
12,660
16,757
The changes required for vaniki were almost certainly at the database or code level, with the exception of the rewards that would have to be in the global resources.

I took one semester of code in High School (this was in like 1999, I wanted to learn how to make games like FF7 and EQ).

Not gonna lie, I frequently wish I would have taken that career path. Coding is like a super long math problem that needs to be solved and re-solved and it would have been a perfect vocation for how my brain works.
 

Ambiturner

Ssraeszha Raider
16,067
19,615
Because before, the global file of the game was basically full. As I understood it, this is why changes to one server had to be across all servers. I remember there being several changes TLPers wanted that "couldn't be done" because doing so would have to also place the same changes across all servers, and non-TLP servers would have been negatively affected. So what I'm wondering is: Now with vastly more space in the global files, they can make individual servers have their own "laws of physics" separate from the laws of physics on all the others, specifically because of the change?

S Secrets would know if I'm interpreting any of this correctly or not.

They've said a lot of things couldn't be done that were later done
 
  • 1Solidarity
Reactions: 1 user

Tuco

I got Tuco'd!
<Gold Donor>
47,800
82,218
Because before, the global file of the game was basically full. As I understood it, this is why changes to one server had to be across all servers. I remember there being several changes TLPers wanted that "couldn't be done" because doing so would have to also place the same changes across all servers, and non-TLP servers would have been negatively affected. So what I'm wondering is: Now with vastly more space in the global files, they can make individual servers have their own "laws of physics" separate from the laws of physics on all the others, specifically because of the change?

S Secrets would know if I'm interpreting any of this correctly or not.
No offense to any current devs at DPG but I have zero trust in anything they say about why they do what they do. Maybe the house of cards we call Everquest did indeed have a 32bit limitation that precluded rulesets like Vaniki to be formed, but there's no real computer computer science justification for it. Their entire codebase probably looks like this

bwg5l8hsafr71.jpg
 

your_mum

Trakanon Raider
294
165
Because before, the global file of the game was basically full. As I understood it, this is why changes to one server had to be across all servers. I remember there being several changes TLPers wanted that "couldn't be done" because doing so would have to also place the same changes across all servers, and non-TLP servers would have been negatively affected. So what I'm wondering is: Now with vastly more space in the global files, they can make individual servers have their own "laws of physics" separate from the laws of physics on all the others, specifically because of the change?

S Secrets would know if I'm interpreting any of this correctly or not.

From my understanding (reading Secret's take on it) the 64bit change really only improved graphical issues. 64bit just allowed EQ to use more of your computer's memory. But we're not talking about memory for representing NPCs, spells, AI, etc - we're talking shit that draws graphics. Anything about a global resource file being at a limit doesn't really make much sense, because a file is not generally read entirely in memory (if it's large). So I don't see how a file can be full (and if it was that's an OS limitation, not an applications limitation).

It's most certain that they customize as much as they can at the database level, where differences in values are expected across servers. Stuff that has to exist in code that is specific to TLP (can't think of anything atm except something like /pickzone functionality) probably all exists in the same code base that all servers run. They probably have a lot of "If Server.Type == TLP" and other dumb shit that the above picture is representing pretty accurately. Maybe they maintain a separate code base on the server for TLP servers, but doubtful. The client is obviously 1 code base though.

Stuff that they may have mentioned not possible in the past because it would affect all servers was probably true at the time, when they didn't have abilities to denote a server type - or whatever mechanism they now use (aka design limitations, not physical memory limitations).
 

DickTrickle

Definitely NOT Furor Planedefiler
13,504
15,745
Much like your picture, they basically have a hybrid model where many old systems were kept in place and they put better ones on top without refactoring the old stuff.

I can't find the original post where more detail was given, but this post by Ngreth alludes to the problem.


And, that refreshed my memory some as I think the Vaniki rewards would all be newer models, so wouldn't bloat the global load. But it could still increase zone loads when a player with them enters and that memory load (22 years of various junk) was apparently the main source of crashes before 64 bit.

I'm guessing they felt it was easier to go to 64-bit versus redesigning all those systems to more intelligently use memory.
 
Last edited:

Daidraco

Avatar of War Slayer
10,319
10,733
So wait, am I just gullible as fuck to believe that the change was centered around things as simple as Dragons being stuck with only 32k hp?

Wait, dont answer that.
 

DickTrickle

Definitely NOT Furor Planedefiler
13,504
15,745
So wait, am I just gullible as fuck to believe that the change was centered around things as simple as Dragons being stuck with only 32k hp?

Wait, dont answer that.
Well, they handled that in Velious, so...
 
  • 1Worf
Reactions: 1 user

Rajaah

Honorable Member
<Gold Donor>
12,660
16,757
I've wondered a few times what EQ would be like if they had never been able to raise boss HP above 32k. If they were planning for the future they could have started low, like maybe Naggy has 5k instead, and go up from there. If they were just going from our timeline only without the raise, I'm thinking bosses would have just gotten lateral power increases like tons of AC. Maybe they just do astronomically high damage so fights are over super fast one way or the other? I don't know, but I found it interesting to think about.
 

Pharone

Trakanon Raider
1,258
1,116
I've wondered a few times what EQ would be like if they had never been able to raise boss HP above 32k. If they were planning for the future they could have started low, like maybe Naggy has 5k instead, and go up from there. If they were just going from our timeline only without the raise, I'm thinking bosses would have just gotten lateral power increases like tons of AC. Maybe they just do astronomically high damage so fights are over super fast one way or the other? I don't know, but I found it interesting to think about.
All they really had to do (assuming they can't use a Long or non-signed Integer) was use multiple signed integer variables to account for the HP pool of the raid boss. Each integer would account for a part of the over all HP pool. Take out all of them, and the mob is dead.
 

Zog

Blackwing Lair Raider
1,810
2,338
I've wondered a few times what EQ would be like if they had never been able to raise boss HP above 32k. If they were planning for the future they could have started low, like maybe Naggy has 5k instead, and go up from there. If they were just going from our timeline only without the raise, I'm thinking bosses would have just gotten lateral power increases like tons of AC. Maybe they just do astronomically high damage so fights are over super fast one way or the other? I don't know, but I found it interesting to think about.

I'm sure the company would have more scripted events with "boss fights" being more of an event rather than just a single boss. Like how annoying rathe council was.

Waves of mobs requiring complex CC, offtanking and kiting.

Rallos zek would have had you fighting him while getting absolutely swarmed with giant adds, kind of like the rztw fight in fortress of zek.

Which i almost want to say would be preferred over the millions of hp with sky high ac of luclin fights but knowing EQ the scripts would have broken every patch and been an absolute fucking catastrophe.
 

Secrets

ResetEra Staff Member
1,900
1,914
Because before, the global file of the game was basically full. As I understood it, this is why changes to one server had to be across all servers. I remember there being several changes TLPers wanted that "couldn't be done" because doing so would have to also place the same changes across all servers, and non-TLP servers would have been negatively affected. So what I'm wondering is: Now with vastly more space in the global files, they can make individual servers have their own "laws of physics" separate from the laws of physics on all the others, specifically because of the change?

S Secrets would know if I'm interpreting any of this correctly or not.

Nothing would change if it was 64-bit for Vaniki. The crashes are independent of servers. 64-bit simply resolve an out of memory crash (that could potentially occur on any server or game client connected to any server, not just Vaniki), and increase client and server performance by about 5-17%. It depends on your hardware and their setup.

The part you posted about a 'global file' is nonsense - you probably picked up on the 'GlobalLoad.txt' file, which is just the list of models the client pre-loads upon entering world, so that other zones do not have to cache that model - they're persistent in memory. There's also an 'OnDemandResources.txt' which streams models and races across zones on the server's request - for example, it isn't always needed to have, say, a very specific cash shop item in memory at all times. This allows you to load them once for a specific zone, and then unload them.

In a 32-bit address space, due to a limitation with DX9 memory management, it's possible to exhaust texture memory after a while, when:
a) zoning too many times and too frequently
or
b) loading and unloading too many dynamically loaded resources

In EQ1's case, the newer zones are more graphically intense and they swap out models and textures more frequently, exhausting the amount of availble 'freed' memory in sequential order. For example, if 20 textures that are 256x256 are allocated at the same memory space, and only 12 are freed, and Windows decides to allocate two 32x32 textures within that freed memory, that means there's significant memory fragmentation and that area cannot be reused for the 256x256 textures again, so if they're reallocated, you're left with a gap between memory marked as freed or 0'd.

It would be rare to see a memory limit reached in say, North Qeynos on a TLP server - as most people do not have cash shop cosmetics enabled, and most are looking for nostalgia and do not run Luclin models so thus Hero's Forge models are not present, either.

It's theoretically possible if too many players have the same weapon cosmetics, or if you preview too many items in the cash shop, and then continuously do this across multiple zones for a 12 hour gaming session that you may end up exhausting the game's physical memory ceiling of 4GB - there will eventually be too little 'gaps' in free memory that textures could be allocated to, and thus the game would crash.

It would have no impact if Vaniki was run on 32-bit or not for most day to day users, as the server would run the same as the other decades of TLP servers without much issue. And even if you did hit an out of memory crash, you simply log back in after that extended play session and the game's likely fine for another few hours.

Vaniki is also less populated than other TLPs, so it's likely it would have not been noticeable anyways. Even if it managed to attract the attention of one of the higher pop severs, it still would not have been an issue as those other servers generally ran fine.

I personally have experienced this same issue on Unreal 3 both as a player and a developer - for instance, APB: Reloaded currently has an out of memory crash that was identical to how EQ1/EQ2 were seeing due to their client being 32-bit.

APB: Reloaded's development team is now moving to 64-bit instead of their 'engine upgrade' as it will be more impactful. I imagine after determining that is a lot of where their performance issues lie within, they made the decision - it will be interesting to see if that reduces stutters considerably in that game as it did in EQ1. Their 'Unreal 3.5' upgrade was struggling with the DX11 renderer as that code was half-baked, really - it wasn't ever really production ready. So I'm glad to see them move this direction instead of that. Players need a stable gameplay experience first before adding onto graphical fidelity at the same time. I imagine EQ1 will attempt higher graphical fidelity after having made this move.

APB Reloaded is in a similar situation with disk loaded assets and performance degradation - they write all dynamic textures to disk and load them as-needed per-session via a memory map from disk... However, the DX9 renderer still has the same bug that EQ1/EQ2 encountered, and there's frequent complaints about out of memory crashes.

The game also encounters a silly amount of stutters as a result of loading and unloading from disk, and EQ1/EQ2 both have had less stutters since migrating to 64bit.

I can imagine that is attributed to extra registers for math, direct hardware access, the native CPU task scheduler instead of an emulated one, bypassing the Windows on Windows translation layer for 32 <-> 64, and the higher memory ceiling meaning that Windows can reliably use more memory and without CPU figuring out where that memory is available at within the user-allocated memory regions.

 
Last edited:
  • 1Like
Reactions: 1 user

Rajaah

Honorable Member
<Gold Donor>
12,660
16,757
I'm sure the company would have more scripted events with "boss fights" being more of an event rather than just a single boss. Like how annoying rathe council was.

Waves of mobs requiring complex CC, offtanking and kiting.

Rallos zek would have had you fighting him while getting absolutely swarmed with giant adds, kind of like the rztw fight in fortress of zek.

Which i almost want to say would be preferred over the millions of hp with sky high ac of luclin fights but knowing EQ the scripts would have broken every patch and been an absolute fucking catastrophe.

They could have had the same boss spawn over and over again too. Like say one boss respawns a bunch of times, it effectively has more than 32k HP.

They had this code at the time before the HP cap raise (tainted/corrupted HG). So in this alternate universe it's possible.

So fo something like the Tunat fight, each of his phases is just a different 32k HP mob. Combine that with super-high mob stats and weapon ratios being tuned way down, and it might be possible to approximate that fight with a 32k HP limit.
 

Ikkan

Molten Core Raider
278
412
I've wondered a few times what EQ would be like if they had never been able to raise boss HP above 32k. If they were planning for the future they could have started low, like maybe Naggy has 5k instead, and go up from there. If they were just going from our timeline only without the raise, I'm thinking bosses would have just gotten lateral power increases like tons of AC. Maybe they just do astronomically high damage so fights are over super fast one way or the other? I don't know, but I found it interesting to think about.
Their actual solution was to give mobs incredibly high regen rates to make it appear as if they were over 32k. They did this with dragons in Veeshan's Peak. Bill Fisher talked about them doing that on one of Alovingrobot's twitch streams a couple years back.
 

Breakdown

Gunnar Durden
6,021
8,351
Decided to roll on Yelinak, if any of yall playing there hit me up, same name as forum. will sexual favors for gear
 

your_mum

Trakanon Raider
294
165
suspended on vaniki for 2 accounts for "Cheating"...

I use myseq on 1 computer, not on the other. I use mqnext on both computers. i modified mqnext to include the vaniki server id to use mqnext on a TLP.

so how did daybreak catch me? went for a year on mischief with no problems (and back then all I did was comment out the /unload mqnext does when an invalid server id is found).
 

RobXIII

Urinal Cake Consumption King
<Gold Donor>
3,870
2,278
suspended on vaniki for 2 accounts for "Cheating"...

I use myseq on 1 computer, not on the other. I use mqnext on both computers. i modified mqnext to include the vaniki server id to use mqnext on a TLP.

so how did daybreak catch me? went for a year on mischief with no problems (and back then all I did was comment out the /unload mqnext does when an invalid server id is found).


"I use myseq on 1 computer," well that alone is easy to catch. If you use a hub + linux SEQ on another computer, there's no way they can detect it unless you make it obvious in game. But MySEQ is easy to see in memory.
 

WorryPlaysGames

Blackwing Lair Raider
537
311
We lost some people on Yelinak also who made ECtunnel purchases. One got 7 days for buying Kr and another just lost a character he bought yesterday.

Hearing Taxman got hit and lost all his accounts but not sure for how long.