|
You last visited: Today at 22:08
Advertisement
UDP discussion - freeroam
Discussion on UDP discussion - freeroam within the Need for Speed World forum part of the Other Online Games category.
06/13/2016, 02:07
|
#1
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
UDP discussion - freeroam
Hi all,
Recently I've been trying to figure out how to get free-roam working with Nilzao's "soapbox-race" server, which can be found here:
I have already begun to do some debugging, although I'm curious to see if anyone else would be interested. I know that this is going to be insanely difficult, but I think I have a pretty good idea of how to go about doing it. I have been studying the source code of the UDP server, and I've added some extra debugging statements so I can see what the data most likely represents.
So, I'd just like to know if anyone is interested. I'd like to know people's thoughts about this whole thing. Also, @ and @ , if you see this, would you care to give some advice? I've already gotten a bit of a start, but it would be nice if you could explain how the UDP server is doing its thing. I've looked at the source code but it seems a bit hard to follow.
I'm sure that this will be an interesting little project/investigation. Be sure to reply if you're interested, with your thoughts!
Thanks,
leorblx (aka CoderLeo aka the guy who rarely posts)
|
|
|
06/13/2016, 03:46
|
#2
|
elite*gold: 0
Join Date: Jun 2015
Posts: 331
Received Thanks: 608
|
Quote:
Originally Posted by leorblx
Hi all,
|
Hi leorblx.
Quote:
Originally Posted by leorblx
Recently I've been trying to figure out how to get free-roam working with Nilzao's "soapbox-race" server, which can be found here:
I have already begun to do some debugging, although I'm curious to see if anyone else would be interested. I know that this is going to be insanely difficult, but I think I have a pretty good idea of how to go about doing it. I have been studying the source code of the UDP server, and I've added some extra debugging statements so I can see what the data most likely represents.
|
Nice, good to know someone is trying to understand that.
Where u put the debug statements? ollydbg? wireshark? ida hex rays?
Quote:
Originally Posted by leorblx
So, I'd just like to know if anyone is interested. I'd like to know people's thoughts about this whole thing. Also, @ and @ , if you see this, would you care to give some advice? I've already gotten a bit of a start, but it would be nice if you could explain how the UDP server is doing its thing. I've looked at the source code but it seems a bit hard to follow.
|
Well... it's not that hard, we have recorded sessions from races and freeroam to study.
like this:
The udp race server is a rebroadcaster between players with little modifications in the packages.
You can try the "String protocol" and netcat to understand what is happening.
All other things inside code are to handle sessions, so can have more than one race running at the same time.
Need to fix sync problem, but the concept is working.
Quote:
Originally Posted by leorblx
I'm sure that this will be an interesting little project/investigation. Be sure to reply if you're interested, with your thoughts!
|
Yes it will be a nice project and investigation, but I need skills to fix the sync issue.
If I make the freeroam udp project, probably will have the same sync problem from race project.
For now I'm focused in move all xmpp stuff from project to openfire xmpp server, for better chat handling.
Quote:
Originally Posted by leorblx
Thanks,
leorblx (aka CoderLeo aka the guy who rarely posts)
|
You're welcome.
|
|
|
06/13/2016, 13:20
|
#3
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
Quote:
Where u put the debug statements? ollydbg? wireshark? ida hex rays?
|
Ahh, sorry. I misspoke; I meant to say that I put the debug statements in the server itself. I still have to get around to messing with wireshark and IDA, but Ollydbg might be tricky because there isn't a 64 bit version, and that's the kind of operating system I have. (Windows 10 x64)
Also, when I try to load "freeroam.wireshark" into Wireshark on my Windows machine, it seems to think that the file is too large for some reason. Did you create it on a Windows machine as well, or on a different OS?
Quote:
Well... it's not that hard, we have recorded sessions from races and freeroam to study.
like this:
|
Hmm, interesting. So freeroam is possible...
I'm gonna have to take a look at that and see what can be done. I'll be sure to post some pictures if I can ever get it working... and of course I will open a PR with the code, assuming it works.
Quote:
The udp race server is a rebroadcaster between players with little modifications in the packages.
You can try the "String protocol" and netcat to understand what is happening.
All other things inside code are to handle sessions, so can have more than one race running at the same time.
Need to fix sync problem, but the concept is working.
|
Good to know.
|
|
|
06/13/2016, 13:26
|
#4
|
elite*gold: 0
Join Date: Jul 2015
Posts: 352
Received Thanks: 132
|
you can download the application at 32bit because the system at 64bit can execute 32bit and 64bit
|
|
|
06/13/2016, 14:10
|
#5
|
elite*gold: 15
Join Date: Aug 2012
Posts: 3,041
Received Thanks: 6,394
|
Quote:
Originally Posted by leorblx
Ollydbg might be tricky because there isn't a 64 bit version, and that's the kind of operating system I have. (Windows 10 x64)
|
Stack sizes won't make that much of a difference, don't worry about that. nfsw.exe is x86, so as long as you stick to a specific architecture you will be fine. (e.g., if you use x64 IDA and save instance, then you will have to use x64 IDA to load that instance back.)
Basically, don't overthink it; just use something you can work with.
|
|
|
06/13/2016, 14:25
|
#6
|
elite*gold: 0
Join Date: Jun 2015
Posts: 331
Received Thanks: 608
|
Quote:
Originally Posted by leorblx
Also, when I try to load "freeroam.wireshark" into Wireshark on my Windows machine, it seems to think that the file is too large for some reason. Did you create it on a Windows machine as well, or on a different OS?
|
Try to follow the readme files...
This freeroam.wireshark is a text file, was extracted from wireshark when you right click udp package and click follow udp stream, i made a code to read this, and send it to nfsw.exe in a fake udp server, like a recorded vhs tape playing.
Quote:
Originally Posted by leorblx
Hmm, interesting. So freeroam is possible...
I'm gonna have to take a look at that and see what can be done. I'll be sure to post some pictures if I can ever get it working... and of course I will open a PR with the code, assuming it works.
|
All things are possible, we just need time and inspiration to do it.
|
|
|
06/13/2016, 19:02
|
#7
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
@ @ Alright thanks. I'll see what I can do.
This will definitely be an interesting thing for me to work on over the summer. Hopefully I can get it to work.
By the way, is there source code available for the freeroam server? I might be looking in the wrong place, but I can't find anything. It would be nice to see how the server sends the packets; that would be really helpful.
Ollydbg seems really cool, so I'll probably try that out. I don't have a license for IDA, unfortunately, since it's crazy expensive, but I'll just try out the demo version. Sort of a shame how these things can be so expensive sometimes...
So, yeah, to conclude: I'm going to try debugging the game later today.
EDIT --------------------------------------------------------------------------------------------------
Quote:
you can download the application at 32bit because the system at 64bit can execute 32bit and 64bit
|
Alright, thanks. I didn't realize that until much later :P
|
|
|
06/14/2016, 12:02
|
#8
|
elite*gold: 0
Join Date: Jun 2015
Posts: 371
Received Thanks: 320
|
This guy atleast needs some "Thanks!"...
Here is source code for UDP Race Server:
There is no code for FreeRoam. I think, you can find differences of Race and FreeRoam by packets from WireShark...
|
|
|
06/14/2016, 13:16
|
#9
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
@ Yeah I knew about that one, that's what I was debugging with, but I was talking about the freeroam server from the UDP SDK.
I found what I was looking for, anyway. Next step: learn how to properly use OllyDbg.
EDIT: I've started writing the code to handle freeroam packets. Wish me luck, and let's hope it works...
|
|
|
06/16/2016, 01:29
|
#10
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
sorry for bump, but for the time being I've decided to split the freeroam server into a different module. it seems that it just can't work with the normal one, unless I'm doing something completely wrong.
don't worry though, it'll be pretty simple; a socket server that accepts connections, receives packets, processes them, and re-broadcasts them. At least, I'm pretty sure that's the way it should be done, based on my 15-minute studying of the freeroam server from the UDP SDK.
|
|
|
06/16/2016, 02:22
|
#11
|
elite*gold: 15
Join Date: Aug 2012
Posts: 3,041
Received Thanks: 6,394
|
UdpRelay is for races, rest have always been for freeroam.
When game is calling getrebroadcasters, it's trying to reach to the freeroam broadcaster. It is similar to the UdpRelay, but different in some way we cannot understand right now, and since the sync issue is still present within the udp connections(going as far as to dropping connections), I don't think functional freeroam Udp will happen anytime soon.
|
|
|
06/19/2016, 12:00
|
#12
|
elite*gold: 0
Join Date: Jan 2013
Posts: 11
Received Thanks: 2
|
In my opinion, this is solution for freeroam
|
|
|
06/19/2016, 14:03
|
#13
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
@ no; you're missing the whole point of the video. that is a singleplayer race against bots. that's something the client can do itself, afaik. it doesn't need to talk to the server to do a singleplayer race, because there are only bots in the race anyway.
It's not that simple to re-implement what they have for racing and make it work for freeroam. We need people who actually know what they're doing and can provide advice (like Berkay and Nilzao, they've been a big help.)
Maybe one day freeroam will work. Even then, it's almost definitely going to have sync issues, because I am not good when it comes to networking.
One last thing: The minimap shows the bots because the CLIENT handles all of the singleplayer stuff (at least, I think it does...) We need to figure out how exactly the packets work if anyone ever wants freeroam back.
By the way @ , I remember seeing a screenshot that you or Berkay had posted, where freeroam was working. Care to explain how you did that? Or was that a modified version of the freeroam server from the UDP SDK?
|
|
|
06/19/2016, 14:59
|
#14
|
elite*gold: 0
Join Date: Jun 2015
Posts: 331
Received Thanks: 608
|
@
The udp sdk is used to study how freeroam works without official EA servers.
Have tools to
- decrypt udp packets to see inside.
- mimic freeroam udp server with a recorded session from EA.
- convert extracted packets from wireshark to fake udp server.
I'm studying freeroam too, about a month or less, will be possible two players see each on freeroam.
|
|
|
06/19/2016, 18:07
|
#15
|
elite*gold: 0
Join Date: Mar 2016
Posts: 174
Received Thanks: 265
|
@ Alright nice. So you're able to see the ACTUAL contents of the packets, not just some weird encoded stuff? I'm gonna have to look at that.
I've taken a look at how the recorded session thing works with sending the packets; looks simple enough, you just have to know how to get the needed info from them I'm guessing.
Let's hope it's not too hard! It'll be cool if you can get it working.
Also, do you know if each freeroam packet has the same basic structure? Or is it different depending on how many clients there are?
|
|
|
|
|
Similar Threads
|
UDP-SDK Tools - Freeroam
09/26/2015 - Need for Speed World - 22 Replies
Clean nfsw-offline server.
No safehouse menus.
No races.
Not for noobs.
Winxp instructions.
|
Freeroam-Chat
05/25/2013 - Need for Speed World - 4 Replies
Can anyone give me the NFS: World Freeroam-Chat
* In WinRAR and not the Forum please :)
|
gta sa ..::[GER]Billy-Boy@FREEROAM::..
08/31/2012 - Grand Theft Auto - 8 Replies
Hallo ich stelle hier meinem neuen server vor.
alle informationen sind hier
Startseite - billy-boy-sanandreass Webseite!
die homepage habe ich erst heute erstellt also bitte nicht so schlimm bewerten
der server ich auch erst vor pahr tagen is noch nicht ganz fertig .
:awesome:
Video : video is net so gut geworden aber egal XD
http://www.youtube.com/watch?v=nmegc_jY7uQ&fe ature=plcp
|
Do what you want | Freeroam - Vorstellung
11/13/2011 - Grand Theft Auto - 2 Replies
Einleitung
Hallo liebe Elitepvpers Community. In diesem Thread würde ich sehr gerne meinen kleinen Server, welcher zur Zeit in One Man Army Manier geleitet wird.Sprich: Das Script und die Maps werden nur von mir(In Game: Joshi2122) erstellt. Trotzdem werden keine weiteren Team-Mitglieder gesucht. Der Server kann allerdings von euch beeinflusst werden, indem ihr mir eure Ideen mitteilt, welche ich dann wahrscheinlich umsetzen werde, solange sie für mich sinnvoll erscheinen
Informationen...
|
All times are GMT +2. The time now is 22:08.
|
|