Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Perfect World Open Source Emulator

Angelemu founder
Joined
Mar 2, 2011
Messages
525
Reaction score
247
I already posted this in another thread, but its going to be spammed away soon, so i decided to make an entire new topic dedicated to the project.
tbnanubis said:
since the other threads about that topic are wayyy older than this one, i decided to post it here:
Me and another guy some of you may know started an open source Perfect World Emulator project.

We are still in a very early phase, but the login and encryption setup are basically working. Anyone can join and help. To get full commiting rights, you need to prove that you can provide useful stuff or good code to solve problems.

The project is free to read to anyone and created under GPL3 License.
The programming language is currently C# with .net4.0 under Windows to have a maximum developing speed. Maybe it can be made portable for Mono later, but the primary goal is to get it done before pwemu.com, who want no help but extreme license fees for their stuff.
A Webpage with forum for discussion will follow the next days.
Domain and forum will be sponsored by -link removed- .

The project development is hosted on google code:
At the moment we are 2 active developers. We are currently stuck on the mppc algorithm (compression, uncompression works fine), so we need to implement it proper, or disable the uncompressor in the client through some awsome hack. If that is done the real work starts which need a shitload of developers to get good progress.

This threads purpose is to inform interested programmers that someone actually started what others only talked about, and to answer basic questions about the project.

The homepage and forum is on , hosting by
 
Last edited:
Black Magic Development
Loyal Member
Joined
Apr 29, 2010
Messages
2,170
Reaction score
600
As I've stated in the other thread I'll gladly help IF I see that you're dedicated to it. I really don't want to put in a lot of effort just to see it go nowhere...

Best of luck to you for now though :thumbup:
 
Angelemu founder
Joined
Mar 2, 2011
Messages
525
Reaction score
247
lets say, we just found the offset where the client calls the decompressor and extracted pseudo code of it via hexrays, tomorrow we try to disable it on client or begin working on a proper compressor. Depends on if the first option fails.
if this works, we have something usable that i will install on a root as proof of concept for everyone to test out.
 
Nerd-IO
Loyal Member
Joined
Feb 13, 2009
Messages
3,303
Reaction score
651
I'm glad to help as tester :thumbup: Cuz programming is chinese for me :D:
 
Newbie Spellweaver
Joined
Nov 5, 2010
Messages
7
Reaction score
1
Do you develop it for Windows platforms? I think it's better to start develop for UNIX right now.

P.S. What conditions are required to join your team?
 
Last edited:
[B]aSH
Loyal Member
Joined
Apr 2, 2009
Messages
1,138
Reaction score
371
What are you using to read the packets that cant be retrieved from our current server files?
 
Newbie Spellweaver
Joined
Aug 20, 2008
Messages
18
Reaction score
3
Friends, developing an emulator in the IDE .NET is a dead end for all developers. Many make this mistake. In .NET can develop a module for extending the capabilities of existing modules server Gamdbd gamed glinkd. The task is not as radical as many believe, there are two ways - 1) Full emu server 2) Expansion of the server.

To develop the emu should consider options for using more productive than databases Mysql. The same should display the data files *. uploaded into a database table text.

To expand the existing server, you should find a "brilliant master assembler", or extend capabilities by writing extension modules. Such as writing converter package different versions, while some data out into a separate database.
 
Angelemu founder
Joined
Mar 2, 2011
Messages
525
Reaction score
247
What are you using to read the packets that cant be retrieved from our current server files?
We have a selfmade tool that works for sniffing ANY server. Its Version independent and you can specify the target server via start parameter:thumbup:

We develop for Windows, because the environment is easy to setup for anyone that wants to help. It is faster if you have tons of librarys to use.
The other thing is, that its going to be a FULL emulator. Trying to exchange parts of the working stuff is just stupid because you have:
1. double work because you need the internal server protocol/rpc supported.
2. the current server is outdated in almost every manner (gs, glink, gamedbd). authd may be the only thing that is still usable. But its that small that it doesnt really matter if you code it new or not.


We want stuff that is more easy to admin, like editing a character, making custom event scripts, import newer maps etc. The internal data storage will be made to use as many client files as possible. This will include at least tasks.data, elements.data and of course gshop.data.


To make it short: we dont want to rely on those damn binaries. They will be source of information for hard coded formulas etc, but thats all.

The conditions to join are very low in my opinion.
1. You have to prove to be able to provide something useful
1. You need to provide an easy way to be contacted, msn or icq prefered.
 
Last edited:
Black Magic Development
Loyal Member
Joined
Apr 29, 2010
Messages
2,170
Reaction score
600
Do you develop it for Windows platforms? I think it's better to start develop for UNIX right now.
Mono-Project, as long as you don't use something non-implemented in Mono it will run perfectly fine in Mono

Friends, developing an emulator in the IDE .NET is a dead end for all developers. Many make this mistake. In .NET can develop a module for extending the capabilities of existing modules server Gamdbd gamed glinkd. The task is not as radical as many believe, there are two ways - 1) Full emu server 2) Expansion of the server.

To develop the emu should consider options for using more productive than databases Mysql. The same should display the data files *. uploaded into a database table text.

To expand the existing server, you should find a "brilliant master assembler", or extend capabilities by writing extension modules. Such as writing converter package different versions, while some data out into a separate database.

There really isn't anything wrong with .NET, and .NET supports all the same things every other language out there supports, I do like using Java for network related things, but C# is just as good as Java for most things and has way better Windows support (thats why I decided to rewrite my PW Chat client in C#)

Don't blame the language used to create things, blame the developers if they are incompetent.

If they wanted to they could code it in , but what does it matter to you?
 
Angelemu founder
Joined
Mar 2, 2011
Messages
525
Reaction score
247
i personally like Ook! more
 
Newbie Spellweaver
Joined
Feb 5, 2011
Messages
54
Reaction score
0
Why "LOL WIN? AION JAVA was Made in Win. Not all developers like to work directly on Linux, can be done in Windows and then worked for Linux. The goal is to emulate.
 
Angelemu founder
Joined
Mar 2, 2011
Messages
525
Reaction score
247
Word.
Since the client is in Windows, it does make sense to develop in Windows because the most stuff needs direct testing.
 
Last edited:
Junior Spellweaver
Joined
Feb 9, 2009
Messages
167
Reaction score
83
Project: I know nothing about C#, so well good luck :D I do have part of the server-side protocols reverse engineered but if I got it right there is no interest for it.

Language: although running something in C# with mono is just like running a game with wine imho (aka fails), project is open source, nothing prevents anyone from making a python or java port of it. So if you're not happy just do it.
 
Black Magic Development
Loyal Member
Joined
Apr 29, 2010
Messages
2,170
Reaction score
600
Project: I know nothing about C#, so well good luck :D I do have part of the server-side protocols reverse engineered but if I got it right there is no interest for it.

Language: although running something in C# with mono is just like running a game with wine imho (aka fails), project is open source, nothing prevents anyone from making a python or java port of it. So if you're not happy just do it.


Wine is a reverse engineering of the Win32 API, a lot of things won't work obviously (but a lot do too so there is that...)

Mono is an implementation of .NET, mostly done with C# because it is entirely .NET and an ECMA standard. Novell has also pumped a crapload of money into Mono which has caused it to go way farther in a shorter amount of time then Wine. Eitherway, Mono is a very, very good project that implements .NET and there should be no issues with this being written in C#
 
Back
Top