Borgserver

You must be logged in to post Login Register


Lost Your Password?

Search Forums:


 






Wildcard Usage:
*    matches any number of characters
%    matches exactly one character

Getting Started

UserPost

06:07
6. May 2011


xposure

Pittsburgh

New Member

posts 2

1

Post edited 06:56 – 6. May 2011 by xposure


I suggest having something like TortoiseSVN installed to checkout code easily.

1. Pick a working folder on your hard drive, here-out known as WORKING_FOLDER. Its crucial to use the correct folder names or you'll have to edit the *.sln files and update the project references to the correct names. They also use relative paths so the checkouts must be in the same folder.

2. Open WORKING_FOLDER and right click and then click SVN Checkout. Choose "https://borgserver.svn.sourceforge.net/svnroot/borgserver" (without the quotes) as your repo url. It should put the checkout directory to "WORKING_FOLDER\borgserver" for you, if not please update it.

3. Right click again and then click SVN Checkout. Choose "https://txnagameengine.svn.sourceforge.net/svnroot/txnagameengine" (without the quotes) as your repo url. It should put the checkout directory to "WORKING_FOLDER\txnagameengine" for you, if not please update it.

4. Open the following folder up "WORKING_FOLDER\borgserver\trunk\Source\Servers\WorldServer", currently the app.config is missing from the project. Make a copy of app.config.default and rename it to app.config.

5. Edit the newly created app.config and tweak the SQL settings, you'll either need to choose MSSQL or MySql and I believe it supports SQLite. I would suggest MSSQL as it seems to be the most complete.

6. Build the SQL Database from the following script "WORKING_FOLDER\borgserver\trunk\Source\MS SQL Setup\MS SQL Database Setup (world server).sql". This creates a database named World0, so make sure you match this to the app.config above. You don't need to worry about the login server right now, there appears to be a back door in the world server that is used for dev.

EDIT 6.a. You need to edit the "world_settings" table and change the setting for "game" to "BorgServerExtension.dll". All you're doing here is removing the full incorrect path to a relative path. Without this, the server can not start.

7. Ensure XNA 3.1 is installed from http://www.microsoft.com/downl…..3fcd9d3e82

8. Finally open the solution in "WORKING_FOLDER\borgserver\trunk\BorgGameEngine.2008.sln". Ensure all projects loaded successfully, if not repeat steps 1-7.

9. In the solution explorer window in VS2008, scroll clear to the top and right click the first item (should say "Solution 'BorgGameEngine.2008' …") and choose "Set Startup Projects". Select "Multiple startup projects:" and set the following items "GameClient_XNA" and "Server_World" to action "Start".

10. Press F5/start and you should see the game and console window launch. The console window is the server running and writes vital debug information. You can type "stop" in the console window at any time to gracefully shutdown the server.

It took me an hour to figure this all out and I thought it could surely help someone else. Between not getting the correct TXnaGE source 3 times and then trying to figure out what to replace the missing app.config file with.

Also I know that it has been said a few times that its believed to be stable enough to use but I beg to differ. In the short time I had it up I could only get one client to connect, the others would sit at entering world and then it would crash if the original character tried to move. I eventually tried closing and opening clients fast and was able to get 2 clients to enter the world but then even after seeing the old clients in the server log out, there were still old character models just sitting on the map.

I'm going to try to look in to this project some more and see if it can be brought up to speed as I want to attempt to make a small MORPG 2d style (think FF3+Zelda). It should also be noted that TXnaGE should only be used to see how the demo game works and allow you to tweak things as a base to learn the code. The TXnaGE project hasn't been updated in like 2 years and shouldn't be relied on. If you don't care about the demo game, you can skip steps 7-10.

If I run in to anymore problems and find solutions, I'll attempt to post them here.

EDIT: Had to fix html backslash for paths.

-Xposure

18:33
16. May 2011


GambitRicky

Member

posts 29

2

Thats a really great summary of steps needed to get started – makes me feel ashamed not compiling such vital steps myself Embarassed

Just some minor suggestions:
1. I never use multiple startup methods but usually run the server on a) different Visual Studio on same machine or b) different PC (mostly on a laptop as for dev testing you don't need any CPU power).
Dont know if the problems you are experiencing are caused by such a single dev environment setup. I noticed strange stuff happening when starting it this way. Note that anything from lidgren threads stalling or network timeouts can happen if you debug both the server and game client inside the same devenv instance.

2. I still recommend using TXna as I am using it successfully for most of my projects. The engine is modular enough that everyone can integrate pieces he needs into it and provides all the needed primitives one can wish to jump start into 3D. It is not updated as I don't feel that the stuff I have developed are either tested enough or generic enough to be placed in the TXna trunk. Unfortunately I really do not have the time needed to work on new engine features or Borg demo game features.
If someone reports a major or serious bug I will fix it ASAP of course.

The sad news is that there simply is no alternative for 3D development.
Some guys started using Unity3D, I heard that they loosened up they licensing policy for non commercial usage but never actually checked that.

Thanks for your efforts, I will place your compilation in a more prominent site page next time I edit this site.

kind regards
Riki

21:06
16. May 2011


GambitRicky

Member

posts 29

3

xposure said:

Also I know that it has been said a few times that its believed to be stable enough to use but I beg to differ. In the short time I had it up I could only get one client to connect, the others would sit at entering world and then it would crash if the original character tried to move. I eventually tried closing and opening clients fast and was able to get 2 clients to enter the world but then even after seeing the old clients in the server log out, there were still old character models just sitting on the map.

What you are experiencing is probably not Borg related. The Borg Server is successfully utilized in several commercial projects (or rather forks of it but with the same kernel). So I would be surprised that such trivial things like logout/disconnect notifications are not working. Admitted, regressions are always possible but I suspect that the GameClient is not handling messages well and your test environment is not helping either.

The client as it is now is next to useless as it is too much coupled with game internals and just too many developers where changing/adding pieces of code without any strategy/design plan.
One should use it only to check how the connection can be established with the server and how the character management phase can be implemented.

21:23
19. July 2011


jockmacmad

Member

posts 4

4

A couple of points from the otherwise excellent instructions …

When setting up MSSQL Server make sure the user Borg has a Server Role and a User Mapping on the World0 table or you cannot get a connection (or at least that is what I needed to do to get it working).

Also the SQL script for creating the WorldServer has hardcoded paths to the server files which I had to change in order to get the table to create.

I am looking at Borg as a backend to the Leadwerks 3D engine. Whether I get the time to do a lot of digging I am not sure but it's a plan :)

07:14
20. July 2011


GambitRicky

Member

posts 29

5

jockmacmad said:

I am looking at Borg as a backend to the Leadwerks 3D engine. Whether I get the time to do a lot of digging I am not sure but it's a plan :)


The last time I was looking at Leadwerks 3D engine was pure C. Interacting with the Borg Server would be a pain (but not impossible) as it uses the Lidgren library for networking. Anyway you would be far better off with a .NET environment!

21:22
20. July 2011


jockmacmad

Member

posts 4

6

GambitRicky said:

jockmacmad said:

I am looking at Borg as a backend to the Leadwerks 3D engine. Whether I get the time to do a lot of digging I am not sure but it's a plan :)


The last time I was looking at Leadwerks 3D engine was pure C. Interacting with the Borg Server would be a pain (but not impossible) as it uses the Lidgren library for networking. Anyway you would be far better off with a .NET environment!


Leadwerks is C however, there are C++, C# (2 community versions), Java and soon a Fortran implementations for the 2.x engine. According to Josh V3 will be C++ rather than C but the community over there are doing some great work.



Date: 27. March 2010
Visitors:   (C) Copyright 2010, Borg Server Team
Borgserver