|
|
|
|
|
|
|
|
|
Re: Renegade FDS Running on Linux - on XWIS/WOL!!! [message #193546 is a reply to message #192004] |
Tue, 21 March 2006 21:55 |
CompHobbyist
Messages: 17 Registered: December 2005 Location: Worcester, MA USA
Karma: 0
|
Recruit |
|
|
Blazer: if you need it, I can set up an account for you on my FreeBSD 5.4 server for testing - it has the linux compatibility kernelmod loaded so it should be able to run almost all linux software (I have the rh8 version of the renegade FDS running on it right now, and haven't had to restart it once even though it's been running since November.) I'm pretty sure I have Perl installed, if I don't I can install it fairly quickly. The server has a static IP, and is on a good connection (often in the 24mbit/8mbit download/upload range) until the beginning of May, when I move out of my dorm. It should be stable and is dual processor if you need to extensively test multithreaded or multiprocess code (since multiple CPUs or cores help a lot in finding deadlocks and race conditions.) PM me on IRC if you need it (I'm on as CompHobbyist and SVRCompHobbyist.)
howang: wow, you're a bright one. Notice that PHP stands for PHP HyperText Preprocessor... it's designed for web stuff, though it CAN be used for command line things as well. Also PHP has $_ just like Perl, though it's in $_POST and $_GET instead of by itself I'm no fan of Perl (too easy to obfuscate imo) but that's probably because I haven't learned more then the bare basics. (note: I don't want to restart this battle, but I really can't believe this guy would actually argue for what he did)
|
|
|
Re: Renegade FDS Running on Linux - on XWIS/WOL!!! [message #193577 is a reply to message #192004] |
Wed, 22 March 2006 12:19 |
|
Blazer
Messages: 3322 Registered: February 2003 Location: Phoenix, AZ
Karma: 0
|
General (3 Stars) Administrator/General |
|
|
You sound like a good candidate for beta testing once I get the few remaining issues worked out.
Since the command to send the special UDP packet is now integrated into the FDS, an XWISP-like program could be fairly easily written in any unix-friendly language (perl, php, python, C, java, etc) by someone with some knowledge of writing multi-threaded apps in their language of choice (must be able to simultaneously communicate with XWIS while also paying attention to the FDS and remote admin port), and the protocol specs.
[Updated on: Wed, 22 March 2006 12:20] Report message to a moderator
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Re: Renegade FDS Running on Linux - on XWIS/WOL!!! [message #197402 is a reply to message #192004] |
Sun, 23 April 2006 01:57 |
|
Blazer
Messages: 3322 Registered: February 2003 Location: Phoenix, AZ
Karma: 0
|
General (3 Stars) Administrator/General |
|
|
Okay, sorry for so long since last update, but there has been no progress until tonight.
Thanks to combined effort from jonwil and v00d00, the LFDS now has automatic, built-in support for responding to what is internalled called "Firewall Packet Probes".
Basically, before a game client can connect to the FDS, it sends a UDP packet that basically says "Hey server...this is me contacting you on what I think is your game port. If you can hear me, please respond". The FDS then has to send a special UDP packet back to the client, using the same IP and port the probe came in on - "Hey this is the Server...I read you loud and clear, if you can hear this come on in!". The game client then connects to the server and logs the player in.
Now, to explain the problem I was having.
1. I had already learned via various reverse engineering methods (packet sniffing, dissassembly, debugging) of this special packet that was required to connect.
2. Jonwil and v00d00 collaborated on adding an additional console command to the LFDS (via latest scripts.dll), called "wolsend". Using this command you could specify an IP and port and it would send a properly formatted packet to the remote game client, so it could then connect.
3. This seemed to work, and thought all our problems were solved. However I discovered another problem, when certain types of NAT (firewalled) players tried to join the server.
4. For normal clients, I got their IP address and UDP port from the XWIS/WOL protocol that their client sent to the game channel.
5. However, these NAT players, something funky was happening. Basically their game client would send info to the game channel indicating they were using a certain port, but then the actual firewall probe packet would come in from a DIFFERENT port! This totally screwed me up, as now I had no way to easily intercept these packets and verify which source port they were using.
6. Jonwil and v00d00 came to the rescue. v00d00 found a function within the FDS code that specifically handles the firewall probe packets. Once this info was given to Jonwil, he was able to add code to scripts.dll that "hooked" this function. Basically since the LFDS runs in GSA mode, the function wasn't even doing anything, so we basically overrode it with our own function, that would automatically examine firewall probe packets, collect the necessary info from them, and automatically send the proper response packet. So the wolsend command was no longer needed, and was removed.
7. The end result is that the LFDS, combined with XWISP, now automatically fully supports XWIS/WOL, with all of the functionaly of the Win32 FDS, including XWIS specific things like bans and paging.
The only thing lacking still is ladder support, but as that will involve more reverse engineering and basically a project of itself, it's last on my list.
[Updated on: Sun, 23 April 2006 02:02] Report message to a moderator
|
|
|
Re: Renegade FDS Running on Linux - on XWIS/WOL!!! [message #197418 is a reply to message #197402] |
Sun, 23 April 2006 05:19 |
=HT=T-Bird
Messages: 712 Registered: June 2005
Karma: 0
|
Colonel |
|
|
How long is it before XWISP is ready for release?
HTT-Bird (IRC)
HTTBird (WOL)
Proud HazTeam Lieutenant.
BlackIntel Coder & Moderator.
If you have trouble running BIATCH on your FDS, have some questions about a BIATCH message or log entry, or think that BIATCH spit out a false positive, PLEASE contact the BlackIntel coding team and avoid wasting the time of others.
|
|
|
|