UDP-to-PubSub bridge to traverse NATs by only using outgoing TCP. bodet.js and ultimatescore.js acts as emulators for respectively the bodet client and ultimatescore. The former listens for UDP messages on port 6000, and forwards any messages to a Google PubSub topic. The latter uses longpolling (with reconnect) to retrieve messages from a subscription on the topic, and sends the payload as UDP. The destination port is sent as a pubsub message attribute, so the bodet.js client implicitly chooses the port. Both programs require gcloud credentials available in environment: Either by having set the environment variable GOOGLE_APPLICATION_CREDENTIALS to a JSON file with ServiceAccount credentials, or by using a personal account logged in with gcloud auth login. Using a ServiceAccount is recommended. To download a ServiceAccount credential file, go to https://console.cloud.google.com/iam-admin/serviceaccounts?project=plastkast and click the dot-menu for ultimatescore@plastkast.iam.gserviceaccount.com, choose Create Key and follow instructions. The account already has the necessary privileges.