Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 04-17-2017, 08:46 PM
Random Gamer
Fire Beetle
 
Join Date: Feb 2017
Posts: 20
Default Server Design Overview / Intro

I've been digging around in the code for many hours now, even fixed a problem or two.

However, I still don't really understand how this thing is structured really well, nor how data gets from zone to zone, etc.

Near as I can figure, the Zone eats opcodes, and if needed it sends them to the world server, and if the world server thinks that needs to go someplace, it sends it to another zone etc.

(For example, if I click disband, the current zone I'm in has a group object with me as a member, and a pointer to me, and null pointers to all the rest of my group, and their names... Once I click disband, it would need to tell the other zone I quit. So it seems to disband me, then send that to the world server, then that sends the disband to all zones. Then all zones process that opcode, calling the correct function... So everyone sees I've left the group, then they all craft some packets, sending that to the members still in the group, letting them know to do their thang.)

I'm not 100% sure I've got that right, but it seems that is how it works basically. Since there are different zone processes, they seem to pass data back and forth using packets between the zone, and the world.

Also for zoning, it seems similar. Except that you "zone" by basically saving your toon in the database. Then the zone tells world you want to go someplace and then the other zone gets the command to load you up out of the database... or some such thing. And you move from zone to zone.

Anyway, after that long side track... Is there a flowchart, or basic block diagram that explains any of this stuff, to help wanna be helpers understand how this is put together. It would sure save me a TON of time reading the code, not that this is bad... Since I'm just basically teaching myself as I go.

--Random Gamer
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 09:09 AM.


 

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.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3