GithubHelp home page GithubHelp logo

kirzilla / pugsharp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lan2play/pugsharp

0.0 0.0 0.0 3.17 MB

Pugsharp is a PUG System Plugin for CS2 based on the awsome CounterStrikeSharp by roflmuffin. Its intended purpose is to be used with our fork of eventula, but ofc can be used in a different environment as well.

Shell 0.73% C# 95.69% Makefile 3.58%

pugsharp's Introduction

PugSharp

PugSharp_test_and_build PugSharp_website_build Lines of Code Quality Gate Status Duplicated Lines (%) Coverage Maintainability Rating Reliability Rating Security Rating Vulnerabilities Code Smells Bugs

Pugsharp is a PUG System Plugin for CS2 based on the awsome CounterStrikeSharp by roflmuffin. Its intended purpose is to be used with our fork of eventula, but ofc can be used in a different environment as well.

Warning This Plugin is in a very early state of development and is not fully working right now! We keep you updated on our discord below, if you are interested in using it.

You can find the full documentation on pugsharp.lan2play.de .

If you want to help developing or translating, join our discord:

Discord

Working features

  • Configuration via http(s) json (example below)
  • Configuration via json file
  • api reporting to a http(s) server
    • Report start of match
    • Report round results
    • Report map ended
    • Report series ended (for bo3, ...)
  • automatic team assignment
  • map and starting team vote
  • automatic pause if player disconnects
  • pause / unpause feature
  • demo recording

Usage

Warning Don't use this in production right now!

If you want to know how to use PugSharp, hop over to our Documentation .

Commands

  • !ready Mark the player as ready
  • !pause Pause the match in the next freezetime
  • !unpause Unpause the match. To continue the match, both teams have to !unpause.

Admin/Rcon Commands

<requiredParameter> This marks parameters that are required for commands [optionalParameter] This marks parameters that can be optional added to commands

  • !ps_loadconfig <url> [authToken] Load a MatchConfig to initialize a match
  • !ps_loadconfigfile <filename> Load a MatchConfig to initialize a match. The file path must be either rooted or relative to csgo/PugSharp/Config/
  • !ps_dumpmatch Dumps the current matchstate and config to console

Configuration

MatchConfig

Field DefaultValue Description
maplist - (required) List of availbale maps for the map vote
team1 - (required) [Team](TODO Link) Description
team2 - (required) [Team](TODO Link) Description
matchid - (required) Unique Identifier for the match
num_maps 1 Number of Maps to be played. This should be an odd number to be able to determine an winner.
players_per_team 5 Maximum possible number of players per team.
min_players_to_ready 5 Number of players per team, that have to be ready to start the game.
max_rounds 24 Maximum number of rounds that are played for mainmatch.
max_overtime_rounds 6 Maximum number of rounds that are played in overtime.
vote_timeout 60000 (60s) Timeout in milliseconds. If team does not complete vote within this timeout the map with the most votes gets banned.
eventula_apistats_url (optional) Url where the Game State have to be send.
eventula_apistats_token (optional) Optional Authtoken that is used to authenticate on apistats upload.
eventula_demo_upload_url (optional) Url to upload the game demo to Eventula

Example Config

{
  "maplist": ["de_vertigo", "de_dust2", "de_inferno", "de_mirage", "de_nuke", "de_overpass", "de_ancient"],
  "team1": {
    "name": "hallo",
    "tag": "hallo",
    "flag": "DE",
    "players": {
      "12345678901234567": "Apfelwurm",
      "12345678901234568": "strange name"
    }
  },
  "team2": {
    "name": "asd",
    "tag": "asd",
    "flag": "DE",
    "players": {
      "12345678901234569": "BOT R00st3r",
      "76561198064576360": "heatwave"
    }
  },
  "matchid": "40",
  "num_maps": 1,
  "players_per_team": 2,
  "min_players_to_ready": 2,
  "max_rounds": 24,
  "max_overtime_rounds": 6,
  "vote_timeout": 60000,
  "eventula_apistats_url": "https://dev.lan2play.de/api/matchmaking/40/",
  "eventula_apistats_token": "S0XRU0UhIExFQ0tFUiEK",
  "eventula_demo_upload_url": "https://dev.lan2play.de/api/matchmaking/40/demo"
}

ServerConfig

Field Description
admins List of admins with the steamId and a Name

Example Config

{
  "admins": {
    "12345678901234569": "BOT R00st3r",
    "12345678901234567": "Apfelwurm"
  }
}

Credits

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.