PPP Server for Devolution (and other assorted questions)
Moderators: BlueCrab, Aleron Ives
-
- DCEmu Newbie
- Posts: 8
- https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
PPP Server for Devolution (and other assorted questions)
Welp, after 10+ years of lurking, I finally made a dcemu account. Guess I was overdue.
Anyway, specifically hoping for advice from BlueCrab or tueidj here, but if anyone at all can help out, it'd be much appreciated.
I host gaming events every now and then, and the next one is an entirely classic-console-gaming type of thing. Of course, my mind raced to PSO. So, I've been going through the long, arduous steps to getting PSO GCN going on LAN since our venue for this shindig, unfortunately, has no internet access. So far it's been somewhat successful; I've got khyller 3.1 running server duties at the moment, and connecting from Dolphin went well (albeit I can't seem to get Plus to connect to the server, and can't seem to figure out the config I need on khyller to allow it to).
Now, I'm working on getting a PPP emulator set up to do this on Wiis running Devolution. I've gotten as far as making a connection - my problem now seems to be getting it to communicate with anything once its connected. I'm using socat and slirp (patched to enable TCP_NODELAY) for the PPP emulation, and it's certainly connecting fine. I just need to figure out how to let the connected Wii see the server on the LAN.
So, two questions:
1. Any advice on getting devolution to connect to a LAN server using socat+slirp? (really hoping you might have some advice for this, tueidj!)
2. BlueCrab - I'm only going with khyller because I actually couldn't figure out how to compile sylverant ^^; I attempted on FreeBSD 10, but I'm actually not too entirely used to compiling from source, especially on *nix. Any tips?
Thanks so much in advance guys
Anyway, specifically hoping for advice from BlueCrab or tueidj here, but if anyone at all can help out, it'd be much appreciated.
I host gaming events every now and then, and the next one is an entirely classic-console-gaming type of thing. Of course, my mind raced to PSO. So, I've been going through the long, arduous steps to getting PSO GCN going on LAN since our venue for this shindig, unfortunately, has no internet access. So far it's been somewhat successful; I've got khyller 3.1 running server duties at the moment, and connecting from Dolphin went well (albeit I can't seem to get Plus to connect to the server, and can't seem to figure out the config I need on khyller to allow it to).
Now, I'm working on getting a PPP emulator set up to do this on Wiis running Devolution. I've gotten as far as making a connection - my problem now seems to be getting it to communicate with anything once its connected. I'm using socat and slirp (patched to enable TCP_NODELAY) for the PPP emulation, and it's certainly connecting fine. I just need to figure out how to let the connected Wii see the server on the LAN.
So, two questions:
1. Any advice on getting devolution to connect to a LAN server using socat+slirp? (really hoping you might have some advice for this, tueidj!)
2. BlueCrab - I'm only going with khyller because I actually couldn't figure out how to compile sylverant ^^; I attempted on FreeBSD 10, but I'm actually not too entirely used to compiling from source, especially on *nix. Any tips?
Thanks so much in advance guys
- Aleron Ives
- DCEmu Nutter
- Posts: 873
- Joined: Wed Jan 05, 2011 2:15 pm
- Location: California
- Has thanked: 0
- Been thanked: 25 times
- Contact:
Re: PSO Questions & Answers
PSO+ has protections to prevent the streaming exploit, which also prevents playing on a LAN. Some people say it won't connect to any server starting with 192.168 or 10.216, while other people say it only refuses to connect if the DNS server and game server are on the same machine. Either way, you would probably have to forward ports on your router and connect to yourself from the Internet in order for PSO+ to work.
"Fear the HUnewearl."
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PSO Questions & Answers
I had read that as well. I use an IP range on my test network that would make most network admins cringe (Starts with 12.29...), and was still having the issue with Plus, so I've a feeling the "DNS on the same box" rule applies, or it checks if the game server and DNS server are on the same subnet. I'll be trying a DNS server on a separate box sometime tonight.
Quick question, if you happen to know: would the list of hostnames from the Dr. DNS archive over at dc-talk have all the hosts I need to map for PSOGC? Just don't wanna go on a wild goose chase for them if I happen to miss one or two. QUICK EDIT: scratch that, peeked at the sylverant source for hostnames, i'll stop being lazy now
Quick question, if you happen to know: would the list of hostnames from the Dr. DNS archive over at dc-talk have all the hosts I need to map for PSOGC? Just don't wanna go on a wild goose chase for them if I happen to miss one or two. QUICK EDIT: scratch that, peeked at the sylverant source for hostnames, i'll stop being lazy now
- BlueCrab
- The Crabby Overlord
- Posts: 5683
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 10 times
- Been thanked: 69 times
- Contact:
Re: PSO Questions & Answers
Sylverant is a bit of a bear to compile and set up. At some point, I should probably clean a lot of that up, but I haven't really had the time/will/reason to do so.
Truth be told, you're probably better off using Khyller if you're trying to set things up on a LAN. It is much easier to set up and use for that purpose. Sylverant is a lot more work to deal with, and a lot of that has to do with the separation of all the components and the TLS connections between the ship and shipgate. Simply put, it is suitable for a production server, but not really for a small one that would be better served by something without such separation between the components (like a LAN party server or whatnot).
Truth be told, you're probably better off using Khyller if you're trying to set things up on a LAN. It is much easier to set up and use for that purpose. Sylverant is a lot more work to deal with, and a lot of that has to do with the separation of all the components and the TLS connections between the ship and shipgate. Simply put, it is suitable for a production server, but not really for a small one that would be better served by something without such separation between the components (like a LAN party server or whatnot).
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PSO Questions & Answers
Had a feeling that would be the answer, haha. Yeah, khyller's doing the job for now - I'll probably take the time on attempting a sylverant setup if this event goes good, wouldn't mind showing off PSODC.
Now I just need to figure out this PPP emulator. -_-
Now I just need to figure out this PPP emulator. -_-
- Aleron Ives
- DCEmu Nutter
- Posts: 873
- Joined: Wed Jan 05, 2011 2:15 pm
- Location: California
- Has thanked: 0
- Been thanked: 25 times
- Contact:
Re: PSO Questions & Answers
It's worth noting that Kohle's software is mainly suitable for GC and basic BB testing. DC is supposed to work, but difficulty selection doesn't work at all on PC, so you can only play Normal mode. Whether DC shares the same limitation, I don't know.
"Fear the HUnewearl."
Re: PSO Questions & Answers
If the "modem" can dial and connect then it sounds like the PPP stuff is all working, you just need DNS set up properly so the game uses your server instead of trying to use sega's defunct servers. I don't know what slirp will supply for DNS if you don't explicitly set something, but it wouldn't matter if you manually override the DNS in the game's connection profile.flannel wrote:Now, I'm working on getting a PPP emulator set up to do this on Wiis running Devolution. I've gotten as far as making a connection - my problem now seems to be getting it to communicate with anything once its connected. I'm using socat and slirp (patched to enable TCP_NODELAY) for the PPP emulation, and it's certainly connecting fine. I just need to figure out how to let the connected Wii see the server on the LAN.
So, two questions:
1. Any advice on getting devolution to connect to a LAN server using socat+slirp? (really hoping you might have some advice for this, tueidj!)
Patching in TCP_NODELAY probably wouldn't be needed for playing on a LAN but if you're using a 64-bit system make sure this patch is applied: https://bugs.debian.org/cgi-bin/bugrepo ... bug=685056
For reference this is the command line used on my server:
socat -d -d -lf sylverant.txt tcp-l:63335,reuseaddr,fork,keepalive,nodelay,keepcnt=5,keepidle=300,keepintvl=60 exec:'slirp -P +chap nozeros \"dns 67.222.144.120\"',pty,ctty,su-d=slirp
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PSO Questions & Answers
Yeah, that's why I was interested in getting sylverant compiled, wouldn't mind being able to show people the DC version. I've got no problems getting the Dreamcasts on the network, just need a game server that supports PSODC to show them off at the event.Aleron Ives wrote:It's worth noting that Kohle's software is mainly suitable for GC and basic BB testing. DC is supposed to work, but difficulty selection doesn't work at all on PC, so you can only play Normal mode. Whether DC shares the same limitation, I don't know.
tueidj: first, while I've got you here, I've never had the opportunity to tell you thanks for devolution, but uh... thanks!
Aware of the IPCP bug, came across it while I was going for TCP_NODELAY support (thinking I needed it). I'm running 1.0.17-7, so that should already be fixed - though I'm also hosting the PPP emu on a 32-bit debian box, so it's a non-issue.
Anyway, your command has definitely pushed me a step forward with this, I didn't have any chap-secrets set up and had a feeling I needed them, but I couldn't really find any info regarding them in the slirp manpages. So, I've got my start script up and going, and I'm authenticating using CHAP and getting a connection to slirp, but... no dice. PSO just hangs at "Connecting to the DNS server." and ends up spitting an error. Tried setting the DNS for both slirp and PSO to sylverant's DNS and had no luck with a connection either, so it doesn't seem like I'm out of the water yet!
I feel like I'm just missing one crucial component or setting somewhere. Should I be setting up any slirp port redirections with this? Any extra settings I should put in .slirprc? Also, do I have to set up any sort of proper PPP server, or am I right in assuming that the chap-secrets is all slirp needs for PPP emulation? (If me not setting up the chap-secrets up wasn't a clue, this is my first real foray into anything involving PPP in the slightest - kind of feeling my way around.) If I'm not missing anything, I must have some sort of weird network issue happening here.
Thanks so much for the help, by the way!
Re: PSO Questions & Answers
You don't need to setup chap-secrets, it's only used to verify the username and password. If it isn't specified slirp will just accept anything.
There is no extra setup needed (no .slirprc) with the command line I posted. You might need to hack up slirp to dump all input/output and then figure out how to import it into wireshark to get an idea of what's going wrong.
There is no extra setup needed (no .slirprc) with the command line I posted. You might need to hack up slirp to dump all input/output and then figure out how to import it into wireshark to get an idea of what's going wrong.
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PSO Questions & Answers
Alright, cool, just figured I'd verify.
Additionally, you might be psychic, man - you pretty much recommended what my next step in mind was if I hit the wall here. Hahaha. If it's anything interesting, I might report back. Thanks again tueidj, really appreciate it!
Additionally, you might be psychic, man - you pretty much recommended what my next step in mind was if I hit the wall here. Hahaha. If it's anything interesting, I might report back. Thanks again tueidj, really appreciate it!
Re: PSO Questions & Answers
You're probably going to end up learning more about PPP/IPCP/LCP/IP/TCP than you ever wanted
Edit: BlueCrab: probably want to split this to a different thread, there's a chance we might go on for a while.
Edit: BlueCrab: probably want to split this to a different thread, there's a chance we might go on for a while.
- BlueCrab
- The Crabby Overlord
- Posts: 5683
- Joined: Mon May 27, 2002 11:31 am
- Location: Sailing the Skies of Arcadia
- Has thanked: 10 times
- Been thanked: 69 times
- Contact:
Re: PSO Questions & Answers
Done.tueidj wrote:Edit: BlueCrab: probably want to split this to a different thread, there's a chance we might go on for a while.
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PPP Server for Devolution (and other assorted questions)
Welp, this is its own thread now, so I may as well make use of it. I'm alive after a busy week with only a couple of Still no success -_-
I'm just going to lay out what I have at the current moment, because I'm stumped.
The closest I can solidly place the problem is at the box running the PPP emulator. I have some clues as to what it may be, but it's kind of left me running in circles here. I've been watching the network traffic from both the PPP server and the Wii, to no avail - the Wii just talks to the PPP server for a second, connects, and then I'm seeing zero traffic between the two upon the "Connecting to the DNS Server" screen's arrival.
My startup script:
Here's a transcript of the socat logfile:
Additionally, here are the two best wireshark captures I got of the process from today (realized yesterday that I was still running the loader.bin from r200, whoops).
127.28.92.13 is the PPP server, and 127.28.92.45 is the Wii. For the PSO server, 127.28.92.10 is assigned to khyller and 127.28.92.11 is mapped to the same box as khyller, for the DNS server. Unfortunately, as I mentioned, there's just no activity in between the PPP server and the PSO server box.
Another thing I've been having a bad gut feeling about: am I supposed to have an interface for PPP (ie. ppp0) that's supposed to bridge with my NIC (eth0)?
Just really confused; I don't wanna waste your time if it's me just making a stupid mistake, but I'm out of ideas as to what's keeping it from directing the traffic from the Wii.
I'm just going to lay out what I have at the current moment, because I'm stumped.
The closest I can solidly place the problem is at the box running the PPP emulator. I have some clues as to what it may be, but it's kind of left me running in circles here. I've been watching the network traffic from both the PPP server and the Wii, to no avail - the Wii just talks to the PPP server for a second, connects, and then I'm seeing zero traffic between the two upon the "Connecting to the DNS Server" screen's arrival.
My startup script:
Spoiler!
Spoiler!
127.28.92.13 is the PPP server, and 127.28.92.45 is the Wii. For the PSO server, 127.28.92.10 is assigned to khyller and 127.28.92.11 is mapped to the same box as khyller, for the DNS server. Unfortunately, as I mentioned, there's just no activity in between the PPP server and the PSO server box.
Another thing I've been having a bad gut feeling about: am I supposed to have an interface for PPP (ie. ppp0) that's supposed to bridge with my NIC (eth0)?
Just really confused; I don't wanna waste your time if it's me just making a stupid mistake, but I'm out of ideas as to what's keeping it from directing the traffic from the Wii.
Re: PPP Server for Devolution (and other assorted questions)
Just a hunch from looking at the packet captures, I think PSO doesn't like the IP address being offered by slirp. I'll check closer later.
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PPP Server for Devolution (and other assorted questions)
I just got it! (After a lot of frustration) I figured out that the problem was with my ppp setup for slirp.
So, after poking around through random documentation on it around the web, I ran slirp with the flag -dppp flag for PPP debug output. The debug file ended up showing me that it wasn't allowing the client (ie the Wii) to use the 10.0.2.15 address it was supposed to. So, after a lot of googlin', I got to editing my chap-secrets again for some reason. The old one looked something like this:
Slirp didn't appreciate that. So I changed the * to 10.0.2.15 and it finally connected. I also did some fiddling in my /etc/hosts file, but that was to address slirp giving it the loopback IP (devoppp was assigned 127.0.1.1 in there for some reason). I might do a full writeup on how to set this up once I'm done tinkering with it myself - pretty sure I need to assign a range of IPs to the DEVO user in chap-secrets for this to work with multiple systems at once. I'll know later tonight probably So very, very happy I got this going.
So, after poking around through random documentation on it around the web, I ran slirp with the flag -dppp flag for PPP debug output. The debug file ended up showing me that it wasn't allowing the client (ie the Wii) to use the 10.0.2.15 address it was supposed to. So, after a lot of googlin', I got to editing my chap-secrets again for some reason. The old one looked something like this:
Code: Select all
DEVO devoppp gc *
Re: PPP Server for Devolution (and other assorted questions)
Weird, I don't remember needing to do that. Perhaps there's something different in my slirp source.
It should be ok for all the clients to have the same IP, I don't think they communicate directly i.e. all communication is done through the PSO server. Direct communication wouldn't work with people behind NATs etc.
It should be ok for all the clients to have the same IP, I don't think they communicate directly i.e. all communication is done through the PSO server. Direct communication wouldn't work with people behind NATs etc.
-
- DCEmu Newbie
- Posts: 8
- Joined: Sat Aug 09, 2014 9:28 pm
- Location: Western NY
- Has thanked: 0
- Been thanked: 0
Re: PPP Server for Devolution (and other assorted questions)
We may just have completely different network configurations; distro difference, maybe? I'm running on Debian jessie at the moment for this. Who knows - computers really do seem temperamental when they feel like it. Haha
- Aleron Ives
- DCEmu Nutter
- Posts: 873
- Joined: Wed Jan 05, 2011 2:15 pm
- Location: California
- Has thanked: 0
- Been thanked: 25 times
- Contact:
Re: PPP Server for Devolution (and other assorted questions)
Networking is annoying enough most of the time, but where PSO is concerned, it tends to get even worse. I remember having to set up a proxy for PSO under Linux in order for it to communicate properly with the Hunter's License server when Sega started letting everyone connect for free. PSO's so picky about hop counts that it wouldn't authenticate unless you tricked it with a proxy that would make all destinations appear only one hop away.
"Fear the HUnewearl."
Re: PPP Server for Devolution (and other assorted questions)
I'm not sure what distro my VPS has, surely some old as fuck thing that can't be upgraded without breaking OpenVZ. But slirp was built from slirp_1.0.17-4.debian.tar.gz.