Spludlow MetSat Web Header

Spludlow Tetris Instructions


Instructions Page Contents

The Keyboard. 1

Function Keys. 1

Spludlow Tetris Settings Windows. 1

Display Name. 1

Client Address. 1

No Server Sounds. 1

Volume. 1

Input Device. 1

START / STOP Client Button. 1

Server Bind Address. 1

Server Tick. 1

Server Width. 1

Server Height. 1

START / STOP Server Button. 1

Keys. 1

Close “X”. 1

Windows Firewall 1

Settings Files. 1

Application Configuration File (Initial Defaults). 1

SpludlowTetris.WindowSize. 1

SpludlowTetris.ClientAddress. 1

SpludlowTetris.BotSpeed. 1

SpludlowTetris.BotFarmCount. 1

SpludlowTetris.InputIndex. 1

 

These are the Instruction for the Spludlow Tetris Windows Form .net program.

By default the program will start a server on 127.0.0.1 (localhost) and then start a client that connects to it. Any further instances of the program will start a client and connect to 127.0.0.1.

For more information on running the server please see this page.

The Keyboard

The keyword commands are available to the program that has focus in Windows (you can only control one program on each desktop).

Here are the default keys. You can re-define them using the F1 settings dialogue.

Up          J              Drop the current piece immediately. Moving up in creative mode (0 server tick) up will move the piece up.

Down    N             Move the current piece down by one block, if already on the bottom the piece will be placed.

Left        S              Move current piece left.

Right      D             Move current piece right.

B1           K             Rotate current piece clockwise (CW)

B2           L              Rotate current piece counter-clockwise (CCW).

B2           A             Select the other player on the server that you want to target.

Function Keys

NOTE: If running multiple instances on the same desktop ensure the relevent window has focus.

Click for prinatable A4 PDF.

F1           Settings                Show or Hide the settings window.

F2           Cycle Joystick     Cycle through the available gamepads and joysticks.

F3           Start Bot Farm   Start or stop many clients and run bots on them.

F4           Run Bot                Start or stop a bot running on the current client.

F5           Mute                     No sounds.

F6           - Volume             Sound quieter.

F7           + Volume            Sound louder.

F8           Max Volume      Sound full blast.

F9           Server Sounds   Start or stop server sounds (common sounds) prevents echo when running multiple programs on same desktop.

F10         Window Size      Show the window size, if you find a size that works you can use it in the configuration file (see below).

F11         Server                   Start or stop a Server

F12         Client                    Start or stop a client.

Spludlow Tetris Settings Windows

Press F1 to show or close the settings windows. All settings except input device and sound related require the client and/or server be restarted to take effect.

Display Name

Your name as seen by other players.

Client Address

The connection details used by the client.

You may use a hostname or an IP address. If the hostname resolves to multiple IP addresses (you have multiple network adapters) an error will be displayed, in which case use the IP Address.

You can specify a port number using the “:” character. For example “localhost:32199” which is the default.

Only IPv4 addresses are supported not IPv6.

No Server Sounds

When running multiple clients on one desktop you only want one of the clients playing server (shared) sounds, otherwise you get a nasty echo. This will turn them off.

By default when the program is ran, if any other instances are running then this will be turned on (only the first instance will play server sounds).

Volume

How loud sounds are played 0 is off 10 is maximum. Default is 2.

Input Device

If you have joysticks or gamepads you can select them here. When starting the program if joysticks are available the last one will be selected.

The keyboard controls always work whatever is selected here. Multiple instances of the program can use the same joystick.

START / STOP Client Button

Start or stop the client, if you change your display name or want to connect to another server then stop and start the client.

Server Bind Address

The address the server will bind to.

When starting a server you may use the “*” character to make it bind to all available IP addresses. This is your best bet for local network and internet servers.

You can specify a port number using the “:” character. For example “localhost:32199” which is the default.

Only IPv4 addresses are supported not IPv6.

When binding to 127.0.0.1 (the default) only local connections (same computer) are available, no Windows firewall configuration is required (see below).

Server Tick

The delay in milliseconds that the server moves the current piece down. Default is 1000 (1 second).

Using a value of 0 will put the server into “creative mode” this means the current piece will not tick down and you can move pieces up.

Server Width

The width of the boards in blocks.

Server Height

The height of the boards in blocks.

START / STOP Server Button

Start or stop the server, if you change the servers bind address or server tick and dimensions then stop and start the server.

Keys

Click a key button, the assigned value will go blank then press the key you require.

Close “X”

Closing will save the settings.

Windows Firewall

The first time you start the server with anything other than 127.0.0.1 then the Windows Firewall dialogue will appear.

I recommend you just tick all network types. If you want to change or remove the firewall rule you can do it here:

                Control Panel -> Windows Defender Firewall -> Allowed applications

If you don’t trust giving the whole program network access you can manually add a port number rule here:

                Control Panel -> Windows Defender Firewall -> Advanced Settings -> Inbound Rules -> New Rule -> Port -> TCP 32199

NOTE: The first instance of the program only will automatically start a server.

Settings Files

Settings are persisted in the following directory, you can copy and paste to get there as AppData is hidden.

C:\Users\%USERNAME%\AppData\Roaming\SpludlowV1\SpludlowTetris

If you have problems like the program crashing at start up then try deleting the files here.

You don’t normally need to bother with them.

Each instance ran on the desktop will have its own file. For example if you setup 2 players the target server, display name, window size and position, and input device will already be configured the next time you start 2 instances.

The file will remain locked while an instance is running, this is the mechanism used to determine the correct file (an instance will count through until it reaches an unlocked file).

You may edit the file directly if you must but be careful as errors will prevent the program starting. Some settings like BotSpeed and BotCount can only be changed here.

<?xml version="1.0"?>

<TetrisSettingsState xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <WindowWidth>800</WindowWidth>

  <WindowHeight>600</WindowHeight>

  <WindowX>286</WindowX>

  <WindowY>286</WindowY>

  <Keys>J, N, S, D, K, L, A</Keys>

  <BotSpeed>250</BotSpeed>

  <BotFarmCount>2</BotFarmCount>

  <ClientDisplayName>NLJHXJ</ClientDisplayName>

  <ClientAddress>127.0.0.1</ClientAddress>

  <NoServerSounds>false</NoServerSounds>

  <Volume>2</Volume>

  <InputIndex>0</InputIndex>

  <ServerAddress>*</ServerAddress>

  <ServerTick>1000</ServerTick>

  <ServerWidth>10</ServerWidth>

  <ServerHeight>22</ServerHeight>

</TetrisSettingsState>

 

Application Configuration File (Initial Defaults)

This will only effect the default settings when a settings file has not been created yet. You don’t normally want to bother with it.

If you have already started an instance once if will have no effect.

Its main use is for setting up demos where you want to start many instances with a certain default like window size, just to save you the hassle of resizing them all.

You can edit using notepad this file to perform additional configuration:

                C:\Program Files\SpludlowV1\SpludlowTetris\SpludlowTetris.exe.config

You need administrator permissions to edit this file, because it’s in “C:\Program Files”.

One workaround is open the file in notepad, make the changes, save the program to your desktop, rename the file removing “.txt” off the end, drag the file from desktop to “C:\Program Files\SpludlowV1\SpludlowTetris” replacing the old file.

The format is a .net application configuration program. You make changes by entering values in the value=”” part.

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

                <appSettings file="C:\ProgramData\SpludlowV1\Config\Spludlow.config">

                                <add key="SpludlowTetris.WindowSize" value=""/>

                                <add key="SpludlowTetris.ClientAddress" value=""/>

                                <add key="SpludlowTetris.BotSpeed" value=""/>

                                <add key="SpludlowTetris.BotFarmCount" value=""/>

                                <add key="SpludlowTetris.InputIndex" value=""/>

                </appSettings>

</configuration>

 

SpludlowTetris.WindowSize

Set the window size for example: value=”800, 600”. If you find a window size that works press F10 to see what it is and use here.

SpludlowTetris.ClientAddress

Start a client and connect to this address. If you always connect to the same server you can set it here.

SpludlowTetris.BotSpeed

The delay between each move bots make in milliseconds. Default is 250 (quarter second). Too small a value and the bots will struggle as try to make the next move before they have got the board back from the server.

SpludlowTetris.BotFarmCount

When pressing F3 to start a bot farm the default is 2 bots only. If you want more then set it here. Running large numbers of bots is useful for stress testing the server.

SpludlowTetris.InputIndex

Specify the default input device 0 is keyboard, -1 is last device, 1 is first gamepad/joystick, and 2 is second and so on. Only really good for setting up a demo where all clients use the same joystick.

Spludlow MetSat Web Footer