A realtime score sharing system for Stepmania. It's meant to be an easily accessible and usable platform for playing with others in Stepmania without hassle.
This is available at everyone.dance. Please keep reading for usage instructions. You can download from that website or from the releases page here.
Head on over to releases and download the latest zip release for your platform. Unzip that after downloading and run everyone.dance
.
Once it opens, click Installation. This will take you to the installation screen where you can install the StepMania script for your theme. Select your StepMania directory (where the game is) and then choose the theme you want to install it to and hit Install.
If you find that your game is stuttering or laggy after installing, hit Uninstall and try adjusting the Sync Interval. A larger number means that your scores will be synced less frequently and should result in better performance. If you have a decent computer, lower numbers are better so your scores are synced quicker.
After it's installed, you can go back and create a room. When you're in a room, you can see the synced scores and song info of everyone in it. Click your room code to copy it and give it to other people so they can join your game! You can also invite people to spectate through the web view at everyone.dance. They won't show up in the game and will just be a spectator.
When in a game room, you can click the settings icon the top right corner to access the game room settings. In this menu, there are a few settings for customizing your room. Only the host of a room can change these settings.
ITG (Strict)
mode, it checks the player timing windows to ensure that all players are using proper ITG timing windows. See server/ITG_Timing.js
for default timing windows. If a player's timings do not match these, they are kicked from the game room.These themes have been tested to work with this system and the installation procedure. Any other themes may or may not work. Please feel free to create an issue for any themes that do not work and I can modify it to include them.
StepMania 5.3 (OutFox) is supported! However, when installing, please select the Appearance folder within the StepMania directory instead of the root directory.
The Club Fantastic client is supported! However, make sure you also have the Club Fantastic theme in your themes folder. Otherwise, it will not work because you won't be able to see the Club Fantastic option in the installation menu.
Please note that the current implementation of this uses dance points as the percentage score on the player cards. This might change in the future or there might be an option to switch to raw score.
When you're in a game room with other people, you'll see a small arrow pointing to the top right in each player card. Click that and your StepMania will automatically navigate to the song that they are currently on.
When you're in a game room, you'll see a "popout" icon on the top right corner of each player card. Clicking that will pop out just that player's card so you can move it anywhere on the screen. It is always on top, so if you run StepMania in windowed mode, you can even see it when you are playing the game! This also makes it much easier to window capture in OBS - just select this specific window source. It should be titled "everyone.dance (Player Name)".
When you're in a game room, you'll see a button that looks like a page with the text "CSS" on it on the top right of each player card. Using this menu, you can adjust the global styling of the entire everyone.dance client, or you can adjust the specific style of that player card (using the # selector on the left). Styles are saved and persisted even when you leave the game room or close the client. Player-specific custom CSS only applies to the player if the name matches, so if the player's name changes, the CSS will no longer apply to them.
To make the most use of this, you'll have to probably go digging in the CSS or HTML code to find out what classes everything uses so you can customize it to your liking. This is a feature for advanced users and can break everything.
These variables are created by everyone.dance and are available everywhere in the StepMania Lua system:
EVERYONE_DANCE_GAME_CODE
: string containing the four digit game code of the room you are currently in, if any. Might return nil
sometimes, so check if it exists before using.When you run everyone.dance, it will automatically check for new updates. You'll get a notification if there's a new update, and you will be able to click the "Update" button to download the latest version. After downloading, unzip and run it! You will likely have to reinstall it as well, so make sure to go to the Installation menu to do that as well.
Install the required node modules.
npm install
First, get yourself a signed certificate/key and place them in the directory above this one. My setup uses Cloudflare to enable HTTPS on the server, so everything else must be HTTPS. Cloudflare's strict policy requires a signed certificate, so we have to use one here as well. A signed certificate is not required to run the Electron app in development mode.
Start the development scripts with:
npm run dev
This will start a watcher service for changes in the React code and also start the Electron process. The Electron process will automatically update with any new changes you make in React.
This builds the Electron app into an exe file. This should be used when packaging the app for distribution.
npm run make
This deploys the app to a website. This is good if you want to display the spectator mode on your own domain. Probably won't work when developing on a local machine because it requires HTTPS and a signed certificate/key. This requirement is due to socket.io using an HTTPS connection that expects the signed certificate. The command first bundles the React code together and then runs the web app.
npm run deploy
This starts the main server for game management. Players connect to this server to create and join games. This server probably won't work unless you set up a remote server and get a signed certificate. You could set this all up a bit easier if you didn't use a secure connection and just used HTTP, because you wouldn't need certificates.
npm run server
Need help installing/using this? Want a new StepMania version/theme to be supported? Feel free to shoot me a message. Here are a few ways you can reach me:
StepOnIt#2565