Skip to content

Hosting and Joining

starfi5h edited this page May 15, 2022 · 6 revisions

Joining

Players wishing to join a game can join by IP, or by Discord rich presence after Nebula 0.8.7.

Join by IP

Go to Multiplayer -> Join Game, then enter the IP address of Host. If the port is not specified, it would use default port 8469.

join1

Join by Discord rich presence

You can accept an invitation from Host, or send Host a request to join the game. See discord rich presence for more info.

send invite to clients send join request to host

Hosting

The default port is 8469, it is configurable in settings. Nebula uses WebSocket to transfer packets, so the host needs to have a publicly accessible IP address for TCP:

  • Local IP - If both Host and clients are in the same LAN.
  • IPv6 IP - If both Host and clients have IPv6 addresses.
  • IPv4 IP - If Host is not behind NAT.

Make sure to let DSPGame.exe pass through the firewall.
You can type /info in the in-game chat (open with Alt + ~ by default) to see the status of the port.
If the host is behind NAT, it would need to do NAT traversal. Below are some methods to do it:

Port forwarding

How to Port Forward – General Guide to Multiple Router Brands
If the router doing NAT is accessible, you can do port-forwarding. Once you forward the port, you can use /info (or online port check tool) to check the port status, it should show Port status: Open.

UPnP/NAT-PMP support

  • Enable UPnp/Pmp support - When enable, it will try use Open.NAT to forward port if your NAT devices support UPNP (Universal Plug & Play) and/or PMP (Port Mapping Protocol).

upnp-pmp

Reverse proxy

After v0.8.7, Nebula has build-in Ngrok support. Other options like FRP (Fast Reverse Proxy) can work too.

Ngrok support

In Settings -> Multiplayer -> Nework, there are Ngrok options:

  • Enable Ngrok support: When enabled, the game will try to start up Ngrok. It will download Ngrok to the mod folder when hosting for the first time.
  • Ngrok Authtoken: By registering in Ngrok, you'll get an authtoken. Copy and paste it here.
  • Ngrok Regions: Available regions are us, eu, au, ap, sa, jp, in.

ngrok-2

After installation is completed, type /info in chat then copy Ngrok address. The clients can now join by inputting the Ngrok address.
info2

Note: For free Ngrok account the address will be reset each time Host disconnects, and has limited bandwidth and usage.

VPN

There are many VPN services, such as Radmin, Zerotier or Hamachi.
If you're using VPN, port checker won't work to determine if the connection is sucessful.

Radmin

Open Radmin app and go Network -> Create New Network, and set name and password.
Let Client joins the network, then Client can connect by the IP shown in Radmin.
After connection

ZeroTier

How to Create a VPN tunnel with ZeroTier (Windows) is a tutorial on paperspace. For the latest version the difference is that in step 5 and 6 you'll need to open the control panel and enter Network ID there.

Start ZeroTier app, click Open Control panel
zeroTier1

Enter network Network ID in input field below. After joining, the device will get a managed IP.
zerorTier3a

If network is private, the network owner need to go to ZeroTier Central and click Auth button to approve each device.
zeroTier5a
After joining the network, the client can now join the game by host's managed IP.

Reference

Factior wiki - Multiplayer - Joining a Multiplayer game section
戴森球计划FRP联机教程 - 14 minutes video for FRP
連線到Minecraft基岩版伺服器:使用ZeroTier建立虛擬區域網路 - 3 minutes video for ZeroTierOne v1.8.3