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.
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
 
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 Cuz programming is chinese for me :
 
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

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


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 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


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#