Building snowballs client

Added by shuawinn about 7 years ago

Has anyone tried to built the snowballs client? The default paths used in cmake for the snowballs client config, the datafile, and the log file locations are incorrect. No such directories exist, so when you try to build the project, it'll throw errors until everything is found. Anyone know what the default should be?


Replies (4)

RE: Building snowballs client - Added by shuawinn about 7 years ago

I got the snowballs client to build on multiple machines, but I'd like to make it multiplayer so I can better understand the architecture. sfb mentioned using the nel_launcher_qt which I was able to get built just fine. However, I'm stumbling as to how to configure it so it will work on my stand alone server. Anyone have experience with configuring this so it'll work?

RE: Building snowballs client - Added by shuawinn about 7 years ago

I have been able to get a multi-user snowballs application to work thanks to the guys here at the forum. Here is a copy of how I did it. You can also follow my blog at joshtheengineer.blogspot.com where I'll be posting notes on the developments and changes I'm making to the code, but I'll try to post them here in case you have questions about how to get snowballs up and running.

I had to make some modifications to the CmakeFiles to get them to include the necessary directories and projects. Many of the changes are found here: http://dev.ryzom.com/attachments/1336/sb4.diff

The other changes that are required are found in the Cmake list files located in code/nelns/Cmakelists.txt and remove any if statements but keep the statements in between.

Change the directories for Snowballs_config_file, data_file, and log_file as specified in my previous note. It doesn't matter where you point the links to, as long as the data is there. Then build the project in Cmake. You can get the data for snowballs from the binaries found at http://dev.ryzom.com/projects/ryzom/wiki/WindowsBinaries.

I put my data folder inside of \code\snowballs2\client\data, where my tree is the same tree that is specified in how to build windows(cmake) on the main page at dev.ryzom.com.

Load this all into visual studio 2008 (or 2010 if you configured Cmake to make that type of solution) and build the all build project. It will throw 3 errors saying that the nel_launcher_qt cannot find the ui_nel_launcher_dlg.h file. It will be created after the build. Once you have built the project, go to \code\build\nelns\login_system\nel_launcher_qt and copy the ui_nel_launcher_dlg.h file and paste it into \code\nelns\login_system\nel_launcher_qt\

This should be all you need to build the folder, just change the config files for the nel launcher and the 7 different services - logging, naming, welcome, and snowballs frontend, position, chat, and collision.

All of them should have DON"T USE AS/AES =1, and you should have the client change it's status in the client.cfg file for local and UseDirectClient. Local and UseDirectClient should both be 0 if you plan on using an external launcher, which is what I used for this. With the changes you make to the cmake file listed above, this should compile. You will need to change the nel_launcher_qt config file found \code\build\nelns\login_system\nel_launcher_qt too. The UseDirectClient should = 1 in this file, and you will need to change the StartupHost. If you are running a client on the same machine as your server, it can just be localhost. If you are running a client on another machine and would like to connect to the server on a different machine, you have to have this point to the ip address. Front end service will select the first available interface, so you need to make sure that you are feeding the correct ip address to your external clients. One work around this is to insert ListenAddress=" " and what is in "" will be your ip address and the default port number, something like this: "10.2.129.88:37000". This will make sure when the launcher is run it connects to the LS the LS will retrieve the ListenAddress from the WS.

This will allow multi user online snowballs. Collision is not required for snowballs, it just keeps track of cheat prevention.

When you build the nel_launcher_qt project, make sure that in the Properties->Linker->System it is a console application, not a windows application.

As far as the server goes, I used Molator's suggestion and used the Server2Go package that he provided. You can go to server2go (http://www.server2go-web.de/) and download a copy of the package. You just need to build the database into the package, the database which comes in your source code when you download it from sourceforge.

Another helpful tool I found is to download MySQLWorkbench to manage the tables for the data as well as ease management of the data.

RE: Building snowballs client - Added by wangxuan2730 about 7 years ago

I'll do this soon too, So it's very helpful for me!

But I have a question , This  is a way to build a Multi user client , If I just want to build a single user client , and how to do it?

Or if I want to do this as your method , which it will be OK? I think your method is very confuse , So could you list a clear form .

RE: Building snowballs client - Added by shuawinn about 7 years ago

You can build a single user client the same way. If you do it this way, it will let you connect to a server that you specify. If you don't want to use the server and would like to run snowballs offline, you can just download the binary off the the opennel website or change your client config file for the client to run local=1.

(1-4/4)