To play games against other people, you can use one of the lobby clients (recommended one is Skylobby) to join the official Spring server (, which acts as a hub for players and developers alike. There you can join Metal Factions game rooms (look for "nebula" hosts) and there are also rooms for other games on various stages of development.

There's a small community that generally plays throughout the week from 19:00 to 04:00 GMT. If you don't like waiting, you can add MFAI bots and start or invite friends to play with you.

People attract people.

To find other players, on the official springRTS server join chat channel "mf" : on SpringLobby, use "Tools > Join Channel" and add "mf" to "Edit > Autojoin Channels" so you automatically join whenever you connect to the server.

There's a section for this game on the Spring RTS community forum here.

There's also a Discord channel for MF and channels for other SpringRTS games:
Metal Factions
(if you use the "!promote" command from one of the "nebula" hosts, a message will appear on Discord asking people to join!)

SpringRTS Engine (This is the Discord room for the engine itself)
Balanced Annihilation
Evolution RTS
Beyond All Reason

Multiplayer Battle Rooms

The official MF game rooms on the main server are "SPADS" hosts and should be online 24/7.

The default setup assumes two teams, and when a player joins they'll automatically add a normal MFAI opponent to fill in until more players appear. At that point the player can start the game using the start button on the lobby or typing the "!start" command on the room chat.

Players can use the chat box to type commands using the "!" prefix and modify the game setup. Some take effect immediately while others start a vote if there are more players in the room, depending on the caller's permissions (other users can vote by typing "!y" or "!n").

The room reverts back to defaults after everyone leaves.

Note that on Springlobby client the player/controller number is labeled "team" and the team is labeled "Ally". If two players share the same number they'll share control over the same units.

The full list of commands can be found HERE.

Here are some examples:
  • !start : starts the game if players are set to "ready" (requires even teams)
  • !forcestart : starts the game if players are set to "ready" (allows 1v2,etc.)
  • !map <part_of_map_name> : changes map (if no map name is specified, it just cycles between available maps)
  • !balance : splits players evenly in N teams (default 2) according to the balance mode
  • !balancemode <skill|rank|random> : changes the balance mode
  • !autoblockbalance <1|0> : If enabled, SPADS will prevent players from changing their ID/team once teams have been balanced.
  • !force <player> <id|team|spec|bonus> <number> : forces a player to spec, or sets his id/team/bonus to <number> (for AI bots, can be prefixed with '%' to avoid ambiguity)
    Example(s) "!force foo id 2" forces player "foo" to take id 2
    "!force %foo team 2" forces AI bot "foo" into team 2
    "!force foo bonus 50" gives 50% resource bonus to player "foo"
    "!force foo spec" forces player "foo" to spec (alias: !spec)
    "!force * (player1,player2)(player3+player4,player5)" forces players1-5 ids and teams to comply with the manual balance described by brackets, commas and '+' signs (alias: !fb)
  • !split <h|v|c1|c2|c|s> <percent> : splits map for starting positions
    Example(s) "!split h 25" splits map horizontally
    "!split v 25" splits map vertically
    "!split c1 25" splits map on top left and bottom right corners
    "!split c2 25" splits map on top right and bottom left corners
    "!split c 25" splits map on 4 corners
    "!split s 25" splits map on 4 sides
  • !ring <username> : rings all unready players, or ring <username> if <username> is specified
1v1 Ladder / Statistics

The Metal Factions player tracking system has been online since September 2017. You can view player profiles and ladder rankings HERE!

For battles to count as valid on the 1v1 ladder, they must satisfy these conditions:
  • must be played on the official RANKED host: currently "nebula1" only
  • must be 1v1 between human opponents
  • no handicaps, no special metal, resource, etc. modifiers allowed
  • battle lasts long enough that the replay is uploaded/analyzed (more than two minutes)
  • battle ends properly: someone wins (note that the game automatically resigns players if they're much weaker than their opponent, and the threshold is lowered for players that disconnected or ragequit)

When a valid battle is processed, points are updated according to this table:
ladder points changes due to win/loss
Currently players lose at least 1 point and gain at most 31, even if the difference in rank is greater than 300 points (or 150 points from the average rank).

After each ranked game, players with less than 400 points gain 8 extra points and players with more than 800 points lose 1 extra point.

This is to encourage players to climb if their ranks are relatively low, but also to minimize rank score inflation and prevent high ranked players from gaining any points from players scoring 300+ points below theirs.

Only active players with recent ladder battles show up on the 1v1 ranking. The requirement is having at least one valid battle made during the last 30 days.

At the end of every month, awards are given to the top 3 players!
(currently they're listed on the ladder page and show up as badges on the player's profile, but other types of awards like cash prizes may be added in the future)

All battles tracked by the MF stats system have their replays uploaded to the SpringRTS replays database.

The list of battles is available here and they link to the matching replays. The replays can also be directly downloaded here.

Place them on the Spring replays directory (typically "C:\Users\<USER>\Documents\My Games\Spring\demos" on Windows or "/home/<USER>/.spring/demos" on Ubuntu Linux). Then they should show up on the replay list on your SpringRTS lobby client.

Maps are made by various members of the community and generally shared across games.

You can find a list of recommended maps here.