# Online Multiplayer
Back to Frequently Asked Questions
Is online multiplayer supported?
There was experimental support for online multiplayer since version 0.6.2. Experimental support has been temporarily removed in version 1.0.0 and a new implementation has entered the preview phase in version 3.3.0. Online multiplayer is still not fully stable and has many bugs in this preview phase. Also, there is no guarantee of backward compatibility between individual multiplayer preview builds, so it is recommended that you use the latest build, or at least the same build version, on all devices. Please report any bugs in the appropriate channel on Discord or GitHub.
It supports cross-platform play between all supported platforms – Windows, Linux, macOS, Android, Switch and Xbox. Emscripten (web browser) version is not included yet. Players with Jazz² Resurrection cannot connect to players with original game and vice versa.
You can connect to public or local server from main menu. List of these servers is also available here. To connect to private server, you have to run Jazz2.exe
with /connect <ip>
or /connect <ip>:<port>
parameter, where <ip>
is IPv4 address, IPv6 address or hostname, and <port>
is UDP port of dedicated server. Default port is 7438
. Player can set their name in Options > User Profile. If Discord integration is enabled, player name can't be changed manually, because Discord nickname is used instead. Unique Player ID can also be found in Options > User Profile and is unique for each player.
Server can be created from the main menu. Alternatively, a dedicated server can be run from the terminal.
How to run dedicated server?
Dedicated server can be started using /server
startup parameter. After that you can specify "episode/level"
as another parameter to set the initial level. Public servers with suitable IP address are automatically published on server list.
The server uses UDP port 7438
to communicate with clients and uses IPv6 sockets with dual stack enabled to allow IPv4 connections. Dedicated servers use fewer resources because they automatically skip loading textures, SFX, and music.
The server supports following commands:
/exit
//quit
– close the server (dedicated server only)/clear
– clear console output Not implemented yet!/help
– show help Not implemented yet!/info
– show info and connected players/endpoints
– show all server addresses/set
– list all server variables Not implemented yet!/set <name> <value>
– set server variable by<name>
to<value>
(see Available server variables)/load_config <path>
– load server configuration from file Not implemented yet!/next_level
– change level to next level if playlist mode is active Not implemented yet!/ban
Not implemented yet!/unban
Not implemented yet!/kick :all
– kick all players Not implemented yet!/kick <id>
– kick player by<id>
Not implemented yet!/kill :all
– kill all players Not implemented yet!/kill <id>
– kill player by<id>
Not implemented yet!/alert <message>
– show in-game message<message>
to all players
Available server variables
level
– set current level in<episode>/<level>
format. Level will be immediately changed to new value.mode
– set current game mode. Following modes are available:b
/battle
– Battletb
/teambattle
– Team Battlectf
/capturetheflag
– Capture the Flagr
/race
– Racetr
/teamrace
– Team Raceth
/treasurehunt
– Treasure Huntc
/coop
/cooperation
– Cooperation
name
– set server name shown in server list. Default isUnnamed server
.welcome
– set welcome message in the lobby.spawning
– iftrue
, dead player will be automatically respawned. Default istrue
.
Server configuration files
Server configuration can be loaded from file "Jazz2.Server.config"
in the same directory where "Jazz2.config"
is saved on your platform. This file is in JSON
format with following structure.
Detailed description of the file format can be found in the developer documentation.
Known issues
This list outlines known issues of online multiplayer.
- Some graphical effects are missing:
- Particles on enemy destruction
- Missing lights
Electro
weapon- Some springs are misaligned
- Some sounds are not played properly.
- Players have unlimited lives.
- Cannot type commands to console when dedicated server is started from terminal on Windows.
- Solution: Create a shortcut to run the dedicated server.
- Local server discovery requires IPv6 multicast which is not supported on all devices and networks.
- Not all commands are implemented.
- Currently it's not possible to connect to private servers from Android/Switch, because the IP address can't be entered anywhere.
What is missing?
This list outlines missing features of online multiplayer and its progress.
- Game modes
- Battle
- Team Battle
- Capture the Flag
- Race
- Team Race
- Treasure Hunt
- Story in cooperation
- Gameplay features
- Spectate mode
- Server-side features
- Console commands with suggestions
- Player movement interpolation
- Server-side object/collectible spawning
- Server-side collision checking
- Persistent configuration
- Server-side scripting and plugins
- Client-side features
- HUD elements for respective game modes
- Common - list of players
- Battle - number of kills and deaths
- Capture the Flag
- Race - number of laps, time
- Team Battle
- Treasure Hunt - number of collected gems
- In-game admin commands
- In-game chat
- Player names
- Local server discovery
- Public server list
- Automatic download of levels and tilesets from servers and caching
- HUD elements for respective game modes
- Misc. features
- Welcome messages/announcements
- Discord integration to allow quick join
- Enable multiplayer on WebAssembly platform with automatic WebSocket proxy (lower performance is expected)