Geomate - Geographic Game Server Filter for OpenWrt

I made a new circle for the second game but it's red.

If you increase the debug level, you'll need to check the syslog.

I just did some testing, and it works as I mentioned:

Each circle gets its color based on the name you assign to it. If you have two overlapping circles, their colors are simply blended together, but this shouldn't affect the functionality.

I did some further testing and found a few UI bugs where IPs were not displayed correctly on the map.

The issue mainly occurred when multiple geo-filters were active at the same time.

Additionally, the problem arose when multiple geo-filters had the same source IP and port combination.

These bugs should now be fixed, so I would ask you to reinstall and test geomate again.

However, I still want to point out something: Looking at your geo-filters, both are using the same source ports:

57006 3074-3079

  1. For Call of Duty, only the source port 3074 should be necessary. No additional ports or port ranges are typically required.
  2. For the other game, it's also unlikely that both 57006 and 3074-3079 are needed to connect to the servers.

I reinstalled it and unfortunately nothing has changed for me except now the map takes a good while to load. Sometimes the image I provided pops up.

It's hard to explain the ports but I have to have 57006 open for my console. I did change the other so it's only 3074 but I still don't see active connections or anything displayed on the map.

After the latest changes, the initial loading of the map takes longer, even for me. However, this is because Iā€™m now performing more complex operations to correctly assign the IPs in the UI. I might be able to optimize this further.

The error could indicate that youā€™re not using the latest UI files. You should close your browser, clear your browser cache, try again, and then let me know how it goes.

Iā€™m not entirely sure what you mean by this or why you forwarded port 57006 in the first place.

It's not about the ports your console uses rather the ports the game uses. You can check the ports with qosmate as described in the geomate readme.

I cleared everything on my browser and still nothing appears.

Can you show all the outputs again and tell me what game you are trying it with?

There is probably something misconfigured or you donā€™t have the right gaming ports

The very first time I installed it, I was getting active connections but then it stopped even after deleting it and reinstalling.

root@OpenWrt:~# ls -l /etc/geomate.d/
-rw-r--r--    1 root     root       1358097 Jan 15 10:41 Call of Duty_geo_data.json
-rw-r--r--    1 root     root         50683 Jan 10 09:25 Fortnite_geo_data.json
-rw-r--r--    1 root     root         33377 Jan 15 10:41 Texas Chain Saw_geo_data.json
-rw-r--r--    1 root     root        102192 Jan 15 03:01 cod_servers.txt
-rw-r--r--    1 root     root          2272 Jan 10 07:42 fortnite_servers.txt
drwxr-xr-x    2 root     root          4096 Jan 16 07:31 runtime
-rw-r--r--    1 root     root          2745 Jan 15 02:29 texas_chain_saw_servers.txt
root@OpenWrt:~#
root@OpenWrt:~# ls -l /etc/geomate.d/runtime/
-rw-r--r--    1 root     root        102192 Jan 15 03:03 Call of Duty_last_processed
-rw-r--r--    1 root     root          2272 Jan 10 09:25 Fortnite_last_processed
-rw-r--r--    1 root     root          2745 Jan 15 02:29 Texas Chain Saw_last_processed
-rw-r--r--    1 root     root            11 Jan 16 07:31 last_geolocate_run
-rw-r--r--    1 root     root            11 Jan 15 10:41 last_geolocate_run.daily
-rw-r--r--    1 root     root             5 Jan 16 07:31 last_geolocate_run.interval
-rw-r--r--    1 root     root             0 Jan 16 07:31 new_ips.txt

Also the other commands

Sorry I thought I did.

root@OpenWrt:~# service geomate status
running
root@OpenWrt:~#
root@OpenWrt:~# ls -l /etc/geomate.d/
-rw-r--r--    1 root     root       1358097 Jan 15 10:41 Call of Duty_geo_data.j   son
-rw-r--r--    1 root     root         50683 Jan 10 09:25 Fortnite_geo_data.json
-rw-r--r--    1 root     root         33377 Jan 15 10:41 Texas Chain Saw_geo_dat   a.json
-rw-r--r--    1 root     root        102192 Jan 15 03:01 cod_servers.txt
-rw-r--r--    1 root     root          2272 Jan 10 07:42 fortnite_servers.txt
drwxr-xr-x    2 root     root          4096 Jan 16 08:12 runtime
-rw-r--r--    1 root     root          2745 Jan 15 02:29 texas_chain_saw_servers   .txt
root@OpenWrt:~#
root@OpenWrt:~# ls -l /etc/geomate.d/runtime/
-rw-r--r--    1 root     root        102192 Jan 15 03:03 Call of Duty_last_proce   ssed
-rw-r--r--    1 root     root          2272 Jan 10 09:25 Fortnite_last_processed
-rw-r--r--    1 root     root          2745 Jan 15 02:29 Texas Chain Saw_last_pr   ocessed
-rw-r--r--    1 root     root            11 Jan 16 07:31 last_geolocate_run
-rw-r--r--    1 root     root            11 Jan 15 10:41 last_geolocate_run.dail   y
-rw-r--r--    1 root     root             5 Jan 16 07:31 last_geolocate_run.inte   rval
-rw-r--r--    1 root     root             0 Jan 16 08:12 new_ips.txt
root@OpenWrt:~#
root@OpenWrt:~# cat /etc/config/geomate

config global 'global'
        option enabled '1'
        option debug_level '0'
        option strict_mode '0'
        option operational_mode 'dynamic'
        option geolocation_mode 'frequent'

config settings 'settings'
        option interface 'br-lan'

config geo_filter
        option name 'Call of Duty'
        option protocol 'udp'
        option src_ip '192.168.1.5'
        option src_port '3074'
        option ip_list '/etc/geomate.d/cod_servers.txt'
        option enabled '1'
        list allowed_ip '185.34.107.128'
        list allowed_ip '185.34.107.129'
        list allowed_ip '185.216.14.7'
        list allowed_region 'circle:42.11287148:-79.87933802:739141'

config geo_filter
        option name 'Texas Chain Saw'
        option enabled '1'
        option protocol 'udp'
        option src_ip '192.168.1.5'
        option src_port '3074'
        option ip_list '/etc/geomate.d/texas_chain_saw_servers.txt'
        list allowed_region 'circle:41.91296410:-80.08318183:969978'

And which of the two games did you test? Please make sure to always answer all of my questions.

Did you also verify that these games actually use the ports you are using and that your gaming device consistently gets the ip (static ip) you specified in the filter?

I tested with both games. I checked and saw they were using port 3075 so I added it and it made no difference.

Like I said when I originally first installed it, it worked and I didn't even add ports yet at the time. Then one day it stopped. I've completely uninstalled everything and re-installed a couple of times. Still doing it.

Yes my console always uses the same static ip.

Where or with what did you check that the games are using port 3075?

What console are you using?

What command did you use to uninstall?

Did you geolocate initially after you reinstalled geomate?

Please show me the following commands:

uci show dhcp | grep -E "ip=|name=" | sed 's/dhcp.@host\[[0-9]\+\].//'

logread | grep geomate

Where or with what did you check that the games are using port 3075?

I used qosmate

What console are you using?

Xbox Series X

What command did you use to uninstall?

# Stop and disable the service
/etc/init.d/geomate stop && \
/etc/init.d/geomate disable && \
# Remove application files but keep config and data
rm -f /etc/init.d/geomate /etc/geomate.sh /etc/geomate_trigger.sh /etc/geolocate.sh && \
# Remove LuCI interface
rm -rf /www/luci-static/resources/view/geomate /usr/share/luci/menu.d/luci-app-geomate.json /usr/share/rpcd/acl.d/luci-app-geomate.json /usr/libexec/rpcd/luci.geomate && \
# Restart services
/etc/init.d/rpcd restart && \
/etc/init.d/uhttpd restart
rm -rf /etc/config/geomate /etc/geomate.d

Did you geolocate initially after you reinstalled geomate?

I did not run the manual geolocation.

Please show me the following commands:

Sun Jan 19 09:03:08 2025 daemon.notice procd: /etc/rc.d/S95geomate: Starting geomate service...
Sun Jan 19 09:04:54 2025 user.notice geomate: Service is running

You forgot this

Mmh this is not the default port for cod on xbox.. I mainly play on pc but I have a series x and I just installed cod to test for you and itā€™s working on my end. By default cod/xbox uses port 3074 udp (as expected) but xbox also has a feature in the network settings where you can change the default gaming portā€¦ maybe you are using an alternative port? can you show me a screenshot of your XBOX network settings - it should show your ip, the used portā€¦ etc

My Xbox shows it's using that ip address and is using port 57006 and that's what shows on my xbox. I have to use that port because I game share and there's an issue with game sharing and using port 3074 for some reason. I've reported it to Xbox multiple times but they haven't done anything about it.

root@OpenWrt:~# uci show dhcp | grep -E "ip=|name=" | sed 's/dhcp.@host\[[0-9]\+
\].//'
ip='192.168.1.5'

Then you probably have to use this port.. As i said i performed some tests earlier and whenever i changed the xbox port also the cod port changed.

Maybe you misinterpreted the connection/port from the qosmate connections tab

Okay so I want that as my source port. Do I have to put anything for destination port? I just want to make sure I'm doing this correctly.

Yes, just replace the port in the default config

Nothing

So that's what I had my ports setup as. I currently can't access the map though. It just says loading view... but it never loads. I restarted geomate and even rebooted the router. Could any of this be due to the version of openwrt that I'm using? It's 23.05.5 if that could be the problem. Just not sure why I have issues with the map compared to the original install.

Have you cleared your browser cache?

I don't think so, geomate should work with 23.05 and everything above.

As Iā€™ve explained before, I made some adjustments and fixes in the UI, which has resulted in the map taking longer to load initially. However, this allows multiple GeoFilters with the same port, among other things, to be displayed correctly. Your issue might indicate that your device is too weak.

What is the output of:

ubus call system board