From 2e84f3ac4869791c36bd034e808b3c41327720d2 Mon Sep 17 00:00:00 2001 From: Michael Morrison Date: Tue, 18 May 2021 07:25:23 -0500 Subject: [PATCH] Add some FAQ about why queries may fail --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 28bf245..77a16b0 100644 --- a/README.md +++ b/README.md @@ -461,6 +461,25 @@ Valheim servers will only respond to queries if they are started in public mode For many valve games, additional 'rules' may be fetched into the unstable `raw` field by passing the additional option: `requestRules: true`. Beware that this may increase query time. +Important note about Firewalls (replit / docker / some VPS providers) +--- +Most game query protocols require a UDP request and response. This means that in some environments, gamedig may not be able to receive the reponse required due to environmental restrictions. + +Some examples include: +* Docker containers + * You may need to run the container in `--network host` mode so that gamedig can bind a UDP listen port +* replit + * Most online IDEs run in an isolated container, which will never receive UDP responses from outside networks. +* Various VPS / server providers + * Even if your server provider doesn't explicitly block incoming UDP packets, some server hosts block other server hosts from connecting to them for DDOS-mitigation and anti-botting purposes. + +Important note about gamedig in the browser +--- +Gamedig cannot operate within a browser. This means you cannot package it as part of your webpack / browserify / rollup / parcel package. +Even if you were able to get it packaged into a bundle, unfortunately no browsers support the UDP protocols required to query server status +from most game servers. As an alternative, we'd recommend using gamedig on your server-side, then expose your own API to your webapp's frontend +displaying the status information. If your application is thin (with no constant server component), you may wish to investigate a server-less lambda provider. + Usage from Command Line ---