Skip to main content

How do I connect to a MeshCore room server from the app?

How Do I Connect to a MeshCore Room Server From the App?

A MeshCore room server stores messages for offline nodes and enables larger-group conversations that persist beyond the RF range of any single transmission. ConnectingImportantly, a room server is reached over the LoRa mesh, not over the internet. There is no server IP address, hostname, or TCP port involved, and no firewall configuration is needed. To join one you need to onebe fromwithin RF range of the MeshCoremesh app(directly or via relays) and know the room server's password, which is straightforwardset once you haveby the server address, port, and room key from your community administrator.operator.

Step-by-step connection

  1. Open the MeshCore app on your phone and ensure your companion node is connected via Bluetooth.Bluetooth (or USB serial).
  2. TapWait for your companion node to discover the Settingsroom server as a contact on the mesh. iconRoom (gearservers icon,advertise usuallythemselves over LoRa, so they appear in theyour top-rightcontact list once your node hears them (directly or siderelayed menu)through other nodes).
  3. Select the Roomroom Serversserver from theyour settingscontact list.
  4. TapWhen Addprompted, Server (or the + button).
Enter the server address - this is the hostname or IP address of the server running pyMC_Repeater or another MeshCore room server implementation (e.g., mesh.example.com or 192.168.1.50). Enter the port number. The default port for MeshCore room servers is 5005. Your administrator may have configured a non-standard port. Enterenter the room keyserver password. This is athe shared secret providedset by yourthe communityserver administrator.operator. It must match exactly, including capitalization. TapOnce Savethe password is accepted, you join the room and can send and receive messages. Messages are stored by the room server and delivered to members as they come into range.

Administration of the room server itself is done locally over Bluetooth or Connect.USB Theserial appon willthe attemptroom toserver establishdevice, not over a network connection. A green indicator or Connected status confirms success.

Troubleshooting connection failures

If you cannot join the connectionroom fails,server, work through these checks systematically:checks:

ConnectionRoom refusedserver errordoes not appear as a contact

  • The room server node may not be powered on or may be out of RF range. Verify the room server node has power and that your node can hear it on the mesh (checkdirectly theor nodethrough list in the app)relays).
  • TheMove portcloser to the room server or to a node that relays it, then wait for your node to rediscover it on the mesh.
Confirm your companion node is wrong. Verify with your administrator what port is in use. A firewall is blockingon the connection.same Onregion/frequency settings as the server,room confirmserver theso portthey iscan open:
sudohear ufweach status
or
sudoother iptableson -L -n | grep 5005LoRa.

AuthenticationPassword failedrejected or wrong keypassword error

  • The room keypassword you entered does not match the serverroom server's configured key.password. KeysPasswords are case-sensitive. Try re-entering it manually rather than copy-pasting to rule out invisible characters.
  • The serveroperator may have hadchanged itsthe key rotated.password. Ask yourthe administratorserver operator for the current key.password.

AppMessages showsare Connectingnot indefinitelyarriving

  • Your phone cannot reach the server. Try opening a browser and navigating to http://[server-address]:[port] - if it times out, the network path is blocked.
If you are on a mobile data connection, your carrierYou may be blockingout of RF range of the port.room Tryserver connectingand any relaying nodes. Because delivery happens over Wi-Fithe firstmesh, toyou confirmonly receive stored messages when your node is within reach of the server is(directly reachable.or relayed). TheConfirm serveryour addresscompanion maynode haveis changed.still DNSconnected mayto haveyour cachedphone anover oldBluetooth IP.or TryUSB usingand is participating in the IP address directly.mesh.

Verifying the server is running (for administrators)

On the server host:

sudo systemctl status meshcore-room-server
sudo journalctl -f -u meshcore-room-server

You should see lines indicating the server is listening on the configured port. Incoming connection attempts will be logged when clients connect.