Newbie Spellweaver
- Joined
- Oct 27, 2013
- Messages
- 57
- Reaction score
- 10
nana1206
Very nice, will try to create a old school Version 6 with these files.
Just need to find a visual studio 2003 installation...
Why not just upgrade it to a compiler from this decade lol.
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?
Thanks for cracking this and releasing it. Been looking forward to seeing these files for a long time.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.
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 thisYou must be registered to see links
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?
Yes, this did fix the issue.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.
Exception thrown: read access violation.
this->**m_pProg** was nullptr.
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.You must be registered to see links(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.
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?
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�̳��Դ�. ���������� ������ =
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.
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.
You must be registered to see links