Suggestion for easier setup

Added by agoln over 8 years ago

As I read about how to set up the server + client, it seems overly complicated, especially in regards to "I just finished compiling... now what?"

For those that are familiar with what needs done, it's not too much of a hassle, but for someone starting out, it's a bit overwhelming.

1.) No clue where any binaries exist.
2.) No clue how to run the server/client when they are built.
3.) Configuration & data files for each service are split amongst several directories.
4.) Configuration files have a lot of "find/replace" to do when deviating from how it was first coded.

What I would propose is:
1.) Unify target directories to drop binaries outside of the code/ direcotry
1.a) Doesn't clutter 'hg status'
1.b) Easier to find binaries
2.) Modify config files in some way/shape/form so that duplicated information isn't duplicated, and a single change effects all files (overridable)
2.a) Especially username/password
3.) Modify build system to add custom build job that can replace variables in configs before it drops them

The idea behind it is that after you build it, the binaries that drop can "just be run".

I'd imagine that the directory layout would look something like:


code
|
-> ryzom
   |
   -> client
   -> server
drop
|
->client
  |
  -> exe/config/etc...
->worldeditor
  |
  -> exe/config/etc...
->AS
  |
  -> exe/config/etc...

Thoughts? Ideas? If you think it's a good idea, I think it'd be something good to get me started in the project.


Replies (5)

RE: Suggestion for easier setup - Added by grego over 8 years ago

I like it -- I know the current directory structure is confusing the heck out of me and I've been able to get most everything to compile!

RE: Suggestion for easier setup - Added by Speedz over 8 years ago

Yes quite the mess. I have gotten it to compile as well. But with hundreds of warnings.
I'm not sure if there are some inherent warnings to be expected. But it seems I have far too many to think its ok.

But I get no errors finally. Sad thing is I have tried so many ways every day since discovering this a week ago.
I still can't get the client or the web admin to see the server. Maybe the warnings kill it even tho it built?

But yes if I could get a successful build on both client and server and they connected I would gladly try to help
clean it up. Sign me up as a tester if anyone cleans it up and will send compiled server and client binaries.

I am on Windoze 7 64bit Using VS08 pro and all required downloads.

RE: Suggestion for easier setup - Added by Tom316 over 8 years ago

Unfortently the server wasn't designed entirely around the idea of running on just one machine. While its possible and it fully works that way, I do imagine it was designed around the idea of being able to deployed on multiple box's to handle any load thrown at it. As such, I also imagine this is why things are kinda spread all over the place. It's the system that worked best for the Ryzom team and allows them to easily push out new builds to the live servers and there development servers when needed.

With that said there is still more that is required then just compiling and changing a config file. You need to have a web server on the box to host the login pages and the admin pages. Your going to need mysql to be installed in order to handle the database side of things and to handle the account storage and administration pages for the server.

I do agree that some things could be made more clear as far as what uses what files. A lot of the tools need access to the same files the server use. But for me just dumping all that into one spot when compiled isn't the best solution as I do not use any of the tools from my server box. Instead I just map the folder to my development machine and use the tools from there (change the config file to point to the mapped folder and boom) good to go.

At some point when more of the bugs and kinks are worked out. Someone is going to put together an install package where you just run it and it will go through everything needed and install the required programs like mysql, apache, php and then offer easy access to edit the config files to your settings. But I do imagine that will be some time off. It's a involved process making such a installer setup and with the repo being updated just about every day with new bug fix's and changes, I doubt anyone will want to take the time to make a new installer every day / week / changes as needed due to bug fix's.

What we have is a setup designed for a specific game at the time. It's going to take some time to mold it into a more user friendly setup and such is the way of just about all development. I am sure the original Ryzom devs never intended for the setup / code / ect. to be used by just anyone and everyone.

Good news is that the current maintainers are working like crazy to fix bugs and make things easier for us. My thanks to them for putting in the time to help us out along the way.

RE: Suggestion for easier setup - Added by Kane over 8 years ago

The structure is messy not even just for the random user level but I noticed on IRC that a lot of the people who are trying to work on the code are getting lost and confused and in fact the latest bugs I think have been in fact location errors and such of wrong linked files.

A cleaner server would be nicer but there is so much to do right now that we can only get one thing done at a time.

If we work together and document as much as we can we should be fine for now.

PS: I posted this too http://dev.ryzom.com/boards/16/topics/1502

I think this would be a good idea for now.

RE: Suggestion for easier setup - Added by Speedz over 8 years ago

Great replies and I agree with pretty much all said. It does make much sense from a load vs performance and an application update standpoint. But I think many can agree that the confusion will subside and along with that the frustrations once bugs are sorted out and the code is more understood. I just get ahead of myself and all impatient. I wouldn't exactly want an all inclusive single server application, but maybe a slightly less numerous one :-)

On a side note, Yes I know that a web server is needed too. I have been using a nifty little portable server package for this and all my other game type projects called XAMPP. It has all the basic needed apps in one nice little package. Couple that with Winbolic Links and the web server is happy. It doesn't require an "install" so its nice to have for ease of use when dealing with a beast such as open.ryzom.

TBH XAMMP could be easily packaged up with needed databases and web server configurations for ease of setup. I would like to take on such a venture making this package, but its mute till I myself get a working setup. Also not sure there is any restrictions in the licensing for each server application and XAMMP itself for making such a bundle. I haven't looked into it since I don't have a working Zom setup yet.

So much to do on this great venture. Spreading focus is hard but eventually we can cover much of whats needed and desired.

(1-5/5)