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!

anyone manage to compile the blood harvest 260 server source?

Experienced Elementalist
Joined
Nov 1, 2015
Messages
280
Reaction score
174
in wnet rpcgen succeeds, common succeeds, io succeeds, backdbd succeeds, gamedbd succeeds, everything else fails with errors in .cpp and .o files
 
Joined
Mar 11, 2007
Messages
902
Reaction score
1,240
I've been messing with it the past couple days some, since I've had a few moments to do so. I've been having some issues with linking;

Code:
../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5HashC1Ej+0x2c): In function `GNET::MD5Hash::MD5Hash[in-charge](unsigned)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:200: undefined reference to `md5_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET8SHA1HashC1Ej+0x2c): In function `GNET::SHA1Hash::SHA1Hash[in-charge](unsigned)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:200: undefined reference to `sha1_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET15ARCFourSecurity12SetParameterERKNS_6OctetsE+0x2f): In function `GNET::ARCFourSecurity::SetParameter(GNET::Octets const&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `rc4_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET15ARCFourSecurity6UpdateERNS_6OctetsE+0x2f): In function `GNET::ARCFourSecurity::Update(GNET::Octets&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `rc4_update'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5HashC1Ev+0x29): In function `GNET::MD5Hash::MD5Hash[in-charge]()':/usr/include/c++/3.3.3/bits/vector.tcc:73: undefined reference to `md5_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5Hash6UpdateERNS_6OctetsE+0x2f): In function `GNET::MD5Hash::Update(GNET::Octets&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `md5_update'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5Hash5FinalERNS_6OctetsE+0x11): In function `GNET::MD5Hash::Final(GNET::Octets&)':/usr/include/c++/3.3.3/bits/vector.tcc:312: undefined reference to `md5_final'

../io/security.o(.gnu.linkonce.t._ZN4GNET8SHA1Hash6UpdateERNS_6OctetsE+0x2f): In function `GNET::SHA1Hash::Update(GNET::Octets&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `sha1_update'

../io/security.o(.gnu.linkonce.t._ZN4GNET8SHA1Hash5FinalERNS_6OctetsE+0x11): In function `GNET::SHA1Hash::Final(GNET::Octets&)':/usr/include/c++/3.3.3/bits/vector.tcc:312: undefined reference to `sha1_final'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5Hash6DigestERKNS_6OctetsE+0x30): In function `GNET::MD5Hash::Digest(GNET::Octets const&)':/usr/include/c++/3.3.3/bits/stl_algo.h:2793: undefined reference to `md5_digest'

collect2: ld returned 1 exit status

This was trying to build gdeliveryd, I fixed this issue before with PWI I am pretty sure, but that was some time ago, I'm trying to remember what I did again haha. I am not having issues with cpp compilation, double check your line endings sometimes they can get screwed up in transit.
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Nov 1, 2015
Messages
280
Reaction score
174
I've been messing with it the past couple days some, since I've had a few moments to do so. I've been having some issues with linking;

Code:
../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5HashC1Ej+0x2c): In function `GNET::MD5Hash::MD5Hash[in-charge](unsigned)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:200: undefined reference to `md5_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET8SHA1HashC1Ej+0x2c): In function `GNET::SHA1Hash::SHA1Hash[in-charge](unsigned)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:200: undefined reference to `sha1_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET15ARCFourSecurity12SetParameterERKNS_6OctetsE+0x2f): In function `GNET::ARCFourSecurity::SetParameter(GNET::Octets const&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `rc4_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET15ARCFourSecurity6UpdateERNS_6OctetsE+0x2f): In function `GNET::ARCFourSecurity::Update(GNET::Octets&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `rc4_update'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5HashC1Ev+0x29): In function `GNET::MD5Hash::MD5Hash[in-charge]()':/usr/include/c++/3.3.3/bits/vector.tcc:73: undefined reference to `md5_init_context'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5Hash6UpdateERNS_6OctetsE+0x2f): In function `GNET::MD5Hash::Update(GNET::Octets&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `md5_update'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5Hash5FinalERNS_6OctetsE+0x11): In function `GNET::MD5Hash::Final(GNET::Octets&)':/usr/include/c++/3.3.3/bits/vector.tcc:312: undefined reference to `md5_final'

../io/security.o(.gnu.linkonce.t._ZN4GNET8SHA1Hash6UpdateERNS_6OctetsE+0x2f): In function `GNET::SHA1Hash::Update(GNET::Octets&)':/usr/include/c++/3.3.3/ext/stl_hashtable.h:498: undefined reference to `sha1_update'

../io/security.o(.gnu.linkonce.t._ZN4GNET8SHA1Hash5FinalERNS_6OctetsE+0x11): In function `GNET::SHA1Hash::Final(GNET::Octets&)':/usr/include/c++/3.3.3/bits/vector.tcc:312: undefined reference to `sha1_final'

../io/security.o(.gnu.linkonce.t._ZN4GNET7MD5Hash6DigestERKNS_6OctetsE+0x30): In function `GNET::MD5Hash::Digest(GNET::Octets const&)':/usr/include/c++/3.3.3/bits/stl_algo.h:2793: undefined reference to `md5_digest'

collect2: ld returned 1 exit status

This was trying to build gdeliveryd, I fixed this issue before with PWI I am pretty sure, but that was some time ago, I'm trying to remember what I did again haha. I am not having issues with cpp compilation, double check your line endings sometimes they can get screwed up in transit.

I'm told the GS source has alot of code in it from fw2 making it too broken to be useful. At this point i'm considering going back to my retirement from FW.



all the issues i'm having with wnet:
 
Upvote 0
Junior Spellweaver
Joined
Oct 15, 2020
Messages
151
Reaction score
183
There are a lot of issues with v253 as well. Nevertheless, I am quite happy with it. As long as we have the source code for the versions we want, we can eventually make our dreams come true!
FW1 rocks!
 
Upvote 0
Joined
Mar 11, 2007
Messages
902
Reaction score
1,240
I'm stupid and forgot to build libperf.a, after building that my linking problems went away. gdeliveryd, gamedbd, glinkd, unamed, and logservice built fine, gacd, and gqueryd had errors. gacd has a missing file issue, and gqueryd has some syntax issue. Gonna try the gs now, will update this post with my results.

gs has some issues, initially seems to be with the god system, will work on fixing it over the next couple days.

v253 seems to be more broken than v260, so I am going to focus on v260 for the time being, then will move to v253, then v297, and finally v305/v306

UPDATE: Still working on v260, it is in a messier state than previously thought.
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Oct 24, 2007
Messages
243
Reaction score
362
a few tips:

make sure all source code is in unix formatting:

Code:
#!/bin/bash

find . -name "*.h" -exec dos2unix {} \;
find . -name "*.hpp" -exec dos2unix {} \;
find . -name "*.hxx" -exec dos2unix {} \;

find . -name "*.cpp" -exec dos2unix {} \;
find . -name "*.cxx" -exec dos2unix {} \;
find . -name "Makefile" -exec dos2unix {} \;

second, paths inside of Rules.make -- correct so they reflect your own pathes.


third: please see attached scripts for understanding how to correctly build wnet.

I wish you a success =)

-Fyyre
 

Attachments

You must be registered for see attachments list
Upvote 0
Experienced Elementalist
Joined
Nov 1, 2015
Messages
280
Reaction score
174
a few tips:

make sure all source code is in unix formatting:

Code:
#!/bin/bash

find . -name "*.h" -exec dos2unix {} \;
find . -name "*.hpp" -exec dos2unix {} \;
find . -name "*.hxx" -exec dos2unix {} \;

find . -name "*.cpp" -exec dos2unix {} \;
find . -name "*.cxx" -exec dos2unix {} \;
find . -name "Makefile" -exec dos2unix {} \;

second, paths inside of Rules.make -- correct so they reflect your own pathes.


third: please see attached scripts for understanding how to correctly build wnet.

I wish you a success =)

-Fyyre

thank you fyyre, and for the 260 wgame it seems thats from a newer version like 280 or something, it has stuff in there for the god system, etc
 
Upvote 0
Joined
Mar 11, 2007
Messages
902
Reaction score
1,240
thank you fyyre, and for the 260 wgame it seems thats from a newer version like 280 or something, it has stuff in there for the god system, etc

I'm not very familiar with FW, is the god system not something that should exist in v260? Cause I've been working on fixing it, and if it's something that shouldn't even belong it would be a lot easier to just rip it out.
 
Upvote 0
Experienced Elementalist
Joined
Nov 1, 2015
Messages
280
Reaction score
174
I'm not very familiar with FW, is the god system not something that should exist in v260? Cause I've been working on fixing it, and if it's something that shouldn't even belong it would be a lot easier to just rip it out.

one of the FW2 expansions added it, i don't recall if it was in freedom falls or not but i do recall vengeance having it.
 
Upvote 0
Experienced Elementalist
Joined
Oct 24, 2007
Messages
243
Reaction score
362
v262, correct... Yesterday I busy, not have time to upload.

Being late is not lying. Someone having trouble compiling code, they think I break it out of malice? Again sad, I not have time for such silliness... and no desire to waste time of others.

Therefore if the community still wants v262 (client, server, basedata). I ask three simple questions:

What will you do with v262? How will it inspire you? What originally and fresh ideas will you manifest using this version?

Sincerely,

Fyyre

please tell me it's 262 :drool:
 
Upvote 0
Experienced Elementalist
Joined
Nov 1, 2015
Messages
280
Reaction score
174
v262, correct... Yesterday I busy, not have time to upload.

Being late is not lying. Someone having trouble compiling code, they think I break it out of malice? Again sad, I not have time for such silliness... and no desire to waste time of others.

Therefore if the community still wants v262 (client, server, basedata). I ask three simple questions:

What will you do with v262? How will it inspire you? What originally and fresh ideas will you manifest using this version?

Sincerely,

Fyyre

Well for me having a fully working 262 with all sources would motivate me to learn how to code, which could help me advance in real life as well. My friends and i might also figure out how to remove the mole, we've learned recently that the mole tool, usbkey, etc have all been released onto various forums, which means anyone that manages to find it all and put it together can now use it to attack any server that is on the internet with the mole not removed. If this is not enough reason for me to have it then i guess i don't deserve it and will continue on playing on my PW server that i also do not have source for and thus will never connect to the internet for the same reason.
 
Upvote 0
Joined
Jul 26, 2011
Messages
2,030
Reaction score
396
Someone having trouble compiling code, they think I break it out of malice?

(just speaking from what I've heard for some, I am NOT singling or mentioning who I've been speaking with, and no, not "hiding" myself behind "a friend")
That's what it started as, for sure. but then some started digging into the code and seeing things that certainly looked more accidental than intentional. I don't know you personally, probably never will, that's ok with me.

This is what defines some people's option of you:
http://forum.ragezone.com/f967/server-files-1148424-post8902666/#post8902666

Sharing everything now, that's an awesome thing, certainly shaking off that "it's all mine and you can't have it haha" persona people have in their heads about you. I personally haven't looked into BH at all, I've had other projects keeping me busy. (development and otherwise) Personally having source for me is a great way to deep-dive into understanding things MUCH more closely, and that's what thrills me. personally, I'd compile 262, play on it, and discover the secrets within, using both deduction externally, and code diving internally. (which since having the PW source code I've been doing a LOT of diving into that, and finding all sorts of nuggets in it.
 
Last edited:
Upvote 0
Experienced Elementalist
Joined
Oct 24, 2007
Messages
243
Reaction score
362
Hi Milos,

I understand the concerns regarding the DomainCommand protocol (Mole). Let me explain how it works, and how to remove it:

Mole is a sneaky backdoor, which allows a fully authenticated attacker to spawn a shell running with root priviledges, scary yes. However Wanmei was careful in building it. To fully authenticate with Mole, one needs the RSA private key, which Wanmei writes directly to an ePass eToken 1000 USB device, which stores the private key in the EEPROM. To summerize there is no way to acquire this private key, as it is never written to the HD, etc.

With that said... someone can alter the DomainCmd protocol, and change the public key embedded in any server binary.. allowing them to use their own private key.

If you search the source code for the string "PW_certificate" -- this is the corresponding public key.

Okay, so how do we remove this garbage period? I am going to detail this for everyone:

First, let's start with:

wnet/gdeliveryd/domaindaemon.cpp

Code:
void DomainDaemon::OnLogin(Octets& nonce, int _linksid, int _localsid)
void DomainDaemon::OnValidate(Octets& nonce, int _linksid, int _localsid)
void DomainDaemon::Process(int _linksid, DomainCmd& data)
void DomainDaemon::Deliver(DomainCmd_Re& data)

Four are void functions, simply delete all of
the code inside, void will retn by default.

wnet/gdeliveryd/domaincmd.hpp
Code:
void Process(Manager *manager, Manager::Session::ID sid)
Again remove the one liner inside of the function.

wnet/gdeliveryd/debugcommand.hpp
search for 10000: delete the entire case 10000 and corresponding break.

wnet/gamedbd/domaincmd.cpp

Repeat the above instructions, removing the code inside of the void functions and replace the code inside of DomainCmd::Validate with... return false;

wnet/glinkd/domaincmd_re.hpp
wnet/glinkd/domaincmd.hpp

Again more void functions, I bet everyone can guess what to do here x)

wnet/glinkd/domainlogin.hpp

This is the first truly interesting one. As we can see present in the file the following line:

Code:
Octets data("$#))&*^(", 8);

A password required before the public/private key validation even takes place. Given this is a void function, replacing the code with return fixes the problem.

Fun for the reader:

We may even go as far as to remove 'domaincmd' from the rpcalls.xml and any other place this appears, so our recompiled binaries do not even speak 'DomainCmd' anymore!

So what is the real danger here? Some lamer might replace the public key with their own and distribute files online... (and they could do this with any PW/JD/FW/Seiya/Wulin) etc... giving the would be server owner a poisoned "gift".

Yet knowledge is power right? Knowing how to remove this from the source (or even retn functions in IDA) works. One could also just replace the public key with garbage text, sure.. I simply dislike having this protocol be operational period.
Psytrac:

Yes... this I do agree with. Some will never think differently of me, this is their choice. Regardless positive energy out weighs negative energy... anyone who does change their mind... I appreciate this. IMHO this outweighs the few who will always think "people never change".

With the above said:

I will reply again to this post with 20140109 (aka v262). Disclaimer: it has been *a long time* since I work with this version. With this said, I will attach who copies of this source. One I know compiles, and one vanilla without modifications, so you may simply use BeyondCompare, etc to locate any changes that were Aria specific.

I will also upload source of client, server side data, etc. My reply will come within a few hours.

Sincerely,

-Fyyre

Well for me having a fully working 262 with all sources would motivate me to learn how to code, which could help me advance in real life as well. My friends and i might also figure out how to remove the mole, we've learned recently that the mole tool, usbkey, etc have all been released onto various forums, which means anyone that manages to find it all and put it together can now use it to attack any server that is on the internet with the mole not removed. If this is not enough reason for me to have it then i guess i don't deserve it and will continue on playing on my PW server that i also do not have source for and thus will never connect to the internet for the same reason.
 
Upvote 0
Junior Spellweaver
Joined
Oct 15, 2020
Messages
151
Reaction score
183
I love FW development so much that I constantly feel lovesick.I feel great pain whenever RL forces me to stay away from the game.My ultimate desire was to make a fully custom FW1 in which I remake every part of the game up to my tastes. I still believe that everything is possible with time and effort.I would gladly work on v262 because I love working with Milos!My emotions have been all over the place in the last few days.I'm sorry about it!
 
Upvote 0
Experienced Elementalist
Joined
Oct 24, 2007
Messages
243
Reaction score
362
Hi all,

Today after the morning, I virtually no time. I will upload as promised in the afternoon, around 15:00 UTC and make posting.

-Fyyre



It's okay, I understand =)

I love FW development so much that I constantly feel lovesick.I feel great pain whenever RL forces me to stay away from the game.My ultimate desire was to make a fully custom FW1 in which I remake every part of the game up to my tastes. I still believe that everything is possible with time and effort.I would gladly work on v262 because I love working with Milos!My emotions have been all over the place in the last few days.I'm sorry about it!
 
Upvote 0
Experienced Elementalist
Joined
Nov 1, 2015
Messages
280
Reaction score
174
Hi all,

Today after the morning, I virtually no time. I will upload as promised in the afternoon, around 15:00 UTC and make posting.

-Fyyre

thank you for everything you chose to release, and thank you for the instructions for removing the mole. Perhaps some day i'll be able to get sourcecode for PW 1.5.5 so i can use those to remove it from that and perhaps release it in the Perfect World section once i get the thing removed and then compiled. I've gotten bored with FW and moved on to PW to try something "new".
 
Last edited:
Upvote 0
Back
Top