Versions: Fika 1.1.5.0, SPT 3.10.5
Networking: No. Im doing port forwarding.
Description: My host machine for the server has several other ips internally. One of them is the vEth adapter from WSL. For some reason, the server (which is NOT running in wsl), is providing the wrong ip (the wsl adapter) to the clients trying to connect. Is there some way i can hard-pass the correct ip? For example, it should be going to 192.168.1.175 internally, but instead its going to 172.26.32.1. How can I specifically pass that? Is this possible?
#Server sends wrong ip to client.
31 messages · Page 1 of 1 (latest)
@frozen dagger please attach any applicable log files and mod lists while waiting for help!
Windows IP Configuration
Ethernet adapter Ethernet 2:
Link-local IPv6 Address . . . . . : fe80::2afb:ce4c:9bf7:e4d2%23
IPv4 Address. . . . . . . . . . . : 192.168.1.175
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.1.1
Ethernet adapter vEthernet (Default Switch):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::a7eb:ffb:e5a2:8334%26
IPv4 Address. . . . . . . . . . . : 172.29.128.1
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
Ethernet adapter vEthernet (WSL):
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::11ae:2e71:14c6:8518%60
IPv4 Address. . . . . . . . . . . : 172.26.32.1
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . :
And externally, from a client connecting on another network:
going to that same 172.26.32.1 ip thats shown internally on my hosting network...
The odd thing is, the client can connect to the :6969 ports, but whenever they hit the "join" button to load a raid, all i get on the server end is a request to \fika\raid\gethost, and then they go to that weird ip. Why is the client loading, and everything working EXCEPT loading into a raid
Would the easiest solution be just to disable the WSL adapter for now, and see if that fixes it?
I am no network expert but I'm pretty sure this would be firewall configured. You need to set connecting IPs in X range (or individual IPs) to be directed to a specific server adaptor. Though, I'm not sure what the benefits to doing so actually are. The router is just defaulting to that adaptor maybe from a custom setting. If you configure the firewall to direct traffic off that adaptor things should be fine. I don't really know what your network setup is.
Assuming you're running this at home there should be only 1 ethernet cord needed to connect the server to the router. A direct line to a client is not necessary.
I guess maybe a wifi adaptor as a backup in case somehow your ethernet decided to just disintegrate
Regardless as far as I know you still can only host a single raid at a time even with a dedicated client. A dedicated client is simply for performance gains. If you have a NASA PC with like I9-12k+ or R9-7xxx+ and a 4090, 5090 you do not need a dedicated client to have a playable experience at all.
Well, and 100% uptime for the server.
You mention you are not using WSL but it appears there's some network configuration that is sending clients to that adaptor.
Sounds to me like you have the wrong IP in your F12 - Fika - Force IP (or in com.fika.core.cfg if you're talking about a headless client)
to be clear, for port forwarding both Force IP & Force Bind IP should be default.
- Force IP = <blank>
- Force Bind IP = 0.0.0.0
Should either of those be set on the remote clients end as well? Or just on my end as the server?
Yeah, that's why I'm curious. I have wsl, but the server isn't running on it.
I could theoretically offload it, but i think its some network routing issue. is there a way i can test the api endpoints without using the game? It seems like the \fika\raid\gethost MAY? be what passes the ip? From the little testing i could do, and i want to see what that would respond with.
I can quickly explain how hosted raid advertising works.
When the client starts a hosted raid, Fika plugin looks in Force IP to see if it has a value. If it has a value, it sends that address & the assigned port to the backend server mod. If Force IP is blank, it resolves the current internet connection's public ip using (I believe) cloudflare and then sends that ip & port to the backend server mod.
When joining, you are correct it's /fika/raid/gethost, and the joining client's plugin is sent the address & port from the above paragraph by the backend server mod.
If clients are being told to joint a LAN IP, there's only a few small possibilities for why. The most likely one is a value in Force IP for the client hosting. Suppose it's possible there's either an error or an override for the resolution of the public ip from cloudflare as well.
Ah, so if i try to set my force ip to my external ip, would it work? Or would that break my ability to join?
right now, mine works, its just outside my LAN that gets the weird WSL adapter ip
Should work if your network hardware supports NAT loopback (many do)
Let me see...
looks like i can load into raids after setting the force ip as my external ip. I'll have to experiment with someone outside my network. Any idea if i can pass my domain name as the force ip? Id assume it'd be able to resolve that, but thought id ask.
Yep, works fine as long as it resolves to the direct ip and isn't proxied or whatever
Sweet. That should make life easier. Once i get anyone able to actually connect ill probably offload the server to another pc, but for now i just want to get it working lol
Ill let you know if this actually works later. Thanks for the help though!
Okay! Got it tested, and that did work. Thank you fore the help!