Server Launching Procedures!

Added by Kane over 8 years ago

So people who got the server compiled I'm guessing most this will be same for windows and Linux. Anyways rather then asking on IRC 10 times we should work on finding the right order to launch the server files and heck if and what libs/config files are needed for what exe and maybe even details for each one.

I suck at wiki's but maybe we all work together to compile the info in this thread we can get a really nice wiki page up.

The compile exe's I have so far:
ai_service.exe
backup_service.exe
dynamic_scenario_service.exe
entities_game_service.exe
frontend_service.exe
gpm_service.exe
input_output_service.exe
logger_service.exe
mail_forum_service.exe
mirror_service.exe
monitor_service.exe
pd_reference_builder.exe
persistant_data_service.exe
ryzom_admin_service.exe
ryzom_naming_service.exe
ryzom_welcome_service.exe
session_browser_server.exe
shard_unifier_service.exe
tick_service.exe

Config Files that I know of so far:
admin_executor_service.cfg
admin_service.cfg
admin_service_default.cfg
aes_alias_name.cfg
ai_service.cfg
ai_service_default.cfg
backup_service.cfg
backup_service_default.cfg
entities_game_service.cfg
entities_game_service_default.cfg
frontend_service.cfg
frontend_service_default.cfg
gpm_service.cfg
gpm_service_default.cfg
input_output_service.cfg
input_output_service_default.cfg
logger_service.cfg
logger_service.cfg
mail_forum_service.cfg
mail_forum_service_default.cfg
mirror_service.cfg
mirror_service_default.cfg
naming_service.cfg
naming_service_default.cfg
session_browser_server.cfg
shard_unifier_service.cfg
shard_unifier_service_default.cfg
tick_service.cfg
tick_service_default.cfg
welcome_service.cfg
welcome_service_default.cfg

Now if you delete all the defaults im guessing not needed there is 17 config files 19 exe's so hmm hope someone can figure this out I know u can just keep all but lets learn what each one does for each one and lets figure how to run the server lol.


Replies (32)

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

I think we are going to need to get some of the "Ryzom team" to help out on this one.

Starting some services will cause others to lose access to certain key files from the combos I have tried.
Just from looking at them some of them may not even be needed to get just a basic server up to connect to.

Then there is the client.. I am not to sure where to start here but the source client won't work without having some of the basic artwork needed for it. So from what I can tell you are going to have to package or copy over some files from the Ryzom client or rewrite the login screen to use your own artwork / setup.

Right now we just do not have enough information to get the client compiled, setup and connecting to a server. The same goes for setting up a server and getting a client to connect to it.

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Tom what Dll's did you need to include with the server bins?

Also yeah there is SO SO much work we almost need to give the server a basic plain set of graphics or something just so u can get into the game even if 90% of its black.

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

From what I get there should be a AES (Admin Executor Service) : There's one AES per physical server. It manages the shard by launching other services on the server, kill them, get some information about the services.

If so I have not found the AES in the source anywhere or any what to build a AES. If its not there this might be why we can't get a server up and running.

My VS Includes exactly like

I am not sure what exact .dll's it used since it compiled everything itself with just adding them include paths and lib paths.

RE: Server Launching Procedures! - Added by Kane over 8 years ago

My mistake and thanks for the info sounds good if there is a launcher type application. I mean for your folder where you have the server bins/config files were there any needed dll's like the client? I have gotten errors running the servers but most them if not all said config issues maybe configs go into another folder?

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

The servers did not need any dll's to launch them. But the client needs 2 different dll's to run it.

nel_drv_direct3d_win_r.dll
nel_drv_opengl_win_r.dll

Some of the servers are missing there .cfg files and that will stop them from running. But most of them seem to be high level entry services and do not have any type of interface for them. They just run in the background.

This is why I think we are missing the AES. It would control what gets started and shutdown based on whats going on.

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Okay I guess will have to wait on ACE to see what he says. BTW you should join IRC sometime ACE is on there hes the CTO and helps out a lot via IRC or maybe your already there.

Anyways I work most the afternoon tomorrow into the late evening so I guess I will see what happens over the day.

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

I just noticed the ryzom_admin_service needs to have its config changed from admin_service.cfg to ryzom_admin_service.cfg (needs ryzom_ added to the front of it)

This will get it up and running.

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

I will try and hop on IRC tomorrow if one of them doesn't drop a post here. It being the weekend I am not to sure if they will get around to it or wait tell next week.

The AES is for sure missing though as it has a config file but no program to run.

RE: Server Launching Procedures! - Added by Dishwasha over 8 years ago

Look at the two batch files under ryzom\code\snowballs2\bin
copy_nel_d.bat
copy_nel_r.bat

They give you a good idea of what and where the dll's are for the client.

RE: Server Launching Procedures! - Added by cYan over 8 years ago

14:23 bdh • copied it from nelns
14:23 Kaetemi • aes is under nelns yeah

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Not sure if ACE reads this but think hes going be the only one who can even solve this part =(

<kerozcak> Kane_Hart: i have server running, just have to run nelns services (login etc)

He also seams to have it running or part of it hehe

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

I have to do some more testing, but from the two tries I tried of the nelns AES it wasn't working when it was just copied over.

This could have been more of a config file issue as I am sure the setting are going to need to be changed from what is on the SVN to how you have it setup on your PC.

On top of that its hard to tell if it IS running or Not unless you try to connect to it via a client and thats also something that hasn't proved to be easy.

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Okay well were getting some headway. I have to work 3 hours but kerozcak said hes going to do something for us if its on the wiki or here not sure but once we get some chatter going were going to be getting some leeway. Also kerozcak on IRC if you want to have a chat though I know ur sort busy on the weekend.

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

Still working on it. They have added some new stuff into the svn so just working on getting everything recompiled (lengthy re-compile process).

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Keep your eye on this http://ryzom.hg.sourceforge.net/hgweb/ryzom/ryzom/graph

They added some SQL files too now :) It's getting updated none stop today hehe.

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

Here is what I am looking at for the AES. Maybe another mind looking at this can shed some new light.

Currently the default AES has this..

bms_master = { "./", "/home/nevrax/dev/live/service_backup_service/backup_service", "-C. -L. --nobreak --writepid -P49990" };
bms_pd_master = { "./", "/home/nevrax/dev/live/service_backup_service/backup_service", "-C. -L. --nobreak --writepid -P49992" };
egs = { "./", "/home/nevrax/dev/live/service_entities_game_service/entities_game_service", "-C. -L. --nobreak --writepid" };
gpms = { "/home/nevrax/dev/gpms", "/home/nevrax/dev/live/service_gpm_service/gpm_service", "-C. -L. --nobreak --writepid" };
ios = { "/home/nevrax/dev/ios", "/home/nevrax/dev/live/service_input_output_service/input_output_service", "-C. -L. --nobreak --writepid" };
rns = { "/home/nevrax/dev/rns", "/home/nevrax/dev/live/service_ryzom_naming_service/ryzom_naming_service", "-C. -L. --nobreak --writepid" };
rws = { "/home/nevrax/dev/rws", "/home/nevrax/dev/live/service_ryzom_welcome_service/ryzom_welcome_service", "-C. -L. --nobreak --writepid" };
ts = { "/home/nevrax/dev/ts", "/home/nevrax/dev/live/service_tick_service/tick_service", "-C. -L. --nobreak --writepid" };
ms = { "/home/nevrax/dev/ms", "/home/nevrax/dev/live/service_mirror_service/mirror_service", "-C. -L. --nobreak --writepid" };
ais_newbyland = { "/home/nevrax/dev/ais_newbyland", "/home/nevrax/dev/live/service_ai_service/ai_service", "-C. -L. --nobreak --writepid -mCommon:Newbieland:Post" };
mfs = { "/home/nevrax/dev/mfs", "/home/nevrax/dev/live/service_mail_forum_service/mail_forum_service", "-C. -L. --nobreak --writepid" };
su = { "/home/nevrax/dev/su", "/home/nevrax/dev/live/service_shard_unifier_service/shard_unifier_service", "-C. -L. --nobreak --writepid" };
fes = { "/home/nevrax/dev/fes", "/home/nevrax/dev/live/service_frontend_service/frontend_service", "-C. -L. --nobreak --writepid" };
sbs = { "/home/nevrax/dev/sbs", "/home/nevrax/dev/live/service_session_browser_server/session_browser_server", "-C. -L. --nobreak --writepid" };
lgs = { "/home/nevrax/dev/lgs", "/home/nevrax/dev/live/service_logger_service/logger_service", "-C. -L. --nobreak --writepid" };
mos = { "/home/nevrax/dev/mos", "/home/nevrax/dev/live/service_monitor_service/monitor_service", "-C. -L. --nobreak --writepid" };
pdss = { "/home/nevrax/dev/pdss", "/home/nevrax/dev/live/service_pd_support_service/pd_support_service", "-C. -L. --nobreak --writepid" };
ras = { "./", "src/ryzom_admin_service/ryzom_admin_service", "--fulladminname=admin_service --shortadminname=AS -C. -L. --nobreak --writepid" };

I am thinking that they should read more like the following
bms_master = { "./", "/backup_service", "-C. -L. --nobreak --writepid -P49990" };

This is considering that they are all running from the same directory as the AES. And for now thats the plan if possible.

I'm not to sure if the / should be there infront of the backup_service or not. How I am reading the line is like.. We are in this directory (first part) now launch this file (second part). That way while the service executable can be in a different location it will run from whatever directory you set at the start.

Whats your take on it Kane?

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Well that's all on the Linux box. See there server runs on Linux were in windows but it would be the same procedure.

I would think and say that is the correct order in witch we need to boot in though. I kind hit a wall right now I updated my libs and broke some stuff so I'm just fixing that.

This why Linux user having issues this and in the code it foces them to use /home/nevrax as their paths lol.

RE: Server Launching Procedures! - Added by vl over 8 years ago

Sooo many questions and only 2 hands (and it's the week end but I still work to try to help you as much as I can).

default cfg are mandatory. the normal one include the default one. it's the same with the client.

default are generic value and the normal one override default variables to set specific setup.

You can see on the admin tool http://open.ryzom.com which services are used to run open shard.

On linux, there's a simple way to run a full shard, just start "shard start" and it'll launch under dedicated screen (http://www.gnu.org/software/screen/) each services and auto restart if they exist.

On windows, there s nothing so you have to launch one by one the service where the cfg are (the easiest way is to create some shortcuts)

RE: Server Launching Procedures! - Added by Kane over 8 years ago

The order also does not matter like he said on IRC just want to say it here for people not on IRC.

So looks like were doing well now. Really if someone has time woot saved by work but anyways if they edit the needed config files for a running server and post what config files and what they edited then we can prob all be running shards by the end of the weekend.

I have yet even gotten to the SQL part but I will wait and learn things overtime ;)

RE: Server Launching Procedures! - Added by Tom316 over 8 years ago

Everything is launch just fine (Everything that needs to launch anyways). The log file is reporting a connection issue but beyond that, everything appears to be loading and talking back and in sync.

Haven't tried connecting to it yet since, I don't have mysql setup yet or any of that.

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Very nice keep us updated and once you do get it running try to add a wiki page for it :)

RE: Server Launching Procedures! - Added by kaetemi over 8 years ago

- * might contain some mistakes *

Steps for launching a single shard with shard id 302.

If you're running on Windows, in all .cfg files, add: WindowStyle = "WIN";
Also do a find and replace for /home/nevrax to R: in all cfg.
Copy everything from Release to it's parent server.
Copy admin_executor_service_r.exe from nelns to ryzom server.

Before launching a service, go trough it's .cfg file to see if anything needs change.

- * Configuring the SQL database *
1. Install the SQL database, with the data.
2. Make sure all the shard id is 302 in all rows.
3. Fix a path somewhere for graphs.
4. Configure it to use your hostname where it says open.ryzom.com.

- * Setting up the shard unifier *
5. Configure SQL connection parameters in all config files (find & replace).
6. Start SU (shard_unifier_service), this connects your shards.
7. Start BS (backup_service), it does something important.
8. Copy admin_service.cfg to ryzom_admin_service.cfg.
9. Start AS (ryzom_admin_service), it connects all physical servers.

- * Adding a physical server *
10. Start AES (admin_executor_service), it does stuff.

- * Launching a shard *
11. Start NS (ryzom_naming_service), this connects your services.
12. Start WS (ryzom_welcome_service), links shard to unifier.
13. Start MS (mirror_service), also does stuff.
14. Start TS, EGS (this takes a while), IOS, GPMS.
15. Start an AIS (ai_service).
16. In frontend_service.cfg replace open.ryzom.com with your hostname.
17. Start a FS (frontend_service).

- * Setting up the web login and admin *
18. ...

RE: Server Launching Procedures! - Added by Kane over 8 years ago

Hopefully you can keep editing this over the day and time till you get working then do it all over again muhaha :P

Anyways good work though hope we get more instructions overtime maybe on wiki too.

Bye work time :(

RE: Server Launching Procedures! - Added by Speedz over 8 years ago

I made a batch file to automate this launch. Manually hitting them all ick.

It is included here if anyone wants to use it, or improve it.
It needs to reside with all the server exe files, where ever you place them.

Ry_Server.bat (1.3 kB)

1 2 Next » (1-25/32)