Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-20-2016, 10:08 PM
zrsh5
Fire Beetle
 
Join Date: Apr 2013
Posts: 15
Default Eqemu 101

Greetings...
I've played EQ since it began and have been enjoying EMU for quite a few years now (Stormhaven and Hidden Forest mostly). Always thought I would get around to trying my hand at running a server myself, if anything just for fun but just never had the time. Well, I recently retired and I am here looking for something to do.
I am a systems and software engineer, but this whole thing is completely out of my experience. I have been scanning the forums and wiki looking for a basic overview of the entire program. What each part does, how it does it, etc. I have no db or sql experience either, so I will probably look up an sql primer somewhere.
But what I mostly want is a EQEMU 101. Is anything like this available? Many thanks to anyone who can help me out.
Much looking forward to joining the community.
Cheers
Randall
Reply With Quote
  #2  
Old 09-20-2016, 10:47 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Outside of what's on the wiki page, you can search our forums for specific information (google returns better results for short length criteria.)

Most of the wiki information is for content..so, code changes will take some tinker->test experimentation.


The code base is highly interdependent within itself and figuring out what is really going on just takes time and familiarization.

If you have c/c++ experience, then you're already ahead of the game


Database access is fairly easy.

If you have access to a database interface gui (like HeidiSQL) you can experiment with queries and see changes in real-time.

I would suggest starting with 'SELECT' queries since they only return information and do not modify any db values.

(If you have grepwin, you should be able to search for 'SELECT' and find numerous query examples.)


Above all else, just remember that the systems works around client requirements.

Changing something to your liking may cause client issues/crashes because it is out-of-scope for the client.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 09-20-2016, 11:08 PM
zrsh5
Fire Beetle
 
Join Date: Apr 2013
Posts: 15
Default

Thanks man...
I was hoping for a head start with an overview of the entire system.
ie:
This is world.exe. It does blah blah.
usc.exe is responsible for nah nah nah.
shared_memory.exe handles all the wooha and diddleydoo.
zone.exe etc etc etc...
I have gone through the wiki pretty closely and didn't find what I was looking for and I hoped it was just hard to find, lol. Oh well..
Guess I will be jumping on the slowboat..
Now if I could just get a server up and running and be able to play with it.. it would help immensely. I've run Akka's installer a couple of times now but something isn't happening right. Keep getting "server isn't responding" message and then back to login screen when I try to log a character into the server. At this point I am stumped and have no way to know how to debug this without a little help.
Well.. I'll sleep on it.
Cheers
Randall
Reply With Quote
  #4  
Old 09-20-2016, 11:44 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

[In brief..]

ucs.exe is essentially the chat/mail server.

shared_memory.exe creates (pre-loads) binary memory-mapped files for certain information in the database. (This should only be run when the server is down and after any
changes to db values. Most people add this to their startup.bat file.)

loginserver.exe is the initial access point for clients. World servers also log into this and clients are passed off when a server is selected.

world.exe is essentially the 'world' controller and is where character selection/creation occurs.

eqlaunch.exe is a launch controller for zone.exe and may or may not be present in your configuration..based on whether you used the 'traditional' server install method or used
the newer perl install script.

zone.exe is where the magic happens. All in-game experience occurs here.


A lot of these 'servers' are connected to each other and some process calls are directed around, as needed.
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #5  
Old 09-21-2016, 12:39 AM
atrayas
Hill Giant
 
Join Date: Jun 2010
Posts: 105
Default

I highly recommend volunteering on a server and learn from a current server op, treat it as a mentor-ship so to speak. There are quite a few servers that would be happy to have someone come on board with viable experience and in return you would learn quite abit about the intricacies involved with running a server yourself.
Reply With Quote
  #6  
Old 09-21-2016, 11:10 AM
zrsh5
Fire Beetle
 
Join Date: Apr 2013
Posts: 15
Default

Thanks Uleat. That's a start.. I must say that I am surprised that what I am looking for isn't around. I'd have thought someone would have written up something like that considering the complexity of the program. I have been through a lot of the wiki so far and I have to admit that I am really excited to get into this. Like I said though, it is far removed from anything I have ever worked on. So the learning curve (at least from where I am standing now) appears to be pretty steep. I'll live...

Thanks to you as well, atrayas. That sounds like a good idea, although I don't think I am anywhere near ready at the moment to offer anyone anything, lol. Perhaps in the near future..
Reply With Quote
  #7  
Old 09-21-2016, 11:49 AM
Lavius
Fire Beetle
 
Join Date: Jun 2010
Posts: 4
Default

I thought that if I wanted to go beyond just tinkering or had more time, a good approach would be to:

1.) Use Akkadius' installers and get it working. Learn to completely remove it (so it's clean) and reinstall/uninstall again and again until it is internalized.

2.) Learn manual install with optimizations, reinstall/uninstall again and again until the process is internalized.

3.) Learn how to do back-ups. Make small changes or break something after doing back-up. Maybe uninstall/reinstall and then restore the back-up. Repeat until internalized.

4.) Learn simple customization. For example, I'd like to move the starting city for all Vah Shir to a different zone, and disable expansions/zones etc.

5.) Start learning more advanced like perl/lua stuff, maybe run through some tutorials on youtube or something.

6.) Take notes, if anything helpful or concise comes out of it, post here so others can learn.


I think I read on the wiki that it basically runs on a commodore64. If you get into this maybe you can build a really cheap server, like mini-ITX and cheap AMD processor to tinker with linux.
Reply With Quote
  #8  
Old 09-21-2016, 04:59 PM
NostalgiaEQ
Banned
 
Join Date: Sep 2016
Location: us
Posts: 201
Default

Quote:
Originally Posted by zrsh5 View Post
Thanks Uleat. That's a start.. I must say that I am surprised that what I am looking for isn't around. I'd have thought someone would have written up something like that considering the complexity of the program. I have been through a lot of the wiki so far and I have to admit that I am really excited to get into this. Like I said though, it is far removed from anything I have ever worked on. So the learning curve (at least from where I am standing now) appears to be pretty steep. I'll live...

Thanks to you as well, atrayas. That sounds like a good idea, although I don't think I am anywhere near ready at the moment to offer anyone anything, lol. Perhaps in the near future..

I'm in the same boat as you. It takes some time but just take it one step at a time and it will start clicking. First figure out your installer issues. It is probably your eqemu_config file in your server folder or your eqhost file in your client file. these need to be setup properly to direct to the login server or 127.0.0.1 to connect to your local server. Once you get that all done you will be able to login to your server. Then you actually have a server up and running and its really all downhill from there. From there its all about just modifying things you want changed. I am working on a old school server where I use all old maps and such. Whatever your goal is for the server you will need to tweak things till you achieve your goal. Ways to do that are #1 edit the database. A database is basically all the data that the server uses to make decisions. Like where to make monsters spawn, what locations you go to when you zone, all the rules like how many seconds between respawns etc. Once your server is installed properly boot up heidisql which will be on your computer. click create new or whatever it says to do. Then enter your password and you are in. click on peq and you will see a big list of tables. Double click a table you are interested in. then at the top you can click "data" to see the data and change things. There is no "save", everything you do takes effect in the server immediately although you may need to restart the server to see the changes. Values are pretty self explanatory but if you have questions ppl here can help you figure out what a table does or whatnot. That's about as far as I have gotten but beyond the database you can actually change the C++ code of the server itself and recompile those exe's in the server folder that you were talking about. Like if you want to modify how the boats move or things like that you would want to work on server code (if I'm not mistaken). And also you an modify your client (titanium or whatever). For example I removed all the EQG files from my client folder so that the game would revert to using the s3D files of the old zones for example. As far as I know there is no way to recompile the exe's in the client since we don't have the unreal engine save files that the developers used.

Good luck and I would be happy to help you, you can email me at nostalgiaeq@gmail.com if you want.
Reply With Quote
  #9  
Old 09-22-2016, 02:29 PM
zrsh5
Fire Beetle
 
Join Date: Apr 2013
Posts: 15
Default

Quote:
Originally Posted by NostalgiaEQ View Post
Good luck and I would be happy to help you, you can email me at nostalgiaeq@gmail.com if you want.
Thanks man. Appreciate the offer. I really don't think it is my eqemu_config file. I have been through it with a fine tooth, but I could be wrong. I am thinking of making another clean install OS and emu install and run the client from the same computer. See how that goes. If that doesn't work, perhaps I will try an install on my laptop running Debian. I really am kinda stumped here, but in my attempts to figure it out I am learning a lot about it. I will eventually figure it out tho. By the time I finally get the game working, I will be in a better place to start modding it. Until then.. I will grin and bear it!


@Lavius
All good ideas and I will probably pursue much of that. As for systems, I have an abundance of computers and resources to work with. Eventually, I will have a pretty sturdy server running. Eventually

Cheers
Randall
Cheers...
Reply With Quote
  #10  
Old 09-22-2016, 02:45 PM
Maze_EQ
Demi-God
 
Join Date: Mar 2012
Posts: 1,106
Default

Getting a server to run is not hard at all.

akkadius made this a 2 step process.

The hard part is learning everything needed that goes along with maintaining/building onto the current platform.

Usually in most scenarios you will have:

a. Database Administrator
b. Source programmer
c. Script/content developer
d. Backend IT operations

The part that is the most difficult is combining a,b,c,d into one person. This can be severely overwhelming due to having to cram multiple different platforms into a small window of knowledge.

It won't happen overnight, but theres enough information on the interwebs that you can definitely learn quickly.

It's not as easy as WoW servers, where they provide you tools that do your scripts for you by inputting the values you want, or any respositories for custom code work.

All this is usually done manually.
__________________
"No, thanks, man. I don't want you fucking up my life, too."

Skype:
Comerian1
Reply With Quote
  #11  
Old 09-23-2016, 06:18 PM
zrsh5
Fire Beetle
 
Join Date: Apr 2013
Posts: 15
Default

Quote:
Originally Posted by Maze_EQ View Post
Getting a server to run is not hard at all.
Haha...
Well, that is debatable. I know from previous experience trying to do it all manually a few years ago, that Akka's installer has taken a lot of the complexity out of it, but for whatever reason, I am still having trouble getting it running. I also know I am not the only one. All things considered, I am hardly a layman when it comes to all things computer. So I have to say if I am having trouble then it is still harder than some give it credit for

Be that as it may, I will figure it out and continue. Putting a,b,c and d into one person is what I am all about. Whether my project will ever be open to the public is hard to say. I mostly want to preserve the EQ experience for myself and maybe a few of my friends. I've had ideas about where to take this game and things I would have liked to implement for many years. I've watched this project grow over the years and thought I would have to do this. But while working and having a life, I just never got the time to do it. I am only doing some consulting now so I have a bit of time.

So, I am scouring the website and wiki to try and figure it all out. You're right, it's a lot. Others have done it and so will I. It would be nice to have someone step in and show me what I am doing wrong, but you learn oh so much more when you figure it out for yourself. It's probably something really stupid and when I find it I'll berate myself for it taking so long. Lol.

Anyway, thanks all for the encouragement. I'll report back when I get it working..
Randall
Reply With Quote
Reply


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 06:10 PM.


 

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