SMLAN Tutorial v1.0
By: Axlecrusher
Current SM Version: Alpha 24
SMLAN (Stepmania LAN) allows for Stepmania LAN play over a standard TCP/IP network and even works over the Internet. However Internet play at the moment is not ideal, that's where SMOnline will eventually come into play.
The current version of SMLAN requires Stepmania alpha 24 in order to function properly. Alpha 24 can be obtained from the thread at http://www.ddrmaniax.net/forums/index.php?showtopic=4893.
You also need to obtain an updated metrics file, found at http://cnlohr.net/smonline/smlan/23NetMetrics.smzip.
SMLAN was designed using the default Stepmania theme however it should would with any theme. Themers, feel free to mod and add SMLAN metrics (found in default/metrics.ini) into your custom theme projects. Custom theme users, if you experience crashes using SMLAN with custom themes, try using the default theme.
If you experience crashes while playing SMLAN that do not appear in normal game play, please post in thread http://www.ddrmaniax.net/forums/index.php?showtopic=4904, DO NOT post in the official Stepmania Alpha 24 thread as SMLAN is not officially supported by all Stepmania developers.
Stepmania alpha 24 DOES NOT require any external programs for SMLAN to function. The old external server WILL NOT function with this version of SMLAN. Please do not attempt to use the old server and complain about how it does not work.
The official SMLAN page can be found at http://cnlohr.net/smonline/smlan/.
SMLAN Flash Chat can be found at http://cnlohr.net/flashchat.html.
Starting a SMLAN server
To start a SMLAN server run Stepmania and enter the options screen. Scroll all the way down to the bottom of the options. You should see “Network Options” below “Test Input”. If you do not see “Network Options” you do not have the correct metrics.ini, please use the link above to get it.

Once in the network options select “Start” under the server option and enter a server name.

In
order the the SMLAN server to operate correctly behind a firewall,
the serving computer must have port 8765 accessible. Consult your
router or firewall documentation to find information on how to open a
port.
NOTE: The server has been reworked to allow for many many players. I don't even want to guess at what it could be, but it's a rather large number. More than you could ever hope to have in a game, much less sync. However the client may still be limited to16 computers equating to 32 players.
Connect to a server
In the Options screen, select “Network Options” just under “Test Input”. If you don't see it, you don't have the correct metrics, follow the link above to obtain it. Next, select “Connect...” under connection and enter an IP or DNS name.

NOTE:
DNS name lookup may be broken on linux.
Playing on SMLAN
Once you connect to a server, simply proceed through the menus like normal. You will reach a new song selection screen designed for SMLAN. This screen features chat, options selection, song selection, and difficulty selection. This is the only screen where you can change player options.

To control this screen, left and right scrolls through the currently selected area. Up and down changes which area of the screen is selected. Enter sends a chat message.
To select a song, scroll to a song and press Ctrl+Enter (or start). This forces other clients to scroll to the selected song. If a client does not have a song, a message will appear in the chat window. To start a song press Ctrl+Enter (or start) again on the exact same song. Remember, only the first client connected will have permissions to select and start a song. The first client does not necessarily mean the client on the server computer. If you are hosting and you don't have permissions, on of your peers may have connected to your server before you.
NOTE: CNLohr and I recommend using judging difficulty of four as it's the default setting.
ServerCommands
The alpha 24 server now supports several server commands. The commands are as follows:
/list – lists all the players currently line ScreeNetSelectMusic (all clients can use this)
/have – informs the server you have a song if the server says otherwise (all clients can use this)
/kick playername – kicks a player off the server (host (1st) client only)
/ban playername – bans a player form the server (host (1st) client only)
/force_start – forces a start to all clients that have a song, or forced having a song (host (1st) client only)
WARNING: The /have command is not an intelligent command. A client must select a song the server thinks is missing, then the client can issue the /have command. When using /have clients will only be started if the host client uses the /force_start command. When a /force_start is issued, clients using /have will begin playing the song they current have selected. When using /have the server has no way of checking to see if the current song is indeed the correct song. As a result, if host clients do not wish to honor /have requests, Ctrl+Enter will still only start clients that the server has confirmed having the song.
In Game
When playing a song, your opponents' current combos and grades will be displayed in a scoreboard style list in the adjacent player's screen. This does not happen if there are two players on the screen. The list is sorted by current score in descending order.

Evaluation Screen
The SMLAN evaluation screen gives you the ability to scroll up and down to see your opponents' steps and scores.
