Is this thing possible?

07/26/2013 00:02 *Sennheiser*#1
Hello members! I'm not really new in the Conquer private servers scene (been in the private servers scene for like, a year) and I wanna talk a bit about what I'm about to do. I'm currently, developing a server. It's not a custom server created from scratch by me (I've dragged a binary game server and started to work on that).

From what I've seen, people avoid using binary because there are a lot of public hacks for them, they cannot be upgraded to a newer version and you have no complete control over the server. But, if you take your time and actually re-create the entire database and manage to understand how things work, you can actually pull something nice. I've chosen the binary game server because it was easier to manage and it fitted my requirements (an older patch version which has the basic, default things done and working properly).

I plan to release it soon but I still have things to work at. Anyhow, because I've already reached the maximum things I can do with the "source", since everything it's managed by the database and you can't change any "core" features, I plan to create a custom source, in C# obviously because all the other available resources are written in this language and I kinda like the language and its syntax. I had no one to teach me "things" about the binary game server so I had to learn them myself. I just studied the entire database and did a lot of trial and error. I've read some C# tutorials but it seems like even if I learned the basics, I still can't understand... where I should start. Do you think that if I take a public source you people released here, something not big, a small but stable project and keep it as a reference, would actually teach me how to create my own project? Like getting a source and looking day and night into it until you understand how things work.

I ask you because I want to know if I'm wasting my time or not. Sure, I don't plan to stick with Conquer projects only, if I get a fair amount of knowledge, I'll aim for something bigger also or anything interesting whatsoever.

I'm gonna ask now if somebody here is willing to guide me, whenever and however he can. I have a lot of unanswered questions and it would be really nice if someone would answer them. Anyway, thanks a lot for reading and I hope I'll get some positive replies.
07/26/2013 00:14 pro4never#2
Paragraphs would help if you want people to read that block of text.

What I got from this is that

-You want to create a private server
-You are currently using binaries to design how you want your server to work
-You want to eventually write your own C# source
-You want someone to teach you how to write your own source


Am I somewhat correct?

I'd suggest you look at one of the many base sources in the pserver release section and use them to learn the basic conquer protocol and get more familiar with C# itself.

I recently posted a very basic 5065 source (same as tq binaries) written in C# that would make a half decent starting point but there's also 5017, 5165 and a few other base sources you could use to learn from.
07/26/2013 01:37 *Sennheiser*#3
Quote:
Originally Posted by pro4never View Post
Paragraphs would help if you want people to read that block of text.

What I got from this is that

-You want to create a private server
-You are currently using binaries to design how you want your server to work
-You want to eventually write your own C# source
-You want someone to teach you how to write your own source


Am I somewhat correct?

I'd suggest you look at one of the many base sources in the pserver release section and use them to learn the basic conquer protocol and get more familiar with C# itself.

I recently posted a very basic 5065 source (same as tq binaries) written in C# that would make a half decent starting point but there's also 5017, 5165 and a few other base sources you could use to learn from.
Indeed. Yes, I eventually want write my own source using the database I already have. I think that TQ did a great job with the database because it handles a lot of things and you can modify and create new MySQL scripts very easy.

I don't want someone to teach me how to write my own source, I'll handle that. I just need someone to answer my questions from time to time because I know I'll get stuck if I decide to write my source. I took a briefly look at some sources and I find it hard to understand the "start point" and the "end point" - meaning that I have no idea what to write first, what should I take care of first. Sure, it all comes to loggin in/out, creating the very basic connection but still, I don't understand how.

So, you say that if I get your source that's pretty much the same as the binaries, and I study what's in it I might be able to write my own?
07/26/2013 02:34 pro4never#4
Studying any basic source is a good place to start. It will give you an idea of how things CAN work.

I and others have also posted full tutorials on how to start writing your own custom source once you get to that level and so yes, there are lots of public resources on the topic.

Tq handles quite a few things from their database well. Although it might not be the most efficient possible route, it's definitely very customization so it's far from a bad route to go down if you want to maintain the same database across binaries and your own custom source.


Personally I'm using their database to handle maps, portals, skills and item types and monster types. Only thing I'm not using it for is their action and npc system because I prefer to write my own.
07/26/2013 02:42 *Sennheiser*#5
Quote:
Originally Posted by pro4never View Post
Studying any basic source is a good place to start. It will give you an idea of how things CAN work.

I and others have also posted full tutorials on how to start writing your own custom source once you get to that level and so yes, there are lots of public resources on the topic.

Tq handles quite a few things from their database well. Although it might not be the most efficient possible route, it's definitely very customization so it's far from a bad route to go down if you want to maintain the same database across binaries and your own custom source.


Personally I'm using their database to handle maps, portals, skills and item types and monster types. Only thing I'm not using it for is their action and npc system because I prefer to write my own.
Yes, they actually have a nice way to handle things, by far not the best but it's a nice way and it handles things pretty neat. Okay then, I'll start and look into your Redux source (I guess that's the one you recommended me). Hopefully, I'll understand how things CAN work and start writing my own custom source.
07/27/2013 00:43 kill_acvc#6
*Sennheiser*, pro4never used to have a great guide on making private servers from scratch.. let's see if I can find that for you.. found it(It was bookmarked lol).

There you go : [Only registered and activated users can see links. Click Here To Register...]

Happy coding. Before I go, when you create your first source and login for the first time.. You'll want to implement stuff like jumping and walking.. BE WARNED! These packets are very easy to handle/ implement but don't be so naive( Like, you just have to read them to figure out where the char will be and send them back-- and also check those coordinates against a map database to see if the coordinates are valid :D, if you want), sometimes the client sends 2 packets (or even 3 I think) melded and you have to split them.. if you don't, you'll find out that you'll occasionaly disconnect for no reason =P. Took me days to figure out what I should do.. and I just did because I peeked other source's code. Anyways, it's going to be very fun(and frustrating) and you'll be proud of the final result. Good luck coding your own server =P.
07/27/2013 02:10 *Sennheiser*#7
Quote:
Originally Posted by kill_acvc View Post
*Sennheiser*, pro4never used to have a great guide on making private servers from scratch.. let's see if I can find that for you.. found it(It was bookmarked lol).

There you go : [Only registered and activated users can see links. Click Here To Register...]

Happy coding. Before I go, when you create your first source and login for the first time.. You'll want to implement stuff like jumping and walking.. BE WARNED! These packets are very easy to handle/ implement but don't be so naive( Like, you just have to read them to figure out where the char will be and send them back-- and also check those coordinates against a map database to see if the coordinates are valid :D, if you want), sometimes the client sends 2 packets (or even 3 I think) melded and you have to split them.. if you don't, you'll find out that you'll occasionaly disconnect for no reason =P. Took me days to figure out what I should do.. and I just did because I peeked other source's code. Anyways, it's going to be very fun(and frustrating) and you'll be proud of the final result. Good luck coding your own server =P.
Thank you for showing interest mate. I already searched and found his guide. For sure, everything goes back to creating the login sequence first. Anyway, thanks for this hints you gave me, they help me a lot! It doesn't make any much sense to me right now but with time I'm sure I'll remember what you said and keep it in my when I'll start to actually write something in the source.
07/27/2013 12:06 Super Aids#8
Uhmmm my tutorials.
[Only registered and activated users can see links. Click Here To Register...]
07/28/2013 02:55 kill_acvc#9
By the way, I don't know if that will help you but I remember I decided to start coding a server in C++ but I got tired of coding conquer servers and gave up.. It's on a very early stage, see if that helps you :

[Only registered and activated users can see links. Click Here To Register...]

Good luck!
07/30/2013 08:59 Super Aids#10
Managed C++... Eww
07/30/2013 16:07 kill_acvc#11
Quote:
Originally Posted by Super Aids View Post
Managed C++... Eww
If I were to code in unmanaged C++ I'd use C instead because it's much faster to both compile and run. Actually, C++ is very impractical because it's managed version is hard to use when compared to C# and equal in terms of efficiency(But still takes longer to compile). C# and C are just much better.
07/31/2013 00:06 *Sennheiser*#12
Quote:
Originally Posted by Super Aids View Post
Uhmmm my tutorials.
[Only registered and activated users can see links. Click Here To Register...]
Quote:
Originally Posted by kill_acvc View Post
By the way, I don't know if that will help you but I remember I decided to start coding a server in C++ but I got tired of coding conquer servers and gave up.. It's on a very early stage, see if that helps you :

[Only registered and activated users can see links. Click Here To Register...]

Good luck!
Thanks, both of you!
07/31/2013 14:45 Super Aids#13
Quote:
Originally Posted by kill_acvc View Post
If I were to code in unmanaged C++ I'd use C instead because it's much faster to both compile and run. Actually, C++ is very impractical because it's managed version is hard to use when compared to C# and equal in terms of efficiency(But still takes longer to compile). C# and C are just much better.
[Only registered and activated users can see links. Click Here To Register...]
07/31/2013 17:58 kill_acvc#14
Quote:
Originally Posted by Super Aids View Post
[Only registered and activated users can see links. Click Here To Register...]

[Only registered and activated users can see links. Click Here To Register...]
08/02/2013 20:22 Super Aids#15
I'm glad you can see how retarded your post was.