-
MatchZy 0.8.62
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 44sreleased this
2026-07-24 16:34:43 +02:00 | 87 commits to main since this release0.8.62
July 24, 2026
- New named bot positions (practice):
.savebotpos <name>(.sbp) saves your current spot as a named bot placement for the current map,.loadbotpos <name>(.lbp) spawns a bot at that saved spot (no name spawns every saved placement on the map),.listbotpos(.listbp) lists them,.delbotpos <name>(.dbp) removes one. Stored per map incfg/matchzy/botpositions.json. - New
.showbotpos(.showbp): toggles in-world markers (beam plus name label, CT lime / T orange) at every saved bot placement on the map; redraws itself after a map change. - New
.botjiggle: toggles all practice bots strafing side to side for dodge/aim reps. Newmatchzy_botjiggle_rangeconvar (default 30) tunes the strafe width. .cbot/.crouchbot/.duckbotnow boost you on top of the crouched bot (spawn above it), matching.crouchboost.- Practice now prints the molotov/incendiary burn time in chat when your fire detonates (via the inferno start-burn event), alongside the other utility detonation timings.
- Fixed bot placements spawning under the map or lying prone: the saved-position file now serializes correctly, and every bot spawn is placed upright (keeps its facing without the view pitch tilting the model or clipping it through the floor).
- Fixed
.crouchboost/.cboostskipping the player-validity and bot-limit checks that.boostalready ran.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
- New named bot positions (practice):
-
MatchZy 0.8.61
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 41sreleased this
2026-07-20 20:29:07 +02:00 | 91 commits to main since this release0.8.61
July 20, 2026
- Coach viewing spots reworked across the whole map pool. By default (matchzy_coaching_mode 1), each active map now ships a hand-tuned spot behind the team; maps without one fall back to a computed spot (stands behind the team with line of sight, keeps a real stand-back distance so it is never nose-to-back with a player, refuses a lower-level spot, and uses an overhead camera above the spawn when no clean ground spot exists).
- New
matchzy_coaching_mode(default 1): 1 uses aspawns/coach/<map>.jsonspot when present (hand-tuned override); otherwise computes it; 2 always computes the coach spot behind the team and ignores the JSON files. - Coach spawn files reworked: the old fixed per-map viewing spots were removed (they were the "always the same bad spot" complaint). Placement is computed live for every map; a
spawns/coach/<map>.jsonentry is only an optional override, and.savecoachspawn t|ctwrites/replaces one (saving your exact view angle) for any map that needs hand-tuning. - New
.showcoachspawns(admin): draws the coach viewing spot for both sides in-world (blue = CT, orange = T), matchingmatchzy_coaching_mode, and survives a map change instead of going invisible-but-on. Reloads the JSON each time so hand-edits show immediately. - New
.coachtest(admin, debug): places you like a coach on your current side right now (run again to release) so a single admin can check the coach spot on any map without a match. - Coach placement is now silent (no landing sound), the coach can no longer be damaged/killed by teammates, and players already on a competitive spawn are never re-teleported (the reseat only moves a genuinely coach-displaced player, and near-duplicate spawns can't seat two players on top of each other).
- Coach spawn files are read/written under a case-resolved plugin path (prefers an existing
matchzyfolder overMatchZy), so a saved spot is found again on case-sensitive Linux. - Practice
.botfix: onebot_addcould pair-spawn a bot on the other team (and the claim was team-blind, so a CT player could get a CT bot); the wrong-team bot is now kicked and.botadds exactly one bot on the opposing team. - Fixed a server crash from
.watchme/.fas: forcing the other players to spectator used the live-player team-change path (weapon strip -> other plugins' weapon hooks re-enter on a half-destroyed weapon -> crash). It now drops weapons first and switches team the safe way, the same fix.t/.ct/.specalready had.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads
-
MatchZy 0.8.60
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 43sreleased this
2026-07-19 23:05:37 +02:00 | 92 commits to main since this release0.8.60
July 19, 2026
- Fixed the coach falling out of the map with a black screen on maps where the team spawn backs onto the map edge (Mirage T): the behind-team spot is now validated with wall and floor probes and moves closer to the spawn until it is inside the world.
- Fixed players being re-teleported every round while a coach was on, even on the coachless side: anyone standing on any valid team spawn is now left alone (maps like Mirage enable more spawn points than the team size), and near-duplicate spawn points can no longer seat two players almost on top of each other.
- New
.coachtest(admin): instantly places you like a coach on your current side and back again on the second run - lets a single admin verify coach placement on any map without bots or a match. - Coach spawn computation is hardened against the AcceleratorCSS tracer: a failure now falls back to the fixed viewing spot instead of erroring in the spawn handler.
Downloads
-
Source code (ZIP)
3 downloads
-
Source code (TAR.GZ)
4 downloads
-
MatchZy 0.8.59
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 53sreleased this
2026-07-19 22:17:20 +02:00 | 95 commits to main since this release0.8.59
July 19, 2026
- Practice grenade library:
.shownadestoggles in-world markers for every saved lineup on the map (yours + the shared pack),.hidenadeshides them, andcss_shownadescan be bound to a key. Markers and labels are colored by grenade type (smoke blue, flash yellow, HE red, molotov orange, decoy grey). - Grenade library labels show the type, comment and throw style, are readable from every angle (never mirrored), and no longer clip into walls next to the lineup.
- Grenade library: press E aimed at a marker to teleport to the lineup with the right grenade equipped; lineups saved on the same spot share one marker and F cycles between them (a counter like 1/2 is shown).
- Grenade library: the marker you are standing on hides for you only (no beam blocking the throw) and reappears when you walk away - no need to run
.shownadesagain. - Grenade library shared pack: admins can promote lineups with
.libadd <name>, remove with.libremove <name>and list with.liblist- visible to everyone on the server. .savenade <name> [throwtype] <comment>accepts an optional throw style (jump/run/walk/crouch) as the second word;.listnadesnumbers lineups and.ln #Nloads by number. Saving without a grenade in hand is allowed (the label shows a blank type).- New
.nadesmenu: browse the grenade library by type and click a lineup to load it (requires the CS2MenuManager plugin). - New
.warmupbots [count](admin): adds aim-warmup bots during the warmup/ready phase; they are removed automatically the moment the knife round or live match starts. - Practice
.botfixes: the engine could pair-spawn a second bot on the other team (leaving a bot on each team) and could even hand you a bot on your OWN team; both are detected and kicked, so.botadds exactly one bot on the opposing team again. - Practice colored smoke no longer reverts to grey a few seconds after blooming, and rethrown smokes (
.rt/.throw) are colored too. - Fixed
matchzy_autostart_mode 2being ignored aftercss_plugins restart MatchZy: the plugin read the convar before config.cfg had re-applied, so a practice server came back up in match mode. - Dry Run no longer ends after a single round: play as many rounds as you like (with bots or friends) until an admin runs
.exitdry, which now returns to match warmup instead of forcing practice mode (run.pracyourself if wanted). .matchand.scrimnow print a compact status line (Knife / DemoRec / Playout with colored Enabled/Disabled) plus a.helphint, and.helpduring the ready phase shows the same status block with the available commands.- Coach overhaul: the coach now spawns behind their own team automatically on every map (no per-map file), can no longer be damaged or killed by teammates, and the players' competitive spawns are left untouched (previously everyone was re-teleported each round when a coach was on, which shuffled spawns).
- Fixed scrim.cfg never applying
mp_autoteambalance 0(the setting was glued into a comment). Note: existing scrim.cfg files on disk keep the old text - delete the file to regenerate it. - Fixed the first
.ma/.nadesmenu open stalling the server for over a second (the menu library is now warmed up in the background at plugin load). .shownadesfailures now log the full error and a single bad marker no longer prevents the rest from drawing..matchsetupwizard: added a Best of 2 (BO2) series option and a "Back to Admin Menu" entry at the top of the wizard.- Removed the experimental
.predictgrenade predictor along withmatchzy_experimental_predictorand thematchzy_predict_*convars.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads
- Practice grenade library:
-
MatchZy 0.8.58
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 44sreleased this
2026-07-18 19:10:01 +02:00 | 96 commits to main since this release0.8.58
July 18, 2026
- Fixed dot-prefix chat commands (
.ma,.match,.stopmatch, ...) doing nothing during match setup: a spectator / unassigned admin is excluded from the internal player map while a match is being set up, which stopped the chat handler from resolving them, so only the!versions (e.g.!ma) worked. Dot commands now dispatch for those players too. - Fixed
.stopmatchand the "Stop Match" button in the.ma/css_maadmin menu not stopping a match that had been set up but was not yet live (setup / veto / warmup / knife). Stop now works in every pre-live and live state, not just once the match goes live. - Added
.matchstopas an alias for stopping/ending a match (alongside the existing.stopmatch,.endmatch,.stopgame,.endgame,.forcestop,.forceend,.end,.exitscrim).
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads
- Fixed dot-prefix chat commands (
-
MatchZy 0.8.57
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 46sreleased this
2026-07-18 09:30:16 +02:00 | 97 commits to main since this release0.8.57
July 17, 2026
- Fixed
.botspawning two bots at once: the redundantbot_join_teambeforebot_add_t/bot_add_ctspawned an extra bot, andbot_quota_mode normalthen refilled any kicked extra..botnow adds exactly one bot (quota is pinned to the tracked bot count). - Practice now disables the round's team-damage penalties (autokick / team-damage warn/kick / TK punish), so grenade / molotov / friendly-fire testing no longer risks a kick.
- Fixed a lingering ghost body in practice: a player who disconnects mid-practice could leave an orphaned pawn (the round is kept alive so the engine does not always reap it). The disconnecting pawn is now removed on the next frame.
- The ready-status display is controlled by a single convar,
matchzy_ready_hint_style:0= classic center text (default),1= HTML READY-UP panel with the native warmup suppressed (panel shows its ownWARMUPbadge and no native pill, at the cost of a frozen1:00round timer top-center). This folds in the oldmatchzy_ready_hide_warmup_hudtoggle (retired) and the experimentalmatchzy_ready_block_warmup_announce(removed); both are auto-removed from an existing config.cfg on update. Note: hiding the native warmup is what forces CS2 to draw the round timer, and no server value can blank it, hence the frozen1:00. - Hardened practice spawn loading (
.prac): the spawn scan is now materialized and guarded so it cannot crash the command (fixes anArrayTypeMismatchExceptionseen when running under the AcceleratorCSS Harmony tracer). - Fixed the ready phase after a live plugin reload (
css_plugins unload/load): per-player ready state and the gamerules warmup state are now restored on hot reload, so the ready hint counts connected players (with the NotReady list) and displays correctly instead of reading 0/0 or staying invisible until a round restart.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads
- Fixed
-
MatchZy 0.8.56
StableSome checks failedBuild and Release / Build and Release (push) Failing after 40sreleased this
2026-07-17 14:47:37 +02:00 | 109 commits to main since this release0.8.56
July 16, 2026
- Practice named position slots:
.savepos <name>saves a position under a name,.loadpos <name>teleports back to it,.listposlists your saved names, and.delpos <name>removes one (up to 32 per player)..savepos/.loadposwith no name keep working as the single default slot. - Practice flash test:
.flashtest(or.ft) toggles a chat readout of your own blind duration each time you get flashed, for tuning pop-flashes and self-flashes. - Practice self-flash:
.blindthrows a flashbang at your own face for pop-flash reaction reps (no teammate or client bind needed). - Practice
.wipe(or.clearnades) clears your grenade throw history (the source for.last/.back/.rt/.throwindex) without leaving and re-entering practice. - Practice
.jt(.jumpthrow) jumpthrows the grenade in your hand, gated behind the new convarmatchzy_experimental_jumpthrow(defaultfalse). Experimental: it forces the jump and release server-side, which the engine may ignore on some CS2 builds, so it ships off by default. - Practice
.cleanupclears all utility currently on the map (smokes, mollies, infernos, live projectiles). - Practice
.autocleartoggles auto-clearing utility: when on, each time a grenade detonates the older utility is removed and only the just-detonated result is kept, for fast lineup iteration. - Practice
.landmarker(.lm) toggles a marker at each grenade's detonation point so you can see exactly where it landed. - Practice
.arc(.traceline) toggles drawing the flight path of thrown grenades as an in-world trajectory line. - Practice saved grenade lineups are now capped at 500 per player, and
.mynadesshows how many you have saved. - Fixed
.rt/.throw(rethrow last grenade) silently doing nothing after a normal mouse1 throw: a freshly thrown grenade could be recorded with zero velocity (its velocity field lags a frame on current CS2 builds), which the rethrow's zero-velocity guard then dropped. The launch velocity is now recovered from the projectile's movement when the direct read comes back empty. - Added an experimental grenade landing predictor:
.predictdraws the flight arc and a landing marker for the grenade in your hand, gated behindmatchzy_experimental_predictor(defaultfalse). It forward-simulates the throw (with world-collision wall/floor bounces when built against a CounterStrikeSharp API that exposes the trace natives, otherwise a no-collision estimate), tunable live viamatchzy_predict_gravity/matchzy_predict_throwspeed/matchzy_predict_elasticity/matchzy_predict_friction, with amatchzy_predict_debugreadout of predicted-vs-actual landing distance for calibration. - Fixed a countdown timer appearing during the ready phase when the HTML ready panel (
matchzy_ready_hint_style 1) is used: hiding the native WARMUP banner also droppedmp_warmup_pausetimer, so the round timer counted down. The timer is now frozen during the ready phase, matching paused warmup. - The HTML ready panel now shows a
WARMUPbadge at the top, since the native WARMUP banner is hidden while the panel is up. - Practice
.delnadecan now delete multiple lineups at once:.delnade <name1> <name2> ...removes each, and.delnade allremoves every lineup you saved on the current map. It reports which were deleted and which were not found. - Fixed a rare
ArrayTypeMismatchExceptionwhen entering practice (.prac->GetSpawns) on servers running a call-history crash tracer: the spawn lists are now pre-sized so the list-grow path that tripped it is never taken. - Added
matchzy_ready_up_by_ping(defaulttrue): set itfalseto stop pinging (middle-mouse / scroll button) from toggling your ready status, for players who ready up by accident.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
- Practice named position slots:
-
MatchZy 0.8.55
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 50sreleased this
2026-07-16 19:07:49 +02:00 | 111 commits to main since this release0.8.55
July 16, 2026
- Practice spawn markers are now interactive: with
.showspawnsactive, aim at a spawn marker and press USE (E) to teleport to that spawn..hidespawns(or leaving practice) disarms it. - Practice spawn markers are now lifted slightly off the floor so they stay visible over shallow water (e.g. de_ancient) instead of sinking out of sight.
- Practice
.backwith no number now steps backward through your grenade history like CS:GO practice mode: the first.backjumps to your most recent nade, each further.backgoes one older, and it stops at the oldest instead of printing a usage message..lastand.back <number>set the starting point, and the cursor resets when you throw a new nade. - Fixed practice spawn teleports (
.spawn, best/worst spawn) tilting the whole player model sideways at steep spawn angles after a recent CS2 update: they now keep the body upright (same fix already used for.last/.backnade lineups). - Build now compiles against the fork's CounterStrikeSharp API DLL at
~/CounterStrikeSharp(1.0.398) instead of the NuGet package (which tops out at 1.0.371), so the plugin matches the newer server runtime ABI. This fixes anEntryPointNotFounderror triggered on 1.0.39x runtimes.
Downloads
-
Source code (ZIP)
3 downloads
-
Source code (TAR.GZ)
2 downloads
- Practice spawn markers are now interactive: with
-
MatchZy 0.8.54
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 47sreleased this
2026-07-16 16:44:34 +02:00 | 113 commits to main since this release0.8.54
July 16, 2026
- Fixed practice rethrow (
.throw/.rt/.throwsmokeetc.) only working for flashbangs: smoke / HE / molotov / decoy re-throws silently did nothing when their native*_Createsignature failed to resolve fromgamedata/matchzy.json. They now fall back to the managed entity API (like flash always has) so a rethrow always spawns, and log a clear warning when the signature was missing so a stale/undeployed gamedata file is diagnosable. Also added incendiary (CT molotov) rethrow support. - Fixed re-thrown grenades spinning wrong: the projectile's angular velocity (spin) was being set to its linear launch velocity on rethrow. The real spin is now captured at throw time and replayed, so a rethrown nade tumbles like the original (cosmetic; landing spot was already correct).
- Added
.grt(.globalrethrow, consolecss_grt) in practice: rethrows every player's last thrown grenade at once, for setting up full team executes in one command. - Fixed
.listnades/.loadnade/.delnade/.importnadethrowing aFileNotFoundException(server error spam) on a fresh server before any lineup was saved: the missingsavednades.jsonis now treated as empty instead of crashing the command.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
2 downloads
- Fixed practice rethrow (
-
MatchZy 0.8.53
StableAll checks were successfulBuild and Release / Build and Release (push) Successful in 55sreleased this
2026-07-16 11:48:33 +02:00 | 120 commits to main since this release0.8.53
July 15, 2026
- Reworked the "waiting for players" ready screen into a per-player HTML panel: title, progress bar, ready count, CT/T split, current mode (Match / Scrim / Hill / Match Setup), and each player's own READY / NOT READY status, shown in their own language. New convar
matchzy_ready_hint_style(0 = classic center text, 1 = HTML panel, default1) andmatchzy_ready_hint_blink(blink the NOT READY line to grab attention, style 1 only, defaultfalse). - The native "WARMUP" HUD banner is now hidden during the ready phase (convar
matchzy_ready_hide_warmup_hud, defaulttrue) so it no longer overlaps the ready panel. A "fake warmup" keeps the pre-match ready phase playing like warmup (round never ends, respawn on death, no round-time expiry) while the banner is hidden, and the center panel no longer flashes. - Fixed the ready panel showing the wrong mode: switching
.scrim/.hillduring warmup now updates the panel immediately, and.hill->.matchno longer leaves the server stuck in hill mode. - Practice grenade spawns and
.breakrestorenow resolve their signatures from the fork'sgamedata.jsonby key instead of hardcoded byte patterns, so they self-heal on a CS2 update without a plugin rebuild. - Added
matchzy_ready_clantag_enabled(defaulttrue) to toggle the[READY]/[UNREADY]scoreboard clan tags shown during the ready phase. - MatchZy now auto-yields the map command when a dedicated map plugin (CS2-SimpleAdmin / CS2MapChange) is installed alongside: it registers neither
css_mapnor handles the.mapchat command, letting the other plugin own map changes. This avoids acss_mapConCommand conflict (which could block players from connecting) and a double map change (two plugins both firing a changelevel disconnected players). Map changes are also debounced, so a single.mapnever changes the map twice even on servers that add.as a chat trigger (where.maphits both the chat dispatch andcss_map).matchzy_map_console_command_enabled(defaulttrue) gates the console command; set itfalseto never registercss_map.
Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
3 downloads
- Reworked the "waiting for players" ready screen into a per-player HTML panel: title, progress bar, ready count, CT/T split, current mode (Match / Scrim / Hill / Match Setup), and each player's own READY / NOT READY status, shown in their own language. New convar