Trinitycore Cache System

A friend of mine MrHooha said trinity is evolving, while that is 100% true i still see that a lot of things are missing from the trinity project.

I would like a thread to be posted as a sticky and placed, so people can write ideas into modules or systems that trinitycore project will use to increase its efficiency and reduce its requirements .

I will give the first idea.

{ The TrinityCore Cache System } Owner : ME !

Trinitycore world server fetches data from the mysql server once its accessed the first time , and writes that data into a cache file much like wdb for world of warcraft , so that file is accessed more quickly and it would not require fetching again.

this data could be overused such as npc’s in stormwind or orgirmmar or major cities , character equipment and stats and a lot more things i can’t think of right now.

{ Dynamic DLL’s } Owner : NOT ME !

i can’t really remember who is the memeber who suggested this idea. but its the best so far , i know it would require moving all scripts into an external dll like ScriptDev2 have and the community doesn’t really think thats a good idea.

but it would give us the benefit that ArcEmu has over Trinity , The ability to load scripts without the need to restart the entire server.

More ideas would be great .

Also, a member called Spectre already made this possible, but i guess he was ignored much like everything else that could improve trinity lol.

i think it was called " XENOS Project " ?

If the projects you own are not open source (I don’t see any link here) I don’t get the point of this thread.

U need stand alone functions to read data from cache files and work with them. What structure will cache files have? And wheres temp data will be saved, in cache files? What kind of data will be cached? (u said most used data - it can be Mb and more of information) How cache files will be stored - separate or in one big cache file? Is this rly improve system performance?

{ The TrinityCore Cache System } Owner : ME !

I can say:

{ The TrinityCore World Cluster System } Owner : ME ! Mb a bit Blizzard, w/e !

why not, just imagine - all trinity servers can act as big network. 1 realm, 10+ worlds, and everyone can join another world and interact with other worlds. Or …

{ The TrinityCore 1 Map - 1 World System } Owner : ME ! Mb a bit Blizzard, w/e !

Every location in world will act as separate server, and if some sh*t happens on one map - others will keep work!

{ The Blizzard Source Code } Owner : ME !

How about someone here can become a coder at blizzard and send us the entire source code for World of Warcraft, so we can be 100% blizzlike /emoticons/default_smile.png

Or how about closing this thread because there is no code here? Just crap talk about cluster servers and no action.

“This forum is for discussing the TrinityCore code base. If you are writing a patch and don’t understand a function / class / etc, then post here.” /emoticons/default_smile.png

the “TrinityCore Cache System” already exists, it is called BUY MORE RAM and it’s highly efficient /emoticons/default_wink.png

your not that wise man, the point is not to increase cost of running the software.

its to increase the software’s value.

The software is free…

haha, so its worth nothing ?

Not increase the software’s market value , but increase the software’s performance value ( good , bad , sucky , hacky …etc )

I don’t see the point of “your” caching system. How does it differ from our ObjectMgr class?

more like, “make it use less so my public server runs better” IMO /emoticons/default_wink.png

current system:

on startup all static data is loaded into memory

if grid unload is off:

players run around, everything is loaded into memory, and stays there (lots of ram, high speed)

unload on:

player run around, grids are loaded in, and after X time if no active objects are in it, it unloads (less memory, shitloads of cpu + hdd time lost while reloading maps, note that sstatic world data is always in memory)

when zone gets active again, maps are loaded back again

cache system(if i understand it right):

dont load anything on startup

load world data + maps when players zone in, after X idle time, save data to hdd(?), and unload from memory

(less memory, ultrahigh cpu usage, lots of hdd time)

when zone gets active again, load from hdd and parse data to be usable… again lots of resources lost

note that with grid onluad on, only mapfiles are re-loaded, world data is still in ram, so thats much better (world data is minimal in size tho, but dont have to ‘re-parse’ it)

aka it wont make things better…

if you want to save ram, turn on grid unload

and about that xenos thing, yes it was ignored. why? hm… not giving full sources, and such ‘small’ things, and it wasnt cross-platform back then (dunno about now)