ReSkate mods / MSC_Midnight_Skate_Club

MSC Infection

MSC Infection: infect other skaters, last survivor wins. Private lobbies, countdown, results and MSC rewards.

by MSC_Midnight_Skate_Club · v0.1.2 · 1 MB · 153 downloads · updated Oct 28, 2026

How to installDownload .zip (v0.1.2)Thunderstore page

MSC Infection icon

From the author's README on Thunderstore

A multiplayer ReSkate Luau Infection throwdown, built from the custom MSC Tag 0.3.0 lobby and match-flow systems. One randomly selected player starts infected. Every survivor they touch joins the infected team permanently. Last survivor wins.

Installation

Install the same version (0.1.0) on the ReSkate server and on participating clients:

  • Client: Mods/MSC_Infection/
  • Dedicated server: Plugins/MSC_Infection/

The existing reskate.server.msc_skate_reward wallet bridge used by MSC S.K.A.T.E. / MSC Tag is used as-is. No server executable patch is required. The plugin needs the documented ReSkate plugin runtime and the permissions in reskate-plugin.json.

This is a separate mod. It does not overwrite MSC Tag or Belly Slide, and deliberately does not use the native waiting queue or native game flags.

Create / join / start

  1. Open Throwdowns → MSC Infection or Insert → MSC Infection.
  2. Choose 2–10 players, a round duration of 30–600 seconds, and Place MSC Infection flag.
  3. Stand where the world join marker should appear. Press E / controller X to confirm, or Backspace / B to cancel.
  4. Other skaters approach that marker and press E / X to join. The host can start from the lobby screen or their marker.
  5. At least two players are required before the host can start. Independent lobbies are supported.

The lobby uses the same full-screen MSC look as Tag/Belly Slide and displays the roster and settings. The transparent neon MSC Infection logo is used on the join flag, in the lobby and for the mod icon.

Gameplay

  • The server runs GET READY → 3 → 2 → 1 → GO! before the timer starts and chooses one patient zero at random.
  • Patient zero chases survivors. If an infected and a survivor both report touching each other within 800 ms of server receipt, the server validates that report (and available server poses) and permanently converts the survivor to the infected team.
  • Converted players get an INFECTED remote nametag and can infect others after a two-second grace period. There is no curing, and infected players never become survivors again during the round.
  • The live HUD displays all participants, survivor/infected roles, survivor time, remaining time, and numbers on each team. The quit screen is accessible from Start/Options or the Insert menu. Host End for everyone and player Leave match require confirmation.
  • With three or more starting players, once a confirmed infection leaves one survivor, that last survivor wins and the match ends. Otherwise the match runs until the configured timer expires. If only one survivor is left at timer expiry, they win.
  • If everyone is infected, the infected team wins (there is no individual survivor winner). If several survivors remain at time expiry, the survivors share a team win, with no single-player winner.
  • A two-player round does not end immediately just because only one survivor starts; that survivor must reach the timer. If caught, the infected team wins.
  • Results/winner screen stays visible for about five seconds, then the completed match automatically closes.

The contact implementation is inherited from the supplied MSC Tag prototype. On server versions without trusted, fresh skater poses, mutual client touch reports remain the primary evidence; the system is not cheat-proof.

MSC payouts

The single last survivor can receive 100 MSC for each opponent enrolled at the start through the existing reskate.server.msc_skate_reward bridge. Payout requires a naturally completed round, at least three original players, at least one confirmed infection, one surviving winner, and two or more players still participating. A cancelled/aborted round, host leaving, any in-match player departure, no infection, an infected-team victory, shared surviving winners, or a failed wallet bridge never counts as a paid win.

An eligible winner only sees a +MSC announcement when the wallet bridge confirms a successful receipt. Receipt IDs are unique per run and room. Two-player rounds are playable but never eligible for the last-survivor MSC payout.

Tests

From the mod source root with the LuaTeX executable installed:

luatex --luaonly tests/smoke.lua
luatex --luaonly tests/client.lua

These are headless checks, not real gameplay tests. In-game verification is still required for world marker placement, multiple players' contact sensing, remote nametags, controller shortcuts, and actual wallet payments.

Proximity sync update: tagging allows a 60 cm body gap, samples every tick, retains a close pass for 400 ms and reports every 100 ms. The server requires mutual reports within 800 ms and keeps existing pose checks and grace periods. Ordered snapshots prevent delayed state from restoring an older role. Install matching versions on the server and all players.

Install MSC Infection

You need ReSkate and your own copy of skate. on Steam.

  1. Open ReSkateLauncher.exe and go to MODS.
  2. Search for MSC Infection and click install. The launcher also installs anything it depends on.
  3. Press PLAY. In game, the MODS tab of the ReSkate menu (Insert) turns it on and off.

Or install it by hand: download the .zip and drop it on the launcher window, or unzip it into its own folder in Mods\ beside Skate.exe.

Maps show up in the ReSkate menu's level list. To join a server running a custom map, you need the same map installed. If the game won't load after installing, see known issues.

skatemods doesn't host or review this mod. The download comes straight from Thunderstore. Only install mods you trust, because scripts can run code.