Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/renerocksai/bullets-server
https://github.com/renerocksai/bullets-server
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/renerocksai/bullets-server
- Owner: renerocksai
- License: mit
- Created: 2020-06-24T14:50:51.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-10-18T00:18:53.000Z (3 months ago)
- Last Synced: 2024-10-20T11:37:03.086Z (3 months ago)
- Language: GDScript
- Size: 32.2 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# bullets-server
Here is how to build it on your machine and deploy it to a fresh Ubuntu install, with a non-root user.
## On your machine
- clone the repository
- run `./build_docker.sh`
- this will buld a docker image that runs the godot server after having exported the godot project to Linux/X11
- deploy to your server via ssh:
- run `./deploy_ssh server-name`
- replace server-name with the name of your server (or the alias in your ssh config)
- this will copy the docker image and the runner script to your server## On the server
### Setup
This is for a digitalocean docker droplet running ubuntu 20.04 LTS. Any ubuntu-like with docker will do.It is assumed that this is a blank Ubuntu + Docker install, with no webserver running.
### User setup
- run `useradd bullets` to create a non-root user
- ssh into the server as that user### Firewall
Ubuntu runs ufw. Configure ufw like this:- copy `ufw_app_bullets_server` to `/etc/ufw/applications.d/bullets-server`
- copy `ufw_app_http_server` to `/etc/ufw/applications.d/http-server`
- http is used for letsencrypt to get SSL certificates
- run `sudo ufw allow HTTP`
- run `sudo ufw allow bullets-server`### letsencrypt
For SSL.- `sudo snap install --classic certbot`
- `sudo certbot certonly --standalone`#### Note: Check out [the certbot site](https://certbot.eff.org/lets-encrypt/ubuntufocal-other) to set up auto renewal. TODO: Write scripts that restart the container upon renewal!
### Load Docker image
- (You have scp-ed to the server)
- run `gunzip bullets-server.docker.tar.gz`
- run `docker load -i bullets-server.docker.tar`### Run the server
- run `./run_container.sh your-host.your-domain.com` as user (bullets)
- you might get prompted for your password, to execute sudo commands## In your bullets presentation
- press `M` for multiplayer
- change the url to `wss://your-host.your-domain.com:9000`
- click `Join!`
- repeat in other running presentation