ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Mon Jun 17, 2019 1:18 am

All times are UTC




Post new topic  Reply to topic  [ 5 posts ] 
Author Message
 Post subject: Refractor 2 BitStream
PostPosted: Fri Jun 07, 2019 8:57 am 

Joined: Fri Jun 07, 2019 8:50 am
Posts: 4
I decided to opensource the project I have worked on for a few weeks, hoping someone will come along and help me fix it's current issues. I decided to post about it here since I got the idea from BF2Loop and found bit functions there too.

As long as you don't send ServerInfo and MapList it's fine but without those the game doesnt load ofcourse :P
I started it because my end goal is to emulate the later games, BF Heroes and BF Play4Free, whose latest server files did not leak. So if they didn't leak, how do we get them? Let us emulate them :P
It has no systems for user authentication or rankings, the main goal is to get the game to load 1 player. Then load more players and keep them in sync and THEN I'd work on authentication and rankings.

You can find the code here: https://github.com/lifecoder-phoenix/Re ... m-Emulator

To continue the issue discussion, after authentication succeeded we must send the ServerInfo block and MapList block. If I send any, everything fine, but it doesnt load. If I send both however the game disconnects with the following error message: "network data corruption". I have noticed it never calls DataBlock::executeClient on those blocks. As if it doesnt recognize the packets. This issue has been my headache for 2 weeks now. Couldn't figure it out, hope it will be figured out soon.


Top
   
PostPosted: Fri Jun 07, 2019 10:33 am 

Joined: Fri Jun 07, 2019 8:50 am
Posts: 4
And I fixed the DataBlock issue, comments will be in the code. Long story short, seems there is also an increasing id in the event transmission. Actually increasing it worked


Top
   
PostPosted: Mon Jun 10, 2019 12:00 pm 

Joined: Fri Jun 07, 2019 8:50 am
Posts: 4
Alright, it seems the game loads the objects when it loads the level. Now the issue is that once the client finished loading the server is supposed to send every object on the map to it. But it also asks template id's and I cant seem to find them out. I wish to note that the template id increases too, like, if 2 objects have ladder_4m as template then for object A it will be template id 49 and for object B it would be template id 50


Top
   
PostPosted: Mon Jun 10, 2019 4:06 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10535
Not sure if there are users here active on the BF protocol but I'm happy you posted here :D
Keep up the good work!


Top
   
PostPosted: Fri Jun 14, 2019 3:35 pm 

Joined: Fri Jun 07, 2019 8:50 am
Posts: 4
No problem :P

I doubt anyone will be that interested in this, unless I get spawning to work. But you never know.

Current issue: the game expects the kits and objects from the server, these use an object id and a template id. The main question now is, how does the game know the id's? When are they loaded? Are they defined when loaded? Are they defined using the files loaded by the levels server zip?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 5 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited