MMXOD Relay Server Help

If you are interested in hosting LAN matches or self-hosted servers, this detailed guide will explain how the Relay Server works, how to host your own servers, and more.

You can also consult the Decommission Guide for a high level overview of methods to use this tool to play online without requiring the offical servers, which have been taken down and decomissioned.

Before following this guide make sure you have downloaded version 19.12 of the game and Relay Server as that is the last version after the server shutdown.

Installation/Getting Started

Download the program from the Tools section of the site. Choose the right version for your needs. Like with the main game, you can download self-contained versions (easiest to set up as they run out of the box without requiring .NET 5 installed, but have a larger download size) and choose between 32 bit or 64 bit depending on your OS. However, Mac and Linux Relay Server downloads are currently not available.

This program is a command-line utility. However, it accepts no input and is extremely simple: just open it and leave it running. If the firewall prompt comes up, enable it for private networks (may need to do it for public networks if on VPN). That's all you need to do, and now people can connect to your server.

LAN

To host a LAN match, first run RelayServer.exe in the unzipped folder (NOT the MMX.exe file, this should be ignored and is to never be opened, you still use your main MMXOD game download for running the actual game). Then open MMXOD and create a match, choosing the "LAN" option before entering the Host Server menu. Players on your private network can then attempt to look up the LAN matches you create if they choose the "LAN" option before entering the Join Server menu. It will automatically search PCs on your LAN for ones running the MMXOD Relay Server.

Note that the automatic LAN match lookup may not always find matches hosted in your LAN. This could be the case if hosting a LAN match on a VPN or a large business-class internal network (as opposed to a typical private home network in the 192.168.1.* range). If no results show up even if someone hosted a match, the others will need to directly connect by IP address by pressing ESCAPE in the Join Menu. They should type in the IP address of the host. This IP can be found in the host's "Waiting for Players" screen, under the match name (or if the match already started, in the scoreboard in the top-right).

Once a player has submitted the host's IP, the Join Match menu should now find and show the match that the host created, which you can then join.

If connecting by direct IP is still not working, try these troubleshooting steps:

There are generally two ways to use LAN. You can use it to play with people that are on the same physical network as you (i.e. people in the same building, house, etc). This is the simplest and easiest option and should not require any special tools or knowledge outside the Relay Server. Another use of LAN is to play with people over a VPN (Virtual Private Network) on the internet. This allows you to play with others online without needing a self-hosted server, but requires everyone to download a VPN software like Hamachi and set up/connect to a network in it.

Unfortunately this is a complex subject and troubleshooting often requires someone familiar with computer networking, since there could be many settings that need to be adjusted for everything to work properly. The late Jape has created a good tutorial on hosting a Smash Crusade match over Radmin VPN (the basic networking principles should also apply to MMXOD, and other VPNs, i.e. Hamachi): https://www.youtube.com/watch?v=NaMztavlQxk&t=1s

If connecting to a VPN network with others on the internet please be aware of the security risks. Make sure your operating system and programs are up-to-date. Only join VPN networks run by people you trust, and only allow people in your VPN you trust. The smaller the group of people you share the VPN network with, the more secure.

Custom Internet Server

To host a public MMXOD server (also known as a "Region" in the in-game menu jargon) on the internet, you'll need a Windows 64-bit server with a public ip address. It'll need to meet certain minimum requirements: too weak or low bandwidth servers may struggle with running the Relay Server, especially with multiple concurrent matches. Simply download the Relay Server and run it on your server. Make sure you enable TCP and UDP ports 14242-14342 (this gives 100 ports/concurrent matches, go over 14342 if you need more).

As long as the exe is running, people will be able to connect to your server if they have a region.txt in the game folder with an entry that points to your public server ip. Here is the region.txt format (it is JSON):

{
  "name": "YOUR_REGION_NAME",
  "ip": "YOUR_SERVER_IP"
}

Replace YOUR_SERVER_IP with the public ipv4 address of the server running MMXOD you wish to connect to. YOUR_REGION_NAME can be anything and will be what the region will show up as in the game menus, but must not be blank and will be truncated to 8 characters max if longer.

Troubleshooting:

Here is a quick start guide if you want to host on Azure, which is what the official servers ran on: Azure Server Help

Updating

Every update changelog should now indicate if a new Relay Server version must be downloaded. If so, you'll need download the update and run it on the server for clients on the new version to connect and create/join matches.

If an update comes that does not require a new Relay Server version, you only will need to open overrideversion.txt in the Relay Server folder and set it to the new client version.

Note that these steps are only necessary for supporting new client versions. If you have an old version of the game you are fond of, you can stay on it, and play with others in it, if you run both the old Relay Server version and the old game client versions. However you can only go as far back as 15.0, the first Relay Server public release.