Is the Borg Project somewhat on hold or why arent there any new updates for quite a long time now?
12:00 24. November 2010
oxl
Member
posts 6
2
Post edited 22:52 – 24. November 2010 by oxl
Hello,
I am very interested in the status of this project , too.
As I have read somewhere in the news, they (he?) are working heavily on the client and later on they said, they have no more time to develop it further.
It sounds for me that it's yet another MMO project getting abandoned due to less man power.
I'm pretty sure that many people here are more interested in the server-side framework but to develop another MMO RPG Client that never gets finished. Sorry for sounding rant-ish, but I fear that this is another ambitious project dying.
Why not concentrate on the server side and maybe put the client into another project ?
Please don't get me wrong, I'm very impressed about what you've done so far and I really would like to see this framework growing, even contribute to it.
So please tell us, that you are working on it and there will be progress in the near future. Please ;-)
Regards,
oxl
19:41 24. November 2010
paganfrost
Member
posts 3
3
oxl said:
Hello,
I am very interested in the status of this project , too.
As I have read somewhere in the news, they (he?) are working heavily on the client and later on they said, they have no more time to develop it further.
It sounds for me that it's yet another MMO project getting abandoned due to less man power.
I'm pretty sure that many people here are more interested in the server-side framework but to develop another MMO RPG Client that never gets finished. Sorry for sounding rant-ish, but I fear that this is another ambitious project dying.
Why not concentrate on the server side and maybe put the client into another project ?
Please don't get me wrong, I'm very impressed about what you've done so far and I really would like to see this framework growing, even contribute to it.
So please tell us, that you are working on it and there will be progress in the near future. Please ;-)
Regards,
oxl
I totally agree oxl,
this project is really awesome and it is even more awesome to see what has been done already…
But on the other hand it makes me sad to see, that this project is dieing slowly…
Please, keep this project alive and i beg u, tell us what we might expect in near future :)
19:59 28. November 2010
oxl
Member
posts 6
4
At least there are new commits to the svn :)
Thats nice !
Keep on the good work,
oxl
23:55 28. November 2010
GambitRicky
Member
posts 29
5
Sorry guys but I noticed your posts only few minutes ago!
I had so many other things going on in private life that I had to put all my projects (and there is a lot of them) on hold for a while.
The most dedicated developer – SkyFlash – has also some issues by his own. He dropped me a note last week but I don't believe he will be back in the near future.
I was unable to find anyone else with decent programming skills during the whole last year. Other developers I met via SF just join and after a week or sooner get scared by the source amount and leave. So it is hard to tell if the project is gonna die or not, but I will try to spare as much time on Borg as my limited _free_time_pool allows. I still hope I will be able to release a playable MMO
Regarding the server code vs client code, the server side code is actually more or less production ready. Admited, there are always some areas ready for improvements or some missing minor features (teams, groups, chat…) but those not showstoppers.
Currently I am implementing an generic inventory system in the WS which I originally planned to be a WSE only feature.
Future development will be actually client side driven and I will implement features as they are needed by the client (which was the case with inventory). With no client it is hard to do any testing and evaluate whats important and whats not therefore my focus will still be on the client.
I will also try to post some news and whats going on on a more regular basis but the web sites DB crashed and was restored to a much older state so the current news section is also >50% gone
Anyway if someone thinks he can contribute I will be more than glad to wish him welcome!
17:54 29. November 2010
oxl
Member
posts 6
6
Post edited 20:34 – 29. November 2010 by oxl
Hi Ricky,
I'm glad about your honest answer.
I apologize , if my words above sounded like I'm forcing you to develop further, that was not intended. I really appreciate your work , it's very
much like a project I wanted to start since many years now :)
As I've seen, that you are also the person developing the TXna Game Eninge, I was not too surprised anymore about you having time trouble to commit to the borgserver project lately.
Actually you must be a fast and a very experienced programmer to handle so many projects at the same time :)
I am not , more a Unity3D C# scripter, but I currently looking into your source code understanding more every day.
I have the server with the DB running, compiled the M&M client and was able to connect the server and create a char on it. Sadly the connection was dropped after a few seconds, no errors messages at all.
I'm currently re-downloading the whole svn and will try building it again, if the error still occurs, it's better to open a new thread about it, I think.
While working with Unity3D on the client side planning to create some kind of Space-Sim, I fear I cannot help you developing your client much, but if I will make any improvements to the server side, I will post it here on the forum. Maybe the chat part could be mine, since it is IMHO a basic feature a multi-user environment should have.
It will take some time until I got deeper into the code base, though …
Additionally I'm thinking about a scripting interface for CS-Script to make the server more customizable , even if I'm not sure if it really makes sense … well, seems like I'm obsessed with that :-D
Hopefully you'll find enough spare-time to keep on working on this ambitious project and maybe also more members to contribute to it.
Cheers,
oxl
18:12 29. November 2010
GambitRicky
Member
posts 29
7
Post edited 18:13 – 29. November 2010 by GambitRicky
Hi,
Any contribution would be appreciated a lot. Even if you think it is the most trivial and unimportant thing you could imagine – it could be really anything and non related to programming (drawing a mana pot in paint, collecting some license/royalty free music/sounds on the net or just expressing your opinion about some features or lack of them).
The source is undergoing heavy changes and you might have just checked-out a "bad" version. If you can connect to the server than it should work, if there is something wrong with your environment/setup than there would be no connection possible at all.
On any problems you should run everything inside Visual Studio rather than start the executable, take a look at the Output window since it contains often very helpful hints.
Regarding scripting, I originally planned to add lua bindings but on the client side only. I am not convinced that the benefits of server side scripting would justify the performance penalty. Anyway if you have ideas in which areas scripting can be used and what server side tasks should be implemented via scripts I would be glad to hear about.
regards
Riki
20:57 29. November 2010
oxl
Member
posts 6
8
Hey,
I fixed my problem with the "auto-disconnect problem".
Reason was the client_timeout_seconds field in the world db's settings table set to 4 seconds. I was just not fast enough to create and load the char and start the world :)
After increasing it to 20 seconds I was able to join and walk around the landscape, great ! Runs pretty smooth on my older C2D GF8600.
Regarding other not programming related contributions, if you give me an idea , what kind of sounds (not music) you need, I can take a look , what sounds I can find ( I have a ton , but I'm not sure if they are free … . Anyway I could search the web for some, just give me some infos what kind of do you need.
I recently bought some models, including a small (and very basic) RPG House Kit . I have no usage for it at the moment, maybe it could be useful for your client, at least as a placeholder ? What format do you prefer ?
What I really would like to see is the Basic GameClient getting updated, so that potentially creators of other, non-XNA based clients (eg Unity3d :) , are getting an idea of how to connect (create char) to the server without going through the M&M client code.
If I remember correctly, you are using threading on the client side and I'm not sure, if this is possible on the client inside Unity3D (using Mono). I just have no experience with multi-threading.
I've played a bit with the Basic GameClient you delivered inside the "clients" folder, but I'm getting too much API errors to run it successfully, so I thought it is outdated right now.
The server-side scripting part is just an idea floating around my brain for a long time, I just like the idea of a very open system with some easy-to-use interfaces, where less skilled people eventually can create server-side "mods" or expand the existing logic with new features, properties, events or whatever. As is mentioned before, it's just a weird idea of mine, I'm not convinced for myself, that it makes sense.
Greets,
oxl
21:59 29. November 2010
GambitRicky
Member
posts 29
9
I was just mentioning the sounds since i was working something with fmod the other day, what I really meant is that one can contribute in many ways even without coding.
GF8600 is not exactly the target platform and I am surprised that it works at all on such old HW!
3D models and animations are always welcome, format doesn't really matter unless it's something uncommon (3ds, fbx, X, anything will do).
Regarding the 'GameClient', well this is so old that and forgotten that by now it is completely useless. Honestly, I forgot to delete this folder at least a year ago :-)
Setting up a connection to Borg is actually very simple since we wrapped that up in the LoginConnection class. Note however that M&M is using a temporary backdoor and connects directly to the world server so we don't have to run the Login Server and Login Server DB during development.
The process is as follows:
I. LOGIN SERVER
1. Create a LoginConnection instance
2. Invoke Login() with username and pwd. The idea is that a website for user registration exists which enables new user to open an account.
3. Once authenticated you obtain a list of known and running World Servers. Use the WorldServers property to get the list and SelectWorld() to get a secret key you will use to connect to the world.
II. WORLD SERVER
1. Create a WorldConnection instance
2. Invoke ConnectToWorld (string secretkey) with the key obtained through SelectWorld()
3. On success the character list will be retrieved automatically, you can display it to the user through the CharacterList property.
4. Now we are in the character management phase where you can add/delete/load characters via: CharacterAdd(), CharacterDel() and CharacterStart()
5. After invoking CharacterStart() you start receiving messages from the server. To react on messages and disconnects you must handle two events: StateChanged and WorldMessageReceived.
The above is all you have to do!
Take a look at the M&M WorldState.HandleStateChanged() and HandleMessageReceived() to see how this is handled.
I also have the impression that you are missing one most important detail: Borg is a Server platform and framework, like the IIS server is a platform for developing web sites and web applications. This is meant to be a utility for programmers developing MMO's. Even if you get this up & running in unity your RPG server must be implemented – the same way you have to build your web site before deploying it on IIS or else you want see anything. That's the task of a WSE (World Server Extension) which must be completely custom developed and contains all the game logic.
If you open the BorgWorldServer solution you will see it contains a Server_Extension project. This is the custom part where all the Mages & Mercenaries game logic is implemented. The Borg Server is just passing through most user messages without even looking at them – that's what the WSE must implement.
Regards
Riki
00:52 30. November 2010
oxl
Member
posts 6
10
Post edited 01:26 – 30. November 2010 by oxl
GambitRicky said:
I was just mentioning the sounds since i was working something with fmod the other day, what I really meant is that one can contribute in many ways even without coding.
Because I learned sound engineering in the past, I thought it could be a starting point to give something back to the "community". :)
GF8600 is not exactly the target platform and I am surprised that it works at all on such old HW!
Not sure if you are being sarcastic here, but regarding to the hardware (web)player stats on the unity3d website a GF8600 isn't that much distributed. Most of their users are still using GFX hardware like the INTEL GMA 950 (sic!) or something like GF7300, which isn't very capable at all, too.
3D models and animations are always welcome, format doesn't really matter unless it's something uncommon (3ds, fbx, X, anything will do).
.FBX is the common format in Unity, so maybe I can help you out here. ( I'm a bad modeller and so I'm always searching (buying) models for my own stuff, too.
Regarding the 'GameClient', well this is so old that and forgotten that by now it is completely useless. Honestly, I forgot to delete this folder at least a year ago :-)
haha , no worries :)
Setting up a connection to Borg is actually very simple since we wrapped that up in the LoginConnection class. Note however that M&M is using a temporary backdoor and connects directly to the world server so we don't have to run the Login Server and Login Server DB during development.
The process is as follows:
I. LOGIN SERVER
–snip
Thanks for the detailed information , I really appreciate it.
I will try to follow your instructions step by step, hopefully there will be a way to make this run inside the Unity3d environment. I'll keep you informed anyway.
The above is all you have to do!
Take a look at the M&M WorldState.HandleStateChanged() and HandleMessageReceived() to see how this is handled.
That's the point where I am right now and, yeah, that was kind of self-explaining due to your good summary comments inside your code , thanks !
I also have the impression that you are missing one most important detail: Borg is a Server platform and framework, like the IIS server is a platform for developing web sites and web applications. This is meant to be a utility for programmers developing MMO's.
–snip
Seems like I sounded too noob-ish ;-) (being a _hobby_ coder for 30+ years, but coming from Delphi via Truevision3D, where I first touched C#, and finally happily landed at Unity3D for years now :). Also , I do networking as my daytime job for 15 years now ). But that's another story.
Actually I understand the underlying concept, putting the specific game.logic into a .dll. Thats exactly the part where I was thinking about the scripting interface, outsourcing the whole game logic to the script engine, as you did it with the .dll approach.
Another library I tried out recently ( Exitgame's Photon) does a similar approach to yours.
Regards
Riki
Well, we'll see , it's late now :p
Thanks so far,
Regards,
oxl
07:48 30. November 2010
GambitRicky
Member
posts 29
11
No sarcasm, TXna requires SM 3.0 which I am not sure this card fully supports. The lowest HW I ever tested with was a GF gtx8800 while my dev desktop has a gtx9800 – by today standards a rather card old as well.
And yes I thought you where a modeler or level designer just starting to write some scripts
15:17 30. November 2010
oxl
Member
posts 6
12
GambitRicky said:
And yes I thought you where a modeler or level designer just starting to write some scripts
8-o
03:43 1. December 2010
ProxyProdigy
New Member
posts 1
13
Hmmm??? Looks like my timing couldn't be better!
First, I'd like to introduce myself. My name is Lucus / ProxyProdigy. I am the Sr. Systems Engineer for a local manufacturing company. Next month will mark the 22 year anniversary of the first program I wrote. During the day I mostly use Java, but I'm experienced in pretty much every programming language out there (C# being my favorite). After my "normal" day job, I come home and create new projects every day. I do everything from XNA to artificial intelligence. Lately I've been playing with OpenCV (computer vision) in light of the recently released Kinect. I used to do a lot more with XNA (you can see some of my earlier stuff at http://www.everydayxna.com). Here recently, I've been busy with other projects. But, I'm ready to get back into some XNA work.
I also own a company that designs and hosts websites. We recently replaced one of our server racks with all new upgrades leaving me with a lot of older, but not useless, servers. I've had an idea for an MMO for a long time now. So, the past few days I have been considering writing an MMO server and using my older server collection to host it. I've already loaded up Rocks & Eucalyptus on the servers. Combined, the rig is a cloud network with 84 cores, 252GB RAM, and 84TB of disk space (42 servers with dual core procs, 6GB RAM, and 2TB HD each). It can be easily upgraded by simply adding more servers with more resources.
Anyways, before I jump into developing a new MMO server from scratch, I'm going to checkout Borg and see if it is up to par with what I'm looking for. I'm hoping that it is multi-core enabled or will only require a few changes to get it there. If so, I'll be glad to put this cloud up for use for other Borg / XNA developers.
Back when I was working with XNA, I acquired a ton of 3D models (mostly purchased from turbosquid.com). I have a bunch of sound clips that a friend made for me using Audacity and the XACT audio tool that comes with Game Studio. I also have another friend that has been wanting to work with me on an MMO for quite some time. So, I'm hoping that Borg is what we are looking for to get this idea going and I hope that I can help keep this project active.
Before I go checkout your code, I would like to thank you for putting your work out there for the rest of us to participate in. It's developers like you that this world needs more of. Feel free to contact me for more information on any of the websites I own, host, and / or operate or any the hundreds of C# apps I've written over the years.
09:24 1. December 2010
GambitRicky
Member
posts 29
14
Post edited 09:40 – 1. December 2010 by GambitRicky
Hell I wouldn't remember my first program not even with a gun at my head but its for sure also more than 2 decades away :-)
I just checked out your site and I like the "The Kingdom" project since this is somewhat in the Mages & Mercenaries direction. Too bad there is no real description or video just the images.
Regarding Borg, you should start with the diagrams on the Design section of this site. The code base is by now grown so huge that it is hard to get the grasp by just looking at the code. There are also some documents in the SVN which are a bit outdated but still a very good starting point.
The core server parts are heavily multithreaded and the more cores you have the better. But – as always there is a but – the key part of any MMO is the game logic which in the Borg world is implemented as a WSE (World Server Extension). The game developer has to implement the WSE while Borg provides "only" the framework, shared libraries, messaging infrastructure, user housekeeping & authentication.
The performance of your server will be mostly completely dependent on the WSE implementation. I spent a rather long time designing and thinking about a slick WSE design but it always comes out that the client messages have to be serialized at some point or another. e.g You cant execute user actions in parallel if they are interacting with each other (combat, item pickups etc). The best I came up with is to serialize the user actions and do the rest (AI, Mob manager, Spawn point manager, Quest manager) on separate threads.
Anyway IMHO the Borg message throughput is much larger than a WSE would ever be able to handle.
I don't have much time to work on Borg (which is funny since I am unemployed) or other projects of mine but I hope this will change soon.
I also hate the current forum layout its functionality and the often SF slowdowns/outages so I will have some serious thoughts about moving this somewhere else. Maybe your hosting could be the solution.
We will definitively need a real host for the demo M&M game but at this stage that's just too early.
Regards
Riki
14:39 5. December 2010
paganfrost
Member
posts 3
15
Hello Gambit, thanks for your answers :)
It's nice to see that there is some progress going on the SVN again.
I have found the project by accident on sourceforge while searching for some stuff for XNA :D
I really like your work and I would also like to help you as much as I can.
I'm still a C# Junior Software Developer at my local company but would like to expand my knowledge and help you.
Thanks for the great work Riki!
Best wishes
Paganfrost
18:05 5. December 2010
GambitRicky
Member
posts 29
16
Hi there,
I suggest you send a join request via SF – but only if you are really interested in committing source and can spare a few hours per week working on the projects.
The best Borg starting place is still this website and some docs in SVN. For TXna there exists a whole series of tutorials which teach you how to use the engine and build scenes.
Would be nice to have someone with XNA background working on the Mages & Mercenaries client/TXna engine.