Troubleshooting¶
Solutions for common issues you may encounter when using the MAGK platform. Issues are organized by category — find your problem and follow the resolution steps.
TAK Client Connection Issues¶
Client cannot connect to the server¶
Symptoms: TAK client shows "Disconnected" or "Connection failed" status. No other players visible on the map.
Solutions:
- Verify the server address and port in your TAK client settings. The default SSL port is
8089. - Confirm your certificate is imported correctly — see TAK Client Setup for import instructions.
- Test network connectivity to the server:
# From a computer on the same network telnet <server-address> 8089 - Switch between WiFi and cellular to rule out local network restrictions.
- Check that port
8089is not blocked by a firewall or corporate network policy. - Restart the TAK client application completely (force close and reopen).
Connection drops intermittently¶
Symptoms: TAK client connects but disconnects after a few minutes, then reconnects.
Solutions:
- Check your network signal strength — weak WiFi or cellular signal causes dropped connections.
- Disable battery optimization for your TAK client app (Android: Settings → Apps → ATAK → Battery → Unrestricted).
- On iOS, ensure iTAK is allowed background activity in Settings → General → Background App Refresh.
- If on a congested network (e.g., event venue with many users), ask your organizer about network capacity.
TCP vs SSL connection confusion¶
Symptoms: Client connects on the wrong port or protocol. Data appears unencrypted.
Solutions:
- Always use SSL protocol on port 8089 unless your organizer explicitly directs otherwise.
- Port
8087is plaintext TCP — only use it for testing or when SSL is unavailable. - In your TAK client, verify the protocol dropdown is set to SSL, not TCP or UDP.
Position not appearing on the tactical map¶
Symptoms: You are connected but your icon does not appear on the map for other players.
Solutions:
- Enable GPS/location services on your device and grant location permissions to the TAK client.
- Move outdoors for better GPS signal — indoor GPS reception is unreliable.
- Wait 30 seconds after connecting for the initial position report to transmit.
- Confirm the event is in Active status — position sharing is disabled for draft events.
- Restart the TAK client if the issue persists.
Certificate Errors¶
"Certificate not trusted" error¶
Symptoms: TAK client displays a trust error when connecting. Connection is refused.
Solutions:
- Verify you imported the certificate for the correct event — each event may use a different Certificate Authority.
- Delete the existing certificate from your TAK client and re-import the correct one.
- Check that the CA certificate is included in your data package. If you used a
.p12file, you may also need to import the CA certificate separately. - Ask your organizer to re-issue your certificate if the problem persists.
Certificate import fails¶
Symptoms: TAK client rejects the certificate file during import. Error message about invalid format or wrong password.
Solutions:
- Confirm the certificate password matches what your organizer provided — passwords are case-sensitive.
- Re-download the certificate file. The file may have been corrupted during transfer.
- For
.p12files, ensure the file extension is correct (not renamed to.zipor vice versa). - On iOS, save the
.p12file to the Files app before importing — email attachments may not be accessible from iTAK's file picker. - On Android, try importing the
.zipdata package instead of the raw.p12file — ATAK handles data packages more reliably.
Certificate expired¶
Symptoms: Previously working connection stops with a certificate error. Certificate shows as expired in the client.
Solutions:
- Check the certificate expiration date in your TAK client's certificate manager.
- Contact your organizer or admin to issue a new certificate.
- Delete the expired certificate and import the replacement.
- Admins: navigate to Admin → Certificates to view expiration dates and re-issue certificates. See Certificates.
Certificate revoked¶
Symptoms: Connection fails after previously working. Admin revoked your certificate.
Solutions:
- Contact your event organizer to understand why the certificate was revoked.
- If a new certificate is issued, delete the old one from your TAK client and import the replacement.
- Revocation takes effect on the next connection attempt — if you're still connected, you'll be disconnected when the session ends.
Device Pairing and Provisioning Failures¶
Node device not detected during provisioning¶
Symptoms: The MAGK Node does not appear in the Unprovisioned Devices list.
Solutions:
- Confirm the node is powered on and connected to the provisioning network.
- Verify the node and the MAGK server are on the same network or that UDP port
5683is routable between them. - Check the node's LED indicator for status — refer to your hardware documentation for LED codes.
- Restart the node device and wait 30 seconds for it to broadcast its presence.
- Check Admin → Logs for any node discovery errors.
Provisioning fails with an error¶
Symptoms: Provisioning starts but the status changes to Error. The device does not come online.
Solutions:
- Check the provisioning logs at Admin → Nodes → Provisioning Logs for the specific error message.
- Common causes:
- Network timeout — The node lost connectivity during provisioning. Retry the operation.
- Incompatible firmware — The selected firmware version is not compatible with the hardware. Try a different firmware version.
- Configuration template error — A required field (e.g., Server URL) is missing in the template. Edit the template and retry.
- Re-provision the device after resolving the underlying issue.
Node shows "Offline" after successful provisioning¶
Symptoms: Provisioning completed successfully but the node status is Offline.
Solutions:
- Verify the node's network connection — it must reach the MAGK server on the configured UDP port (default:
5683). - Check that the Server URL in the configuration template points to the correct MAGK server address.
- Confirm no firewall is blocking UDP traffic on port
5683. - Review Admin → Infrastructure for any service health issues.
- Re-provision the node if the configuration was incorrect.
Web UI Issues¶
Page loads with a blank screen or errors¶
Symptoms: The MAGK web interface shows a white screen, loading spinner that never completes, or JavaScript errors in the browser console.
Solutions:
- Hard-refresh the page:
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(macOS). - Clear your browser cache and cookies for the MAGK domain.
- Try a different browser or incognito/private window to rule out extension conflicts.
- Check the browser developer console (
F12→ Console tab) for error messages and share them with your admin.
Login fails or session expires immediately¶
Symptoms: You enter correct credentials but are redirected back to the login page, or your session expires within seconds.
Solutions:
- Verify your account is active — deactivated accounts cannot log in. Contact your admin.
- Clear browser cookies for the MAGK domain and try again.
- Check that your browser allows cookies — session authentication requires cookies.
- Admins: verify the
BETTER_AUTH_SECRETandBETTER_AUTH_TRUSTED_ORIGINSvalues in.envare correct. Mismatched trusted origins cause session rejection.
Tactical map does not load or shows no tiles¶
Symptoms: The map area is blank, grey, or shows broken tile images.
Solutions:
- Check your internet connection — map tiles are loaded from external providers.
- If using MapTiler or Mapbox, verify the API key is configured in Admin → Settings.
- The default provider (OpenStreetMap) requires no API key. If tiles still fail, the OSM tile server may be temporarily unavailable.
- Try switching map layers (street → satellite → hybrid) to see if a specific layer is the issue.
- Check the browser console for CORS or 403 errors indicating an invalid or expired API key.
Real-time updates not working¶
Symptoms: Scoreboard, map markers, or event status do not update in real time. Data only refreshes on page reload.
Solutions:
- Check the WebSocket connection indicator in the UI (if available). A disconnected state means real-time updates are paused.
- Verify your browser supports WebSocket connections and no proxy or firewall is blocking them.
- Admins: check that the WebSocket gateway service is running — see Admin → Infrastructure.
- Admins: verify RabbitMQ is healthy — the WebSocket gateway depends on RabbitMQ for message delivery.
Docker and Deployment Issues¶
docker compose build fails for the docs service¶
Symptoms: The docs container fails to build with MkDocs errors.
Solutions:
- Check the build output for the specific error. Common causes:
- Missing Markdown file — A file referenced in
mkdocs.ymlnav does not exist. Create the missing file or remove the nav entry. - Invalid YAML — Syntax error in
mkdocs.yml. Validate with a YAML linter. - Plugin error — A required MkDocs plugin is not installed. Check
requirements.txt.
- Missing Markdown file — A file referenced in
- Run the build locally to debug:
docker compose build docs
Container fails health check and keeps restarting¶
Symptoms: A service shows as "unhealthy" in docker ps. The container restarts repeatedly.
Solutions:
- Check container logs for the failing service:
docker compose logs <service-name> --tail 50 - Common causes:
- Database not ready — The service started before PostgreSQL was available. Wait for the database to initialize, or check
depends_onconfiguration. - Missing environment variables — A required
.envvariable is not set. Compare your.envagainst.env.template. - Port conflict — Another process is using the same port. Check with
lsof -i :<port>ornetstat -tlnp.
- Database not ready — The service started before PostgreSQL was available. Wait for the database to initialize, or check
- Restart the specific service:
docker compose restart <service-name>
Traefik returns 502 Bad Gateway¶
Symptoms: Accessing the MAGK web UI or docs site returns a 502 error.
Solutions:
- Verify the target service is running:
docker compose ps - Check that the service is on the correct Docker network (
magk-networkandt3_proxy). - Review Traefik logs for routing errors:
docker compose logs traefik --tail 50 - Confirm the Traefik labels in the compose file match the expected host rule and port.
- If the service recently restarted, wait for the health check to pass before Traefik routes traffic to it.
SSL certificate errors in the browser¶
Symptoms: Browser shows "Your connection is not private" or certificate warning when accessing the MAGK site.
Solutions:
- Verify the
DOMAINandSSL_EMAILvalues in.envare correct. - Check that DNS records for your domain point to the server's IP address.
- Review Traefik logs for Let's Encrypt certificate issuance errors:
docker compose logs traefik --tail 100 | grep -i "acme\|certificate\|letsencrypt" - Ensure ports
80and443are open — Let's Encrypt requires these for certificate validation. - For Route53 DNS validation, verify the AWS credentials and hosted zone configuration.
Voice Communications (Mumble)¶
Server shows "Disconnected" in admin panel¶
Symptoms: The Voice admin page shows the server status as "Disconnected" or "Disabled".
Solutions:
- Verify
MUMBLE_ENABLED=trueis set in your.envfile. - Check that the
magk-mumblecontainer is running and healthy:docker compose ps magk-mumble - Check the Ice Admin Sidecar logs for connection errors:
docker compose logs magk-mumble-admin --tail 50 - If the status shows "Disabled", the
MUMBLE_ENABLEDvariable is not set totrue. Update.envand restart the stack. - Verify the Ice RPC port (
6502) is accessible between containers on the Docker network.
Players cannot authenticate¶
Symptoms: Players receive "Invalid username or password" when connecting to the Mumble server.
Solutions:
- Verify
MUMBLE_LDAP_ENABLED=trueis set in your.envfile. - Confirm the roster has been finalized for the event — LDAP credentials are provisioned during finalization.
- Check that the player's Mumble username matches their roster assignment (visible on their profile page).
- Check the Ice Admin Sidecar logs for LDAP bind errors:
docker compose logs magk-mumble-admin --tail 50 | grep -i "ldap\|auth" - Verify the OpenLDAP container is healthy:
docker compose ps magk-openldap
One-way audio (can hear but not be heard, or vice versa)¶
Symptoms: Voice communication only works in one direction. Players can hear others but their own voice doesn't transmit, or they can transmit but hear nothing.
Solutions:
- Ensure UDP port 64738 is forwarded on your router/firewall. Mumble uses UDP for voice data — TCP alone causes one-way audio.
- Check that no VPN or corporate firewall is blocking UDP traffic on port 64738.
- Verify the
MUMBLE_EXTERNAL_PORTvalue matches the port forwarded on your router. - For ATAK Vx plugin users, check microphone permissions in Android settings.
- Try connecting from a different network (cellular vs. WiFi) to isolate the issue.
Vx plugin shows certificate error¶
Symptoms: The ATAK Vx plugin refuses to connect with a certificate trust error.
Solutions:
- If using
MUMBLE_CERT_MODE=self-signed, the Vx plugin may not trust the certificate. Switch toMUMBLE_CERT_MODE=cafor CA-signed certificates. - Re-import the TAK data package — it includes the Mumble TLS certificate in the trust store.
- Verify the Mumble TLS certificate includes the
extendedKeyUsageserver authentication extension. - Clear the Vx plugin's certificate cache and reconnect.
- As a last resort, manually trust the certificate in ATAK's security settings.
Channels not provisioned after roster finalization¶
Symptoms: Roster finalization completes but no Mumble channels appear in the Voice admin page.
Solutions:
- Verify the event has Enable Mumble Voice checked in the Communications settings.
- Check the web service logs for provisioning errors:
docker compose logs magk-web --tail 100 | grep -i "mumble\|provision" - Verify the Ice Admin Sidecar is reachable from the web service.
- Try deprovisioning and re-finalizing the roster from the event's Communications section.
Connected users not visible in admin panel¶
Symptoms: Players are connected to Mumble but the admin panel shows no connected users.
Solutions:
- If using the monitoring bot (
MUMBLE_MONITORING_ENABLED=true), check its container logs:docker compose logs magk-mumble-monitor --tail 50 - Without the monitoring bot, connected user data comes from Ice RPC queries. Verify the sidecar is healthy.
- Refresh the Voice admin page — user data updates in real time via WebSocket when the monitoring bot is active.
Getting More Help¶
If your issue isn't covered here:
- Check the FAQ for quick answers to common questions
- Review the relevant guide for your role:
- Check Admin → Logs for system-level error messages
- Contact your event organizer for event-specific issues