gamemann / Kilimanjaro

A neat packet processing/forwarding program I made for a gaming community I used to be a part of. Includes many features.
29 stars 1 forks source link

Little help with json example #1

Closed axl303 closed 1 year ago

axl303 commented 1 year ago

Hello, sorry for the stupid issue, can you provide some info how to use the json example? Like what are the configs in the json file? How to enable caching a2s or how to limit pps? https://github.com/gamemann/Kilimanjaro/blob/master/data/kilimanjaro.json.example

I managed to compile and run it on Debian 12 everything is okay, but don't know how to enable/change the settings.

ImXaze commented 1 year ago

{ "interface": "enp1s0", "force_mode": 0, "socket_count": 0, "verbose": 0, "calc_stats": 1, "zero_copy": 0, "need_wakeup": 1, "batch_size": 64, "queue_is_static": 0, "allow_all_edge": 1, "connections": [ { "enabled": true, "bind_port": 27025, "protocol": "udp", "is_enabled": 1, "dest_ip": "10.0.0.1", "dest_port": 27025, "filters": 4, "udp_rl": { "pps": 50000, "bps": 200000000, "block_time": 30 }, "tcp_rl": { "pps": 50000, "bps": 200000000, "block_time": 30 }, "icmp_rl": { "pps": 1000, "bps": 1000000, "block_time": 30 }, "syn_settings": { "rl": { "pps": 1000, "bps": 1000000, "block_time": 30 } }, "cache_settings": { "A2S_INFO": 1, "A2S_INFO_time": 60, "A2S_INFO_global_cache": 0, "A2S_INFO_cache_timeout": 60 } } ], "verbose": 1 }

There are lots of issues with this repo; you'll need to recode a lot before you can get it working with an standard gmod/source xdp forward w/ an anycast setup.

axl303 commented 1 year ago

Thank you for the comment. I really appreciate it. I am using it only for learning purposes. I needed only a simple query cacher and a rate limiter to put before netfilter (in driver mode). Or maybe will use it as a whitelist for certain ips/cidr for a private game server (20-60 people/players). Once again thank you for the comment. 🙏👍