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!

V5/V6 2005 Source

Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
Hi everyone, stumbled upon this 7z archive a while back, was released a long time ago but no one knew the password and as far as i can tell, if anyone ever did figure it out, it wasn't publicly released. So out of curiosity and some significant computing power, I brute forced the password. No idea if this compiles or not, you're on your own there, not even sure if theres any interest in something this old since v15 is public now, but good for educational use atleast :laugh: Feel free to mirror the file, i don't think theres many surviving copies left.

Pass is:
Code:
nana1206





Originally learned of this source / the effort to crack it open from: Linky
 
Last edited:
Newbie Spellweaver
Joined
Nov 7, 2009
Messages
15
Reaction score
8
Very nice, will try to create a old school Version 6 with these files.
Just need to find a visual studio 2003 installation...
 
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
Why not just upgrade it to a compiler from this decade lol.

Indeed, especially considering this doesn't contain anything that's directly usable with vs2003 anyway, all the projects are still vc6. Would highly recommend anyone seriously considering the use of these to upgrade them to a modern compiler first
 
Elite Diviner
Joined
Aug 15, 2008
Messages
489
Reaction score
43
This is great, now only if I knew how to upgrade this to use VS2017. I attempted to take the v17 converted to VS2017 as comparison, but as a person who doesn't know much about these things I didn't make much progress and even if I did, I am not capable of realizing if I'm getting anywhere.

Has anyone unlike me, who actually knows about this stuff started upgrading this to use VS17? I'm interested in playing and possibly even hosting a server with this source.

EDIT: Would newer account server, etc work with the world server provided with these files?
 
Last edited:
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
This is great, now only if I knew how to upgrade this to use VS2017. I attempted to take the v17 converted to VS2017 as comparison, but as a person who doesn't know much about these things I didn't make much progress and even if I did, I am not capable of realizing if I'm getting anywhere.

Has anyone unlike me, who actually knows about this stuff started upgrading this to use VS17? I'm interested in playing and possibly even hosting a server with this source.

EDIT: Would newer account server, etc work with the world server provided with these files?

I haven't attempted to port this to a newer visual studio as of yet, it shouldn't be much more difficult then porting v15 to newer versions though i would assume. My suggestion would be upgrade to vs2003 (since this is all vc6 still) using the v15 source as reference for anything that needs fixing for vs2003 to work, and then go from there to a modern version of VS, using a vs17 source as reference if needed. Going straight there from the vc6 files, while possible, probably wouldn't be very fun, as theres a fair amount of small things that need to be adjusted just to get vs2003 to compile it.

As far as anyone hosting / playing a server with this, I don't believe anyone has as of yet, I've had longer then anyone else to poke at these (since I was the one who cracked the password) and I will say that the client atleast works, with some fixing as the file and script structure / layout it expects doesn't quite match up with any released client as far as i can tell. There is also a fun "offline" mode in the client configurations that allow the majority of the game to be run and played without the servers at all.

As to whether a newer account server, etc, would work, i would say likely not, i would imagine the packets, even just for login, have changed enough that you wouldn't get very far. Best / easiest option would be fixing and using the ones in this archive rather then trying to make it work with half new stuff.
 
Elite Diviner
Joined
Aug 15, 2008
Messages
489
Reaction score
43
I haven't attempted to port this to a newer visual studio as of yet, it shouldn't be much more difficult then porting v15 to newer versions though i would assume. My suggestion would be upgrade to vs2003 (since this is all vc6 still) using the v15 source as reference for anything that needs fixing for vs2003 to work, and then go from there to a modern version of VS, using a vs17 source as reference if needed. Going straight there from the vc6 files, while possible, probably wouldn't be very fun, as theres a fair amount of small things that need to be adjusted just to get vs2003 to compile it.

As far as anyone hosting / playing a server with this, I don't believe anyone has as of yet, I've had longer then anyone else to poke at these (since I was the one who cracked the password) and I will say that the client atleast works, with some fixing as the file and script structure / layout it expects doesn't quite match up with any released client as far as i can tell. There is also a fun "offline" mode in the client configurations that allow the majority of the game to be run and played without the servers at all.

As to whether a newer account server, etc, would work, i would say likely not, i would imagine the packets, even just for login, have changed enough that you wouldn't get very far. Best / easiest option would be fixing and using the ones in this archive rather then trying to make it work with half new stuff.
Thanks for cracking this and releasing it. Been looking forward to seeing these files for a long time.

I'll try downloading the VS2003 and upgrading these files to that. I managed to get the account server to compile with VS2017, but it took way more effort than I thought it would. I have background in web development, so this isn't exactly what I'm used to do.
 
Last edited:
Elite Diviner
Joined
Aug 15, 2008
Messages
489
Reaction score
43
Managed to get everything else to compile with VS2017 except World Server and Neuz. Also, I figured that this source is most likely v5 due to the fact that there are no /partyinvite or /guildinvite commands which were introduced in v6. It still has Acrobat though, which was introduced in v5.

At the moment though, I can launch the Account Server just fine, but Database Server crashes on startup. The error.txt file is created with this

I am using the resource files found from this http://forum.ragezone.com/f457/flyff-version-5-offi-serverfiles-1127632/

Since they both should be v5, I thought that resource would work just fine. Any clues?
 
Newbie Spellweaver
Joined
Oct 27, 2013
Messages
57
Reaction score
10
Managed to get everything else to compile with VS2017 except World Server and Neuz. Also, I figured that this source is most likely v5 due to the fact that there are no /partyinvite or /guildinvite commands which were introduced in v6. It still has Acrobat though, which was introduced in v5.

At the moment though, I can launch the Account Server just fine, but Database Server crashes on startup. The error.txt file is created with this

I am using the resource files found from this http://forum.ragezone.com/f457/flyff-version-5-offi-serverfiles-1127632/

Since they both should be v5, I thought that resource would work just fine. Any clues?

File structure doesn't quite match up with any releases that i've found, although that one is the closest. For the errors your seeing regarding propitem.txt, assuming it is the same issue i faced, is because the files have one more column then the source expects. This can be worked around in ProjectCmn.cpp, LoadPropItem() by adding an additional scanner.GetToken( ); between the setting of dwActiveSkill and dwActiveSkillRate in order to skip over the dwactiveskillLv column in the file that this source doesn't use. That is assuming that is what the issue is, failing that i would suggest using the visual studio debugger and step threw the LoadPropItem function line by line to see where its going wrong and failing to match up with the file's structure.

Definitely version 5 though, just somewhere pre-release, a beta or alpha perhaps. We are missing SOME v5 features, but nothing major, for example v5 added the 5min teleport to town action as well as the cheer action, but the cheer system is entirely missing here, even though the teleport to town isn't. We know this source originated from one particular developer, its possible that these missing features were being worked on by someone else and weren't in the branch he was working on, explaining them being completely missing rather then just not finished.
 
Elite Diviner
Joined
Aug 15, 2008
Messages
489
Reaction score
43
File structure doesn't quite match up with any releases that i've found, although that one is the closest. For the errors your seeing regarding propitem.txt, assuming it is the same issue i faced, is because the files have one more column then the source expects. This can be worked around in ProjectCmn.cpp, LoadPropItem() by adding an additional scanner.GetToken( ); between the setting of dwActiveSkill and dwActiveSkillRate in order to skip over the dwactiveskillLv column in the file that this source doesn't use. That is assuming that is what the issue is, failing that i would suggest using the visual studio debugger and step threw the LoadPropItem function line by line to see where its going wrong and failing to match up with the file's structure.

Definitely version 5 though, just somewhere pre-release, a beta or alpha perhaps. We are missing SOME v5 features, but nothing major, for example v5 added the 5min teleport to town action as well as the cheer action, but the cheer system is entirely missing here, even though the teleport to town isn't. We know this source originated from one particular developer, its possible that these missing features were being worked on by someone else and weren't in the branch he was working on, explaining them being completely missing rather then just not finished.
Yes, this did fix the issue.

I've got the server up and running, although with some stupid fixes and probably will crash at some point when actually logging into the game.

However, I'm having an issue with the Neuz. Whenever I launch it, it gives me
> Neuz.exe!CScanner::GetToken(int bComma) Line 605 C++
Code:
Exception thrown: read access violation.
this->**m_pProg** was nullptr.


Since this is a Scanner issue, I guess there is an issue with reading specific file again, but I'm not sure what file?

EDIT: Figured out it was GameGuard.inc after tracing all LoadScripts.
 
Last edited:
Newbie Spellweaver
Joined
Apr 24, 2014
Messages
28
Reaction score
8
Did you manage to get all these files to compile and run ?
Under vs 2003 I got every project to compile except Neuz, Account Server and World Server.

As for Neuz, you can see it has both dependencies on dxerr.h and dxerr9.h which suggets it is using the direct X SDK with a 2005 version. It still requires the Pass() function which was later changed to BeginPass() iirc. Which Direct X SDK have you guys been using ? Lots of ambiguity on = operator between a CString and a UINT, std::vector iterators to LPCSTR...

Account Server on the other hand just makes the vs 2003 C++ compiler crash on the template definition for CDPSock<T>::::EventWorkerThread( void ).

Finally, World Server cannot compile because of a LPDIRECTXFILEDATA definition that is nowhere to be found on the Direct X SDK (I've used April 2005 and Dec 2009, to no avail).

I've been at this for quite a good day, with the aim of cleaning up the code and moving it to vs 2022 and also have a clean base for future emulation project or simply for backporting v15 stuff (not touching the v5 core).

I've already got the v5 binaries released elsewhere running fine, under the official 2006 client. I would guess this source code would work with the 2005 USA setup client binaries, maybe with some tweakings there and there.
 
Newbie Spellweaver
Joined
Sep 8, 2011
Messages
67
Reaction score
252
Did you manage to get all these files to compile and run ?
As for Neuz, you can see it has both dependencies on dxerr.h and dxerr9.h which suggets it is using the direct X SDK with a 2005 version. It still requires the Pass() function which was later changed to BeginPass() iirc. Which Direct X SDK have you guys been using ? Lots of ambiguity on = operator between a CString and a UINT, std::vector iterators to LPCSTR...

Account Server on the other hand just makes the vs 2003 C++ compiler crash on the template definition for CDPSock<T>::::EventWorkerThread( void ).

Finally, World Server cannot compile because of a LPDIRECTXFILEDATA definition that is nowhere to be found on the Direct X SDK (I've used April 2005 and Dec 2009, to no avail).

I've been at this for quite a good day, with the aim of cleaning up the code and moving it to vs 2022 and also have a clean base for future emulation project or simply for backporting v15 stuff (not touching the v5 core).

I've already got the v5 binaries released elsewhere running fine, under the official 2006 client. I would guess this source code would work with the 2005 USA setup client binaries, maybe with some tweakings there and there.

Overall: wouldn't it be more smart just to do something with v15 and downgrade towards the v5/v6. Any system could just be reprogrammed from scratch as well. Also, why emulate when source is there already? Could just optimize entire source and rewrite it. Otherwise, sure, you can rewrite servers in another language.

Flyff originally used dx9.0b in v15 release. Maybe this is 9.0a, if you're finding stuff not included in the 9.0b sdk. (LPD3DXFILEDATA) also looks like in future versions they changed the name.

Are you compiling with vs2003 sp1 as well? FlyFF does require sp1 on vs2003. Otherwise, upgrading to C++14 or above on vs2022 would work and would be pretty quick.
 
Newbie Spellweaver
Joined
Apr 24, 2014
Messages
28
Reaction score
8
Overall: wouldn't it be more smart just to do something with v15 and downgrade towards the v5/v6. Any system could just be reprogrammed from scratch as well. Also, why emulate when source is there already? Could just optimize entire source and rewrite it. Otherwise, sure, you can rewrite servers in another language.

Flyff originally used dx9.0b in v15 release. Maybe this is 9.0a, if you're finding stuff not included in the 9.0b sdk. (LPD3DXFILEDATA) also looks like in future versions they changed the name.

Are you compiling with vs2003 sp1 as well? FlyFF does require sp1 on vs2003. Otherwise, upgrading to C++14 or above on vs2022 would work and would be pretty quick.

Just for the heck of it, I would love to reimplement a v5 server, be it in C++ or another language, with such a reference it would be quite easy (but as any project, would take an incredible amount of time).

I've managed to compile everything besides Neuz and World Server, thanks to VC++ 6 (lol) it ended up being more easy than I thought. Some includes to fix and some preprocessor definitions to add here and there, but so far so good.

As for direct X issues, I still have yet to find which version would make neuz compile. At the time these files must have leaked, the direct X SDK they used should be around 2005.

And yes, maybe going from v15 to v5 would be easier, but if you can have the source material as a reference, it just makes everything else really easy.
 
Newbie Spellweaver
Joined
Apr 24, 2014
Messages
28
Reaction score
8
I've finally managed to get everything to compile under windows 10, using VC++ 6 compiler though, so I could first leave things untouched because porting it over a more recent version of visual studio and windows SDK. In the end, I almost didn't need to touch anything in the sources to reach this point.

Server is running fine now, but I'm having some issues with loading scripts, which now should now be easy to debug :)
 
Inactive
Joined
Jan 20, 2009
Messages
1,015
Reaction score
1,830
I've finally managed to get everything to compile under windows 10, using VC++ 6 compiler though, so I could first leave things untouched because porting it over a more recent version of visual studio and windows SDK. In the end, I almost didn't need to touch anything in the sources to reach this point.

Server is running fine now, but I'm having some issues with loading scripts, which now should now be easy to debug :)

Sounds like great progress!
Perhaps you may want to share?
 
Newbie Spellweaver
Joined
Apr 24, 2014
Messages
28
Reaction score
8
Sounds like great progress!
Perhaps you may want to share?

I'll make a new topic once I get everything to run fine, but it might take a while.
I can already share if you want, unlike many selfish people in this community I appreciate people sharing stuff like on this thread, or the huge amount of work that you put in the v15 source (actually helped me quite a lot getting this to compile).



I've been trying to use the FlyFF USA 051103 client (installed through the official setup), to no avail so far.
The client crashes with the following output :
2022/ 8/13 18:38:58propItem.txt �дٰ� ID�� 0�̳��Դ�. ���������� ������ ÑÑøÇ

2022/ 8/13 18:39:03propItem.txt �дٰ� ID�� 0�̳��Դ�. ���������� ������ 1

2022/ 8/13 18:39:09propItem.txt �дٰ� ID�� -1�̳��Դ�. ���������� ������ =

After some debugging it appears it's crashing when parsing propItem.txt, precisely when itemProp.dwID ends up being set to -1 in CProject::LoadPropItem after iterating for a while through other entries on the while() loop.

If people above (although it's been some years) have a proper client to point me too, I'd be glad to take the info. I've also tried the v6 client but those raise AFX error boxes way before, suggesting it's maybe even more less suited.
 
Inactive
Joined
Jan 20, 2009
Messages
1,015
Reaction score
1,830
I'll make a new topic once I get everything to run fine, but it might take a while.
I can already share if you want, unlike many selfish people in this community I appreciate people sharing stuff like on this thread, or the huge amount of work that you put in the v15 source (actually helped me quite a lot getting this to compile).



I've been trying to use the FlyFF USA 051103 client (installed through the official setup), to no avail so far.
The client crashes with the following output :


After some debugging it appears it's crashing when parsing propItem.txt, precisely when itemProp.dwID ends up being set to -1 in CProject::LoadPropItem after iterating for a while through other entries on the while() loop.

If people above (although it's been some years) have a proper client to point me too, I'd be glad to take the info. I've also tried the v6 client but those raise AFX error boxes way before, suggesting it's maybe even more less suited.

Send me a pm with everything you got and your discord to i'll see what i can do to help :wink:
 
Newbie Spellweaver
Joined
Apr 24, 2014
Messages
28
Reaction score
8
Here are the binaries from this supposedly v5 sources for anyone interested. Actually, I'm hoping someone with more knowledge on the client side could get those to run and share. I'm planning on making a tutorial on how to compile and use these files once everything is running smoothly. So far, I've managed to get the server up and running, just can't connect yet.

Before working with these binaries, I'd strongly advise starting from the v5 binary release that is found here and get it to run : https://forum.ragezone.com/f457/flyff-version-5-offi-serverfiles-1127632/

The source I compiled is in fact older than the binaries found in that thread. Currently I managed to get the server running, but I cannot get past the Certifier (on login, it's the first step. I see I get SYN ACK but nothing ever responds back to the client) by just using the v5 client found in that thread.
I've found through debugging that to get world server.exe to boot, you'll have to rework mdlObj.inc and mdlDyna.inc in your server's resource folder because these have an additional column (the last one) that the world server does not expect. Once that is fixed, world server.exe will boot and stay up.

The v15 database should work with my binaries, except the character database. I've included a new SQL file to generate the character database, based on the v5 binaries release we've seen in that other topic, but I've fixed the old and crappy tsql syntax for left outer joins so that it can work without changing compatibility level or anything (I can use these v5 binaries found in the other thread without issues by the way, even killed some Catchers and captured them).

I didn't manage to get Neuz.exe to work yet for the same reason as I couldn't start world server.exe at first : it excepts more lines in at least propItem.txt and propSkills.txt than the source code expects. By debugging it is very easy to fix though, and then just repack new .res (I've not included the binary for MergeMaster found in these sources, but I can do if asked), Neuz.exe should boot.

This could all be easily "fixed" (actually I don't think there is any issue with the source code) if someone could point us to a good client to use with these files, which are effectively quite old, looking at it it doesn't seem Acrobats were fully implemented yet.

Finally, to get these to compile, I managed to keep the source almost untouched. I just updated some usage of the DX API, added missing language constants, and added a missing preprocessor definition. It seems to run for now, so if the source was leading to a working state back then, surely it is now.

Download the binaries here :
 
Last edited:
Newbie Spellweaver
Joined
Apr 24, 2014
Messages
28
Reaction score
8
UPDATE !

I've managed to get the Neuz.exe to work with the 20051103 USA client, and the server is up.
Had to get rid of Gameguard, rework mdlObj.inc and mdlDyna.inc, update certifier server address, and that was basically it.
Unfortunately, upon creating a character (or retrieving a character list), the database server crashes, probably because the database structure isn't suited. Also, character creation seems a bit broken (character stuck in T-pose using 20051103 client) and it's not possible to change the character hair color. I'm guessing this is due to a client incompatibility issue.

Without a proper client from which to work on this sources, unfortunately I don't see the point of continuing this, so unless someone has a good client to share, this is as far as I'm willing to go. I can fix the database, but the client would still be broken.

For what it's worth, I'll share the latest binaries I've been using (they are compiled in debug) in case someone feels like working with these without compiling them.
The MSG_VER sent by the client is 20041109, so keep in mind to update your server .ini files.
Also, passwords are not hashed, and thus there is no salt, you'll have to store them in clear in your database when working with these files, I didn't bother enabling password salt + hashing with md5 as usually expected.

 
Elite Diviner
Joined
Aug 15, 2008
Messages
489
Reaction score
43
UPDATE !

I've managed to get the Neuz.exe to work with the 20051103 USA client, and the server is up.
Had to get rid of Gameguard, rework mdlObj.inc and mdlDyna.inc, update certifier server address, and that was basically it.
Unfortunately, upon creating a character (or retrieving a character list), the database server crashes, probably because the database structure isn't suited. Also, character creation seems a bit broken (character stuck in T-pose using 20051103 client) and it's not possible to change the character hair color. I'm guessing this is due to a client incompatibility issue.

Without a proper client from which to work on this sources, unfortunately I don't see the point of continuing this, so unless someone has a good client to share, this is as far as I'm willing to go. I can fix the database, but the client would still be broken.

For what it's worth, I'll share the latest binaries I've been using (they are compiled in debug) in case someone feels like working with these without compiling them.
The MSG_VER sent by the client is 20041109, so keep in mind to update your server .ini files.
Also, passwords are not hashed, and thus there is no salt, you'll have to store them in clear in your database when working with these files, I didn't bother enabling password salt + hashing with md5 as usually expected.


Been hoping someone would get these files fully working eventually. I attempted this roughly 4 years ago by porting it first to VS17. I got to the point where I could create a character, but couldn't get to the world. The character was also T-Posing in my attempt, but HaXXoR75 suggested a fix here https://forum.ragezone.com/f651/v5-source-not-able-to-1153863/#post8904794

The conclusion we came into when debugging everything was also the same you've figured out. The database strucure is invalid. This is the point where I entirely gave up. Would be fun to pick this project back up at some point, but I'm not sure I still have the files where I left off so I'd have to start all over.

Keep us posted if you make progress.
 
Back
Top