What's new
I've got the basics of my netboot server in place. I have it all currently running on a clumsy mix of PHP and python with a very basic/ugly UI accessible via web browser on a connected device such as a phone. I have a set of 10.0.0.X and 192.168.14.X that are pinged, and based on successful pings, am presented with buttons for resetting or pushing out specific games.

At the moment I'm using a WiFi router to connect a phone to the server, but will migrate away from that and have just the RPi be a WiFi host so the phone can connect to it directly. This would be similar to a couple of the netboot projects currently out there, but the goal of those seems to be one server to one motherboard, whereas I wanted one server to many motherboards.

I think I've successfully worked around the changing IPs, too, so the subject of this thread should be pretty well wrapped up.
Seems like you will save me some time! I was after something along those lines to go with my "internet" based setup.
Netbooting across the internet
 
looks like I get to move my netboot network range lol
I wonder if a few IP aliases would solve this. On OSX for example I can add an alternate address as follows:
$ sudo ifconfig en0 alias 10.0.0.2 netmask 255.255.255.0
$ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1): 56 data bytes
64 bytes from 10.0.0.1: icmp_seq=0 ttl=64 time=1.047 ms
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.520 ms

You can see here my interface is sporting two addresses:
$ ifconfig en0
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=10b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV>
ether 78:7b:8a:b9:42:57
inet6 fe80::453:f88a:8a9a:9daa%en0 prefixlen 64 secured scopeid 0x6
inet 192.168.1.223 netmask 0xffffff00 broadcast 192.168.1.255
inet 10.0.0.2 netmask 0xffffff00 broadcast 10.0.0.255
nd6 options=201<PERFORMNUD,DAD>
media: autoselect (1000baseT <full-duplex,energy-efficient-ethernet>)
status: active
 
Solid idea. Who knows when I'll get the chihiro out again, but it might work. Thanks man.
It may require a slight mod to the NetBoot scripts / Triforce tools, etc to duplicate the packets they normal send periodically onto the known address that the games jump to. In this case for example, even though my NetDIMM is set to 192.168.1.2, we know it will jump to 10.0.0.1 when I play Game XYZ, just have the Triforce tool copy the packet

Perhaps spawn a new thread in the python code to keep over and over checking for 10.0.0.1 and when it pops up, make a connection and send the time update. The problem now is all the code uses one socket, so you'd need to make another one around here:
https://github.com/travistyoj/piforcetools/blob/master/triforcetools.py#L19
And have your watch thread use it. You could also have a MarioKart thread watching 192.168.29.150... etc.
 
Last edited:
On WMMT2 the assigned IP corresponds to the PCB ID that you set in the game settings menu. When I assign PCB ID 2, I get IP 10.0.0.2. I'm guessing there's no dynamic logic associated with it, it just gets the IP for the one you selected and pings the others at boot.
Thanks for that! I couldn't figure out why my Wangan would disappear from my network after poking around in the Game Settings menu. I noticed almost every time I would poke around I'd get ID 2. Not long after my netboot connection would fail. I appreciate the verbosity.
 
OR2SP is for sure not assigning an IP.
So actually Outrun is kind of weird... it will listen on BOTH 10.0.0.1 until you put it in linked game mode, then it assigns as static IP of 192.168.14.<linkid> to each machine.

So even if you go into the Core Network settings, and set two different machines to 10.0.0.1, and 10.0.0.2 respectively, once you assign them to link to each other, after the initial load, they will crash having attempted to reach the 192.168.14.x network. If you go into the network assignments menu you will see that the settings were overwritten.
 
OR2SP is for sure not assigning an IP.
So actually Outrun is kind of weird... it will listen on BOTH 10.0.0.1 until you put it in linked game mode, then it assigns as static IP of 192.168.14.<linkid> to each machine.
So even if you go into the Core Network settings, and set two different machines to 10.0.0.1, and 10.0.0.2 respectively, once you assign them to link to each other, after the initial load, they will crash having attempted to reach the 192.168.14.x network. If you go into the network assignments menu you will see that the settings were overwritten.
I have follow-up posts where I discovered that linking them does change IPs. It's been a while, but it looks like based on posts, I had it to where it will work without issue, even when linking. Everything is relatively predictable at this point, so I think an overall workable netbooting solution can be done to address all of the variables. I had something put together, but now I don't remember the specifics. I haven't turned on a racing game in months... ;(
 
Yeah I actually have several aliases on my netboot server, it doesn't care what IP the games change to. It can handle it.

Example alias lines.
$ ifconfig enp3s0
enp3s0 Link encap:Ethernet HWaddr c8:1f:66:a9:91:70
inet addr:192.168.1.252 Bcast:192.168.1.255 Mask:255.255.255.0

$ cat /etc/rc.local
ifconfig enp3s0:0 10.0.0.2 netmask 255.255.255.0 up
ifconfig enp3s0:1 192.168.14.254 netmask 255.255.255.0 up
 
I had a frustrating time yesterday trying and failing to boot a pair of cabs into Mario Kart Arcade GP 2 with linking. I realized this morning that I was booting the rom I had modified to have different default IPs. This appears to break the ability to link and perhaps the expected IPs for linking are more hard-coded than the IP list I found and modified. Anyway, it seems like at this point we've discovered work-arounds, so hacking in different IPs should not be needed.
 
Yeah I actually have several aliases on my netboot server, it doesn't care what IP the games change to. It can handle it.

Example alias lines.
$ ifconfig enp3s0
enp3s0 Link encap:Ethernet HWaddr c8:1f:66:a9:91:70
inet addr:192.168.1.252 Bcast:192.168.1.255 Mask:255.255.255.0

$ cat /etc/rc.local
ifconfig enp3s0:0 10.0.0.2 netmask 255.255.255.0 up
ifconfig enp3s0:1 192.168.14.254 netmask 255.255.255.0 up
This info is huge. Thanks.
 
Back
Top