Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Frika Round End Sounds

Modern, defensive round-end music for Garry's Mod Trouble in Terrorist Town and TTT2.

CI GMod compatibility License Coverage Duplication Garry's Mod TTT

Overview

Frika Round End Sounds plays a random local audio file when a TTT or TTT2 round ends. Separate playlists are available for Innocent wins, Traitor wins, time-limit results, and additional TTT2 teams.

The addon is intentionally small and has no runtime dependencies beyond Garry's Mod and a compatible TTT gamemode.

Features

  • Separate playlists for innocents, traitors, timelimit, and teams
  • TTT and TTT2-compatible result handling without hard failures on missing optional globals
  • Persistent per-player volume through frs_volume
  • Immediate-repeat protection when a playlist contains multiple tracks
  • Safe handling of empty folders and unsupported files
  • Automatic FastDL registration for bundled audio files
  • Admin reload and test commands
  • CI, scheduled current-GMod packaging checks, Dependabot, automated contributor updates, and release automation
  • Mandatory 100% production line coverage and 0% qualifying production-code duplication

Installation

  1. Copy this repository into garrysmod/addons/gmod-fres.
  2. Add .mp3 or .wav files to the appropriate folders:
sound/round/
├── innocents/
├── traitors/
├── timelimit/
└── teams/
  1. Restart the server or run frs_reload from the server console.
  2. Start a TTT or TTT2 round and use frs_test innocents from the server console for a quick check.

See INSTALLATION.md for FastDL, Workshop, and update notes.

Player commands

Command Description
!volume <0-100> Set and persist local music volume
!music Show the most recently selected track
!musicstop Stop current playback

Client console variables:

Variable Default Description
frs_client_enabled 1 Enable playback on this client
frs_volume 50 Local volume in percent

Server commands

Command Permission Description
frs_reload Server console or admin Rescan playlists and register files
frs_test <category> Server console or admin Broadcast a random track from a category

Server console variable:

Variable Default Description
frs_enabled 1 Enable round-end playback server-wide

See Configuration, Compatibility, and Architecture for details.

Quality gates

Every pull request must pass:

  • repository and Markdown-link validation
  • Python tests
  • Lua 5.1 behavior tests against Garry's Mod API mocks
  • Luacheck static analysis with SARIF findings
  • 100% line coverage for both production autorun files
  • jscpd with a 0% duplication threshold
  • actionlint validation for every GitHub Actions workflow

Reports are retained as workflow artifacts. See QUALITY.md and docs/TESTING.md.

Documentation

The complete user, maintainer, contributor, funding, and automated-agent documentation is indexed in DOCUMENTATION.md.

Repository layout

.
├── lua/autorun/client/       # Client playback and chat commands
├── lua/autorun/server/       # Playlist scanning and TTT round hook
├── sound/round/              # User-provided audio playlists
├── docs/                     # Maintainer and user documentation
├── scripts/                  # Repository and quality automation
├── tests/lua/                # GLua behavior tests and API mocks
├── tests/                    # Python repository tests
└── .github/                  # CI, templates, funding, and automation

Contributing

Contributions are welcome. Read CONTRIBUTING.md, CODE_OF_CONDUCT.md, and SECURITY.md before opening a pull request.

Credits

Role Contributor
Creator and maintainer mleem97
Additional contributors CONTRIBUTORS.md

Funding

Development can be supported through GitHub Sponsors and the options documented in FUNDING.md. The GitHub sponsor button is configured in .github/FUNDING.yml.

License and attribution

Copyright 2025-2026 mleem97.

Licensed under the Apache License 2.0. Redistributions must preserve the license, copyright notices, and the attribution information in NOTICE, as required by the license.

About

Garrys Mod Script to Run Sounds at the End of a Round of TTT / TTT2

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages