Warzone2100 hosting

Hi,

I’ve been trying to host a warzonw2100 game for a long time and still can’t get it done.

I have correctly configured the virtual server in my tp-link router (the little one for sim cards) but it doesn’t work.

If I set the entry and exit rules in the firewall nothing works.

If I deactivate the firewall completely it works partially but at the end it gives me the message that you see in the picture even with the firewall deactivated, what can it be?
How can I host a game?

Hosting a game:
INCOME: TCP PORT 2100
OUTCOME: TCP PORT 2100

Join a game:
INCOME: TCP PORT 9990
OUTCOME: TCP PORT 9990

Also check if the ip address match on your router.

Try host a game and run:

ss -atn | grep -v "127.0.0.1"

to check if port 2100 was opened by the game.

However, normally it should just use UPNP to open a port, but this must be enabled on your router.

If you can’t join a game that you see, check the following:

You need to have exactly same version of the game to join. You shouldn’t have a problem if you are using the latest stable version, or probably the latest development version if it’s currently officially available.

You need to have no mods installed, unless you are joining a modded game. Map-mods are usually ok to have.

Some games are protected with a password. You will not be able to join them unless you are invited.

The game uses outgoing port 2100 to connect the host and outgoing port 9990 to retrieve the list of games.

it’s right?

Screenshot_20210617_210314

yes the port is open, but without an ip

LISTEN    0      5                  *:2100                *:*

@Phoenix Seems to be correct…

Any IP should able to access the game through port 2100, thus the Asterisk * stands for any IP.

If the internal IP on the router is correct and match your computer, then this should be correct.

Maybe check also if the port is really open:

nmap -p2100,9990 $public_ip

Btw… did you install the snap package? Possible that you need to open a port there also, since it is a sandbox.

it’s open

PORT     STATE    SERVICE

2100/tcp filtered amiganetfs
9990/tcp closed osm-appsrvr

It must be open not filtered.

I tested it myself. UPNP is working. I don’t need to open any ports.

PORT     STATE    SERVICE
2100/tcp open     amiganetfs
9990/tcp filtered osm-appsrvr

Nmap done: 1 IP address (1 host up) scanned in 0.94 seconds

I don’t understand, don’t I have to open the port in the router?
Should I also give a rule to the firewall on that port or disable it directly?
I have to open the port and not filter it, but how?

Not really. UPNP is a service that temporary opens ports on the NAT, when a application of your computer on your private network ask for it.

The easiest way is to enable UPNP… I have no idea which Router you have, but I found this image:

But well there are also security downsides: Really any app can open ports.

Like i said above, the Port Forwarding is correct. But I guess TP Link filtered it, if you set “Protocols: ALL”. Specify which Protocol should be used. I guess it is “TCP”.

1 Like

UPNP is enabled, I didn’t know it was a security risk, good to know I guess I have to disable it every time I finish.

Now I try instead of enabling all protocols to do only the tcp ones and see what comes out with nmap.

Keep in mind that I always have to disable the firewall so that the external ip can be seen, otherwise that doesn’t work either. And instead I would like to keep the firewall active, because otherwise there are too many security risks.

In practice, if I activate warzone without disabling the firewall first, it tells me upnp device not found.

Even if I configure the ports on virtual server as tcp it doesn’t work anyway.

If I understood correctly, activating the upnp I should not even open the ports in virtual server.

Yet even opening the ports does not work, in fact disabling the firewall tells me this: PORT STATE SERVICE
2100/tcp filtered amiganetfs
9990/tcp closed osm-appsrvr

Screenshot_20210619_140113

1 Like

I forgot, one time the upnp activated, yet I hadn’t done anything other than disable the firewall and open the ports in the router, that’s all.

1 Like

When you say “firewall”, do you mean the one on the router or a software fw on your PC? If the latter, what firewall software are you using? ufw?

1 Like

Yes I mean the software preinstalled in manjaro that should be precisely ufw

1 Like

So which rules did you set up?
Can you post sudo ufw status verbose

sudo ufw allow 2100,9990/tcp

should do it.

1 Like
PORT     STATE    SERVICE

2100/tcp filtered amiganetfs
9990/tcp closed osm-appsrvr

If I do not disable the firewall completely it does not find the upnp device the game

1 Like

That’s not the output of sudo ufw status verbose

Not sure what that means.
With the port forwardings or “virtual servers” as it seems to be named on your router, UPnP should not be required. As @megavolt explained, UPnP is just some service that allows your PC to automatically set up those port forwardings on your router (which imho is shit, but ok).
Are you saying the game demands you to have UPnP enabled in order to work?

1 Like

Check which ports are open on your router internally:

nmap -p0-65535 $routerip

UPNP works with UDP Protocol:

sudo nmap -sU -p1900 $routerip

This one needs to be open aswell on your local firewall ufw in case you want to use UPNP.

1 Like
65532 closed ports

PORT STATE SERVICE
53/tcp open domain
80/tcp open http
1901/tcp open fjicl-tep-a
52881/tcp open unknown

Nmap done: 1 IP address (1 host up) scanned in 9.01 seconds

PORT     STATE         SERVICE

1900/udp open|filtered upnp
MAC Address: 00000000000 (Tp-link Technologies)

I don’t know, I’m not familiar with these protocols, I thought it was easy, open port in the router, at most give a rule to the firewall and that’s it, maybe that it’s not my router that has something wrong.

Thanks for the assistance guys however it will go, special thanks to Megavolt who is dedicating time.

That should be it indeed.
One of those is blocking it seemingly, so we’re trying to figure out what’s wrong.

sudo ufw status verbose
ip addr

and send again that “Virtual Servers” screenshot without the “Internal IP” blacked out.
(It’s internal only, nobody can mess with you anyways)