J3c: a land server stopping tells its players and is started afresh when they rejoin; the extra ports to forward on the Host page, the hosting message, the server log and HOSTING.md
This commit is contained in:
@@ -113,15 +113,22 @@ To check it works: `tailscale ping <server name>` from the friend's
|
||||
computer.
|
||||
|
||||
### Port forwarding
|
||||
On your router, forward **UDP 24242** to the server computer's local
|
||||
address (give that computer a fixed local address first). Friends join
|
||||
with your public IP address. It needs no extra software, but your home IP
|
||||
and that port are public, so set a `password`.
|
||||
On your router, forward **UDP 24242 and 24243** to the server computer's
|
||||
local address (give that computer a fixed local address first). Friends
|
||||
join with your public IP address. It needs no extra software, but your
|
||||
home IP and those ports are public, so set a `password`.
|
||||
|
||||
Why two: each land of the journey runs as its own server on the next port
|
||||
up (24243 is the Cove's, when the server's on 24242). The server players
|
||||
join (the Valley's) starts it when someone first goes there and stops it
|
||||
when it's been empty a couple of minutes; everyone still joins on 24242.
|
||||
Host Game and the server's log both say which ports to forward. With
|
||||
Tailscale, or on the same Wi-Fi, there's nothing to do.
|
||||
|
||||
### A cloud server
|
||||
Any small Linux server works (it needs little: a couple of GB of memory).
|
||||
Install Godot, clone the game, use the systemd file, and open UDP 24242 in
|
||||
the provider's firewall.
|
||||
Install Godot, clone the game, use the systemd file, and open UDP 24242
|
||||
and 24243 in the provider's firewall.
|
||||
|
||||
## Troubleshooting
|
||||
- **"Different game version":** the server and the player are on different
|
||||
@@ -132,6 +139,11 @@ the provider's firewall.
|
||||
- **"Port 24242 is already in use":** another server is running on this
|
||||
computer (a dedicated one, or a Host Game that didn't stop). Stop it, or
|
||||
host on another port.
|
||||
- **"Lost the connection to the Cove":** that land's server stopped (it
|
||||
logs to `land-cove.log` beside `server.json`). Join again: the server
|
||||
starts it afresh and sends you back there.
|
||||
- **Stuck going on to the Cove from the internet:** UDP 24243 isn't
|
||||
forwarded (see above).
|
||||
- **The server says the game's scripts didn't load:** it's a fresh copy
|
||||
that hasn't been imported, or Godot is older than 4.7. `run_server.sh`
|
||||
handles both; see `docs/SETUP_ON_NEW_MACHINE.md`.
|
||||
|
||||
@@ -56,8 +56,17 @@ player list across lands are J3b). The rest is planned.
|
||||
asleep)" in chat.
|
||||
- `tests/test_net_lands.gd` covers it all, Alice in the Cove and Bob in the
|
||||
Valley.
|
||||
- Next, J3c: a land server crashing (its players back to the hub), and the
|
||||
Host page's extra ports.
|
||||
|
||||
*As built in J3c:*
|
||||
- A land server that stops (crashed, or killed) tells its players "Lost the
|
||||
connection to the Cove. Join the server again to carry on there."; the
|
||||
hub notices it's gone (even mid-join) and joining again starts it afresh
|
||||
and sends them back (their characters were saved by its autosave).
|
||||
- The extra ports: `Lands.extra_ports()` / `ports_text()` ("UDP 24242 and
|
||||
24243 (the Cove)"), on the Host page, in the "You're hosting" message, in
|
||||
a hub's start-up log, and in docs/HOSTING.md.
|
||||
- Tested in `test_net_lands.gd` (the Cove's server killed, Alice rejoins)
|
||||
and `test_worldlet_pick.gd` (the Host page).
|
||||
|
||||
*As built in J1:*
|
||||
- `scripts/world/tunnel.gd`: the seam (an outcrop on the clifftop strip,
|
||||
|
||||
Reference in New Issue
Block a user