Register for your free account! | Forgot your password?

You last visited: Today at 17:58

  • Please register to post and access all features, it's quick, easy and FREE!

 

Chimera Open Source, Patch 5615

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6,497
Received Thanks: 3,157
Chimera Open Source, Patch 5615

Notice: This is a pre-release and is not a stable server. Do not use this server with the expectation of starting a private server. I will continue to improve the server, but this is simply for feedback and learning purposes.

New: Just a heads up for people reading the source, I'm planning to replace a large amount of code / restructure packages / clean up quite a bit. If you're using this as a template to start a server from a clean base, I recommend holding off until I release the new version.


Introduction
Chimera is an open source distributed systems project, targeted at the Conquer Online game client at patch 5615. Use of this project with the game client is purely academic, and cannot be used legally for profit or public server operation. It's authored in Go for the purpose of multi-processor computation of mass network traffic from connected game clients. It achieves this by design and implementation: both in architecture of the server mesh, and implementation of the mesh through routines, channels, and remote procedure calls.

Server Architecture
Chimera is separated by three server roles: the account server, game server, and map servers. The account server acts as gatekeeper for verifying and authenticating clients for the game and map servers. The map servers individually control a region or zone of the game, and mesh to form the entirety of the game world. Map servers are given their region on startup, but allow transfer of roles between map servers for rebalancing in real time (not yet implemented at this phase). Finally, the game server acts as a glue for the map servers, giving the world of Conquer Online a backbone that connects the zones of the world together and routes players between the zones.

Conclusion
I'll be updating this thread as I continue releasing new versions. If you have questions, please don't hesitate to ask or make conversation. If you're interested in my private version's development (which mirrors this one currently), you can find updates using the link below. Thanks again for your interest and support.

You must register and activate your account in order to view images.

Answered Questions
Q: Is there a C# version?
A: No. The project is written in Go.

Q: How do I set up the server?
A: Instructions are in the readme.
Attached Files
File Type: zip chimera-0.1.0.zip (15.6 KB, 69 views)



Spirited is offline  
Thanks
6 Users
Old   #2
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
There pushed Version C# ?


Hacker. is offline  
Old   #3
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,196
Received Thanks: 5,305
Quote:
Originally Posted by Hacker. View Post
There pushed Version C# ?
Its written in the go programming language, not C#.
pro4never is offline  
Thanks
4 Users
Old   #4
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Quote:
Originally Posted by pro4never View Post
Its written in the go programming language, not C#.
I know that, but language C# best


Hacker. is offline  
Old   #5
 
elite*gold: 0
Join Date: Mar 2017
Posts: 2
Received Thanks: 0
Epic. Always awesome to see sources in a different language than C#.
LupusOverflo is offline  
Old   #6
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,196
Received Thanks: 5,305
Quote:
Originally Posted by Hacker. View Post
I know that, but language C# best
There is no such thing as a best languages. Different languages have diff strengths and weaknesses.

C# is a great multi purpose language but is more of a hack of all trades thing vs excelling in any particular area
pro4never is offline  
Thanks
2 Users
Old   #7
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6,497
Received Thanks: 3,157
That's right, and the purpose of Go is writing maintainable distributed systems. It excels in networking and parallelism. That was what ultimately led me to choose the language.
Spirited is offline  
Thanks
1 User
Old   #8
 
elite*gold: 0
Join Date: Jun 2010
Posts: 271
Received Thanks: 24
Great Job.
killermale123 is offline  
Thanks
1 User
Old   #9
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6,497
Received Thanks: 3,157
Quote:
Originally Posted by killermale123 View Post
Great Job.
Thank you, sir.
Spirited is offline  
Old   #10
 
elite*gold: 0
Join Date: Dec 2012
Posts: 1,546
Received Thanks: 799
Quote:
Originally Posted by Hacker. View Post
I know that, but language C# best
If it's the best, can it do this without ****** reflection performance issues?

You must register and activate your account in order to view images.

The answer is nope, because there is no compile-time. Which is probably the first step towards a good language, until then it's just mediocre at best.

So what's the advantage of that?

Settings values of one object to another where members match. The code is generated at compile-time and thus it would operate as if X.x = Y.x; was written manually.

As long as you can't do stuff like that in C# then it's not really a language to clap your hands for.

That's just one example of a language (The D language) that does things much better than C# in some areas.

Other languages that mostly beat it too are Rust, Nim and so on, most of all those new languages.

C# is pretty irrelevant in this time and age. Really it is. It's only worth knowing for jobs.
Super Aids is offline  
Thanks
1 User
Old   #11
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6,497
Received Thanks: 3,157
Quote:
Originally Posted by Super Aids View Post
If it's the best, can it do this without ****** reflection performance issues?

You must register and activate your account in order to view images.

The answer is nope, because there is no compile-time. Which is probably the first step towards a good language, until then it's just mediocre at best.

So what's the advantage of that?

Settings values of one object to another where members match. The code is generated at compile-time and thus it would operate as if X.x = Y.x; was written manually.

As long as you can't do stuff like that in C# then it's not really a language to clap your hands for.

That's just one example of a language (The D language) that does things much better than C# in some areas.

Other languages that mostly beat it too are Rust, Nim and so on, most of all those new languages.

C# is pretty irrelevant in this time and age. Really it is. It's only worth knowing for jobs.
In Go, you just use anonymous structures and equate the structs.
Example:
Using C# is like dragging your dead grandmother up the street.
Spirited is offline  
Old   #12
 
elite*gold: 21
Join Date: Jul 2005
Posts: 9,196
Received Thanks: 5,305
Quote:
Originally Posted by Super Aids View Post
C# is pretty irrelevant in this time and age. Really it is. It's only worth knowing for jobs.
That in and of itself makes it relevant.

If you're learning a language with the goal of getting a job, C# is a great option because there's a million uses of the language with a ton of companies hiring. There's always better options but until the point when they have such huge market saturation and versatility, there's less reason for learning them in a general job seeking education sense.

Maybe I'm sheltered in the communities I browse but the number of job postings I've seen for C# related programming jobs in the last few years has skyrocketed.
pro4never is offline  
Old   #13
 
elite*gold: 0
Join Date: Dec 2012
Posts: 59
Received Thanks: 6
Quote:
Originally Posted by Super Aids View Post
If it's the best, can it do this without ****** reflection performance issues?

You must register and activate your account in order to view images.

The answer is nope, because there is no compile-time. Which is probably the first step towards a good language, until then it's just mediocre at best.

So what's the advantage of that?

Settings values of one object to another where members match. The code is generated at compile-time and thus it would operate as if X.x = Y.x; was written manually.

As long as you can't do stuff like that in C# then it's not really a language to clap your hands for.

That's just one example of a language (The D language) that does things much better than C# in some areas.

Other languages that mostly beat it too are Rust, Nim and so on, most of all those new languages.

C# is pretty irrelevant in this time and age. Really it is. It's only worth knowing for jobs.
Are you better off than C++ does not print, but the ease in handling is C#
Hacker. is offline  
Old   #14
 
elite*gold: 0
Join Date: Jul 2014
Posts: 402
Received Thanks: 533
Quote:
Originally Posted by Super Aids View Post
If it's the best, can it do this without ****** reflection performance issues?

The answer is nope, because there is no compile-time. Which is probably the first step towards a good language, until then it's just mediocre at best.

...

As long as you can't do stuff like that in C# then it's not really a language to clap your hands for.


Quote:
Originally Posted by Hacker. View Post
Are you better off than C++ does not print, but the ease in handling is C#
Please stop ******* posting.
Best Coder 2014 is offline  
Thanks
1 User
Old   #15
 
elite*gold: 0
Join Date: Jul 2011
Posts: 6,497
Received Thanks: 3,157
Quote:
Originally Posted by Money | Specials View Post
What is your specific goal with this release?
Are you trying to get people interested in other programming langues besides c#?
Are you just expanding your own knowledge and sharing it with the public?
As you stated out this source is far from complete, will there ever be a fairly complete stable public version or are you not certain about that yet?
The goal of a pre-release is to gain early feedback. For example, I already received feedback about the "Title" offset in the MsgUserInfo packet being wrong and I was able to fix that. I spoke to a discord group about the binary encoder/decoder for packets and what I'll replace it with. It's generally just good for the community to gain exposure with other programming languages and fun knowing what people are working on. We don't all work on the same patches or with the same languages, and we don't all have the same backgrounds. So, I have some gain in making this public and so does the community in a way. And yes, I hope to improve this over time.

PS: I'll ask whatever discussion is going on above this to stop. It's giving me a tumor.


Spirited is offline  
Reply



« Previous Thread | Next Thread »

Similar Threads
[Open Source]ServerManager (Open Server files is Closed)
Hello Since a guy called "nevetS" Afraid of sharing he's source code i decided to write a similar program with better features first of all flame...
10 Replies - SRO PServer Guides & Releases
[Open-Source][C#] EloBuddy, open source League of Legends Bot
-- Snipped --
8 Replies - League of Legends Hacks, Bots, Cheats & Exploits



All times are GMT +1. The time now is 17:58.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.