Hi, im new in servUO, and before you read im not english native so maybe you have some problem to understand, now i will explain the problem, that problem is i dont understand why my friend cant connect from external IP, the console show me listening private IP ( 192....) and the loopback (127...) so when i connect from private IP i can access without problem, but from outside my friend can see the server name, and no more (stuck the client). The server is listening from outside 2593 the machine is inside from private network (server -> router -> external ip), i made the portforwarding asociate to the server. That is the problem now i list the solution i try

  • Modify ServerList asociate ddns or public IP to Address variable.
  • Modify Server.cfg to add adress with autodetect true/false
  • modifiy the code setting the ip in the bad way.

So, i use sphere Uo another old emulator and this emulator work and my friend can enter, but i want it with servuo, other test was runUO but i have the same problem.
maybe the server show the server but cant move the data across private . external ip. is the only i can think.
 
20:22:53 ServerList: Auto-detecting public IP address...
20:22:53 ServerList: >>> services.servuo.com
20:22:53 ServerList: >>> api.ipify.org
20:22:54 ServerList: <<< xxx.xxx.xxx.xxx
20:22:54 ServerList: Done: 'xxx.xxx.xxx.xxx'
20:22:54 Listening: 192.xxx.xxx.xxx:2593
20:22:54 Listening: 127.xxx.xxx.xxx:2593

Your friend must use the "ServerList: <<< xxx.xxx.xxx.xxx" IP to connect to you.
If they already are, the only other thing I could think of would be:

You already stated you portforwarded did you forward the correct port?
Does your router use a DMZ? If so is your Port forwarded to that DMZ IP?
Port 2593 TCP/UDP needs forwarded to your 192.168.XXX.XXX the xxx.xxx will be determined by your DMZ if you have one instead of your "Listening: 192.xxx.xxx.xxx:2593" IP.
 
Thanks for aswer.

For the first log i dont have that info, that ip is a console.writeln
version: ServUO-57

1603760313056.png

i try with dmz, but now only redirect the port 2593 TCP/UDP Firewall and router

1603760131623.png

If you have any ideas what can be?, thanks.
 
Check SocketOptions.cs and make sure line 13 is
new IPEndPoint(IPAddress.Any, Port)
If it is you can change that to
new IPEndPoint( IPAddress.Parse( "1.2.3.4" ), 2593 ), // Listen on port 2593 on IP address 1.2.3.4
just replace 1.2.3.4 with your public IP (www.ipmonkey.com will show you your public ip) if this doesn't work I have no idea.
 
Thanks for answer Izex, i try your solution but the server dont start he give me this error.

Listerner Failed: [PUBLIC-IP]:[PORT] (Unavailable), where PUBLIC-IP and PORT are the respective data.

the server listen from IP server in this case is private IP, and redirect across router, again maybe this work only with direct public ip from machine like a vps or dedicate server in datacenter.
 
That suggestion doesnt make much sense sorry. IPAddress.Any does what it says, it takes any IP that the server can connected to.

If you want to set an fixed IP for your server to listen to, there are also the config files.
Especially the Server.cfg
 
Hi Pyro, this is my Server.cfg

1603813535470.png

where in address add public ip example: 200.123.200.85 or ddns (no-ip) test.ddns.net
in autoDetect put before, true or false
the port always use the same.


I have a question ServUO only use 2593 or he use another port?, because some games have the conection port but when the player is connected he assigned another port.
 
Well if you want a fixed, then set autodetect to false,
then remove the @ sign infront of the Address.

The Port can usually stay at 2593. Default ServUO / RunUO just uses 2593.
There are no other Ports or Portforwarding there
 
Well if you want a fixed, then set autodetect to false,
then remove the @ sign infront of the Address.

The Port can usually stay at 2593. Default ServUO / RunUO just uses 2593.
There are no other Ports or Portforwarding there

1603837601588.png

This is the result, is the same.
 
I mean in general it looks fine,
you should get to the server selection, and there I guess you hang up as a client.

Now you could try to Set Address in your config (without the @ infront.) So that it should also list your external IP.
 
I mean in general it looks fine,
you should get to the server selection, and there I guess you hang up as a client.

Now you could try to Set Address in your config (without the @ infront.) So that it should also list your external IP.

Nop, the same result.
1603838909537.png
 
Where is this coming from?

View attachment 16926


External IP, the class is ServerList.cs

C#:
private static bool IsPrivateNetwork(IPAddress ip)
        {
            // 10.0.0.0/8
            // 172.16.0.0/12
            // 192.168.0.0/16
            // 169.254.0.0/16
            // 100.64.0.0/10 RFC 6598

            Console.WriteLine("Viendo si es una red privada");
            if (ip.AddressFamily == AddressFamily.InterNetworkV6)
            {
                Console.WriteLine("1");
                return false;
            }

            if (Utility.IPMatch("192.168.*", ip))
            {
                Console.WriteLine("2");
                return true;
            }

            if (Utility.IPMatch("10.*", ip))
            {
                Console.WriteLine("3");
                return true;
            }

            if (Utility.IPMatch("172.16-31.*", ip))
            {
                Console.WriteLine("4");
                return true;
            }

            if (Utility.IPMatch("169.254.*", ip))
            {
                Console.WriteLine("5");
                return true;
            }

            if (Utility.IPMatch("100.64-127.*", ip))
            {
                Console.WriteLine("6");
                return true;
            }
            Console.WriteLine("7");
            return false;
        }
 
Ok, couldn't find that in the distro. I'm assuming you added those Console Writes for testing?

Do you happen to be using a VPN?

It's weird that its not finding your external IP and also weird that its showing 1.1.1.89, is your server using Cloudflare?
 
Ok, couldn't find that in the distro. I'm assuming you added those Console Writes for testing?

Do you happen to be using a VPN?

It's weird that its not finding your external IP and also weird that its showing 1.1.1.89, is your server using Cloudflare?

I dont use vpn.
That ip is for my private network im using 1.1.1.0/24 that is my private ip.
 
How are you using 1.1.1.89 as a private ip address? That is a publicly routable ip address...

View attachment 16929

I know that. the map is this.


1.1.1.89 (private ip) -> router (xxx.xxx.xxx.xxx) (public ip)

The external client connect to xxx.xxx.xxx.xxx the router map this ip to my local computer to the port 2593, i think the server can manage the translate from private and public ip, if this isnt the case, so this application only work with a computer with a public ip like vps or dedicate server.
Post automatically merged:
 
Last edited:
Routers are made to use NAT, translating an external ip address to internal (private) ip addresses.
Private IP ranges are:
10.0.0.0 to 10.255.255.255
172.16.0.0 to 172.31.255.255
192.168.0.0 to 192.168.255.255
100.64.0.0 to 100.127.255.255 (special rules for this range)

Port forwarding is designed route traffic on a external ip to an internal ip. Your router CAN route to an internal IP even if it is using a public IP. However, this is NEVER recommended unless you own the actual static IP.

My guess would be that because you are using a public ip address AS a private IP address, the negotiation between the server and the client is attempting to communicate on 1.1.1.89. ServUO is not recognizing 1.1.1.89 as a private IP (correctly so!). This is why you are seeing an initial connection but not the followup connection when the client attempts to route traffic back to the server:

So, my recommendation is to set your network to use an actual private IP range, instead of 1.1.1.0/24 and see if that fixes the issue. I'm not sure what your reasoning for using a range that is supposed to be public but you are asking for issues this way.
 
Routers are made to use NAT, translating an external ip address to internal (private) ip addresses.
Private IP ranges are:
10.0.0.0 to 10.255.255.255
172.16.0.0 to 172.31.255.255
192.168.0.0 to 192.168.255.255
100.64.0.0 to 100.127.255.255 (special rules for this range)

Port forwarding is designed route traffic on a external ip to an internal ip. Your router CAN route to an internal IP even if it is using a public IP. However, this is NEVER recommended unless you own the actual static IP.

My guess would be that because you are using a public ip address AS a private IP address, the negotiation between the server and the client is attempting to communicate on 1.1.1.89. ServUO is not recognizing 1.1.1.89 as a private IP (correctly so!). This is why you are seeing an initial connection but not the followup connection when the client attempts to route traffic back to the server:

So, my recommendation is to set your network to use an actual private IP range, instead of 1.1.1.0/24 and see if that fixes the issue. I'm not sure what your reasoning for using a range that is supposed to be public but you are asking for issues this way.

tottaly agree, that have all sense for me, i modify a little the scripts and works (modify the entire network cost more). my friend can connect.
Thanks, i will change the form the server categorize the ip.

Ravenwolfe you are my hero, my own network configuration play against me :3
 
Hi Pyro, this is my Server.cfg

View attachment 16904

where in address add public ip example: 200.123.200.85 or ddns (no-ip) test.ddns.net
in autoDetect put before, true or false
the port always use the same.


I have a question ServUO only use 2593 or he use another port?, because some games have the conection port but when the player is connected he assigned another port.
So just making these changed on my Pvt server makes it public for others to enter?
 
Back