Is C# neccessary?

01/20/2010 04:42 Daymor#1
It's a really simple question...
I became interested in programming my own server. It would be a great learning experience, to tinker with CO, and maybe one day release my own private server...

But I read over the main 'Ask yourself this' post, and one of the first things it mentioned was you had to understand C#.

Is C# what I need to learn? I already have a strong background in C++, and would rather not switch languages if I have to. I have heard good points about both, but never really learned the difference.

If it would be possible, can someone explain to me what I absolutely have
to learn to run/edit a private server? I'm not talking about copying and running someone else's source, but to actually understand everything I'm looking at, and implement my own features. I've heard C#, mySQL, etc, etc, but I would want to know what would be the best to learn...

Like I said before, I already have a few languages under my belt, so I am dedicated to actually learning how to do this on my own, not a 'Private server in a box' guide.

Thank you all in advance, and sorry if I missed something when I was searching (all I found was old guides with Qonguer sources, Himachi, etc.)
01/20/2010 04:45 PeTe Ninja#2
you can create one in C++... anyway C# aint that different.
01/20/2010 04:47 Daymor#3
Quote:
Originally Posted by PeTe Ninja View Post
you can create one in C++... anyway C# aint that different.
Thank you for the quick response. Can anyone tell me what I need to start looking at to make a server?

I can understand just about any C++ code put down here, but I haven't the slightest idea how to start moving towards editing a game, let alone interfacing with a server :confused:
01/20/2010 05:09 spare2#4
lol, C# is quite different from C++...

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
01/20/2010 05:20 Daymor#5
Quote:
Originally Posted by spare2 View Post
lol, C# is quite different from C++...

[Only registered and activated users can see links. Click Here To Register...]
[Only registered and activated users can see links. Click Here To Register...]
Well, honestly, I was interested in learning C#.

Is there anything else I need to learn? MySQL, or anything?
01/20/2010 05:27 pro4never#6
It depends how you want to store information.

You could use Sql databases, flatfile structure such as .ini/.txt/.dat files, save the information right in the source or a multitude of other options.

Most people use sql because it's super easy to use and organize but I've heard some arguments for different types.


As for creating a server, you can write one in any (serious) language. You will need a way to send/recieve data, organize users, authenticate logins, handle packets and all sorts of other lovely stuff. Basically look at an existing (good) source and see what it has in it...

Regardless of what language you write your source in, you will end up containing MUCH of the same features (again, you can improve them and change them around but you are still going to need a way to handle players logging in, authenticating, sending responses to client, dealing with packets, etcetcetc)

Good luck, look forward to seeing how your project goes.


*Note*: there was an open source java project for a while... so that's another thing you could take a look at for ideas.
01/20/2010 05:33 Daymor#7
Quote:
Originally Posted by pro4never View Post
It depends how you want to store information.

You could use Sql databases, flatfile structure such as .ini/.txt/.dat files, save the information right in the source or a multitude of other options.

Most people use sql because it's super easy to use and organize but I've heard some arguments for different types.


As for creating a server, you can write one in any (serious) language. You will need a way to send/recieve data, organize users, authenticate logins, handle packets and all sorts of other lovely stuff. Basically look at an existing (good) source and see what it has in it...

Regardless of what language you write your source in, you will end up containing MUCH of the same features (again, you can improve them and change them around but you are still going to need a way to handle players logging in, authenticating, sending responses to client, dealing with packets, etcetcetc)

Good luck, look forward to seeing how your project goes.


*Note*: there was an open source java project for a while... so that's another thing you could take a look at for ideas.
Thank you for a very useful answer! It's starting to sound like C# is very compatible with server/client work. I'll start from there, and work my way up!

Also, thank you for the vote of confidence!
01/20/2010 06:17 taylor2846#8
that java thang can you still get the java source i want 2 see it iv not hard of using java to code a source befor wait yes i have i thank Qo uses part java in there source
01/20/2010 12:04 ~Yuki~#9
He knows nothing i bet..Quote: "i already have a strong background in c++" if that would be true u would also know i could do it in c++.
01/20/2010 14:45 Viscount S#10
Quote:
Originally Posted by taylor2846 View Post
that java thang can you still get the java source i want 2 see it iv not hard of using java to code a source befor wait yes i have i thank Qo uses part java in there source
[Only registered and activated users can see links. Click Here To Register...]

You'll need an svn client in order to check it out. From what I am aware of, the server is based on version 5017 of the client, and there has been no commitments to the repository in a while. The developers did not get far, but they were quite productive with the time they spent with it. It isn't as documented as well as I would have hoped, and relies on a few third-party libraries for certain features which are located in the lib folder of the repository. It may be a difficult source to comprehend if you aren't proficient with Java. As I said, development somewhat came to a halt.
01/20/2010 18:57 Basser#11
Quote:
Originally Posted by pro4never View Post
It depends how you want to store information.

You could use Sql databases, flatfile structure such as .ini/.txt/.dat files, save the information right in the source or a multitude of other options.

Most people use sql because it's super easy to use and organize but I've heard some arguments for different types.


As for creating a server, you can write one in any (serious) language. You will need a way to send/recieve data, organize users, authenticate logins, handle packets and all sorts of other lovely stuff. Basically look at an existing (good) source and see what it has in it...

Regardless of what language you write your source in, you will end up containing MUCH of the same features (again, you can improve them and change them around but you are still going to need a way to handle players logging in, authenticating, sending responses to client, dealing with packets, etcetcetc)

Good luck, look forward to seeing how your project goes.


*Note*: there was an open source java project for a while... so that's another thing you could take a look at for ideas.
You cannot write it in any serious language.
PHP is serious.
01/20/2010 19:45 Korvacs#12
Quote:
Originally Posted by Hepatitis X View Post
You cannot write it in any serious language.
PHP is serious.
A PHP server was attempted once, it worked to an extent. :)
01/20/2010 22:23 _tao4229_#13
Quote:
Originally Posted by Hepatitis X View Post
You cannot write it in any serious language.
PHP is serious.
You can write one in PHP, and PHP isn't a programming language -- it's scripting.
01/20/2010 23:19 InfamousNoone#14
As long as the language (scripting or programming) can be made to make a server as long it supports multi-threading and socket-programming.

Anyways, if your really asking this question (no offense) you have no serious "background" in C++, and I wouldn't recommend trying to write a server in C++ based upon this.
01/20/2010 23:44 N¡ghtMare ?? WooT#15
Quote:
Originally Posted by Daymor View Post
Thank you for the quick response. Can anyone tell me what I need to start looking at to make a server?

I can understand just about any C++ code put down here, but I haven't the slightest idea how to start moving towards editing a game, let alone interfacing with a server :confused:
The cryptographing,sockets what ever?