All Projects → glenndehaan → csgo-rcon-nodejs

glenndehaan / csgo-rcon-nodejs

Licence: MIT license
A web panel to control a CS:GO server

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to csgo-rcon-nodejs

rcon-web-admin
Self hosted, online RCON administration tool for your game server.
Stars: ✭ 70 (+52.17%)
Mutual labels:  rcon, csgo
csgo-server-configs
CS:GO Server Configs for Competitive 5v5, Knife Round, Aim Map and FFA Deathmatch
Stars: ✭ 24 (-47.83%)
Mutual labels:  csgo, csgo-server
csgo-mm-server-picker
🌐 The new server picker for CS:GO matchmaking - Available on Windows & Linux
Stars: ✭ 150 (+226.09%)
Mutual labels:  csgo, csgo-server
runelite.net
RuneLite website
Stars: ✭ 71 (+54.35%)
Mutual labels:  preact
website
Personal website and blog built with Next.js, Preact, MDX, Tailwind CSS and hosted on Vercel.
Stars: ✭ 17 (-63.04%)
Mutual labels:  preact
webpush-example
A basic push notifications app built on Laravel and Vanilla Javascript.
Stars: ✭ 26 (-43.48%)
Mutual labels:  notifications
Dracker
An iOS and React App to track debt and send/receive payments.
Stars: ✭ 22 (-52.17%)
Mutual labels:  notifications
csgo-gsi-python
Python library to interact with CS:GO
Stars: ✭ 33 (-28.26%)
Mutual labels:  csgo
vue-over-body
Create modals, sidebars, notifications, pop ups with css transitions!
Stars: ✭ 38 (-17.39%)
Mutual labels:  notifications
HLTVDemoDownloader
Downloads demo files from HLTV based on an event ID.
Stars: ✭ 22 (-52.17%)
Mutual labels:  csgo
double-sdk
A simple way to write CS:GO cheats!
Stars: ✭ 15 (-67.39%)
Mutual labels:  csgo
moonlight-admin
Easy to use admin panel, designed for cheat loaders.
Stars: ✭ 29 (-36.96%)
Mutual labels:  csgo
minecraft-backup
Backup script for Minecraft servers on Linux. Supports screen, tmux, and RCON connections. Supports tar and restic backup format.
Stars: ✭ 140 (+204.35%)
Mutual labels:  rcon
New-AdPasswordReminder
PowerShell script to email users that their password is soon expiring, along with info on how to change it. Designed to run as a scheduled task on a machine with the Active Directory PowerShell module installed.
Stars: ✭ 20 (-56.52%)
Mutual labels:  notifications
ember-cli-new-version
A convention based update notification for Ember. With this addon, you can detect a new version and notify the user to refresh the page
Stars: ✭ 22 (-52.17%)
Mutual labels:  notifications
eslint-config-preact
Unopinionated baseline ESLint config for Preact and Preact CLI codebases.
Stars: ✭ 75 (+63.04%)
Mutual labels:  preact
spoken-word
Spoken Word
Stars: ✭ 46 (+0%)
Mutual labels:  preact
stack-exchange-notifications
Add-ons for Stack Exchange sites, like: askdifferent, askubuntu, serverfault, stackoverflow and superuser
Stars: ✭ 21 (-54.35%)
Mutual labels:  notifications
EasyBuzzer
The Beep Library For Arduino
Stars: ✭ 63 (+36.96%)
Mutual labels:  notifications
HelvetaCS
Modern C++ CS:GO base
Stars: ✭ 41 (-10.87%)
Mutual labels:  csgo

Counter-Strike Global Offensive Web Panel

A web panel to control a CS:GO server

Build Status release dependencies license

Backend Structure

  • NodeJS
  • Simple Node Logger
  • srcds-rcon
  • Json DB
  • Express
  • Express-WS

Frontend Structure

  • Webpack
  • Preact
  • Preact Router
  • Bootstrap
  • Sass
  • Sockette

Basic Usage

  • Download the latest version from the releases page on GitHub
  • Save the binary in it's own folder
  • Run the binary (this will create some additional files/folders)
  • Adjust the config.json
  • Restart the binary

Then open up a webbrowser and go to the site

Development Usage

  • Install NodeJS 8.0 or higher
  • Copy the _scripts/config/config.dev.json to here app/src/config/config.json
  • Run npm install in the root project folder
  • Run npm run webpack in the root project folder
  • Run npm run dev in the root project folder

Then open up a webbrowser and go to the site

Logging

All logs will be written to the csgo-rcon.log file in the node folder.

To increase the logging change the logger level in the config.json file from info to debug.

Database

To make this as simple as it is I use a local Json database.

Checkout csgo-rcon.json since this is the db file.

Plugin

To enable livescoring and auto match configuration please install the SourceMod Plugin:

https://github.com/glenndehaan/csgo-rcon-plugin

Language Support

  • English
  • French
  • German
  • Dutch

config.json Explanation

{
  "application": {
    "companyName": "A Company", <<- This name will be prefixed in the servername
    "baseUrl": "http://CURRENTIP:3542" <<- Change 'CURRENTIP' to the IP of the CSGO-Remote server. Your CS:GO servers must be able to connect to the CSGO-Remote app
  },
  "servers": [ <<- Put all your CS:GO server in this block
    { <<- A server block
      "ip": "192.168.1.xx", <<- CS:GO server IP/Hostname
      "port": 27015, <<- CS:GO server Port
      "password": "anrconpassword", <<- CS:GO server password
      "default_map": "de_dust2", <<- CS:GO server default loading map
      "server_restore_config": "server" <<- Leave this default
    }
  ],
  "broadcaster": { <<- The broadcaster sends messages to the CS:GO server chat
    "enabled": true, <<- Enables the broadcaster
    "speed": 120, <<- After how long do we need to send the next message in seconds
    "messages": [ <<- This block contains all the messages
      "This is message 1", <<- This is one message
      "This is message 2",
      "This is message 3"
    ]
  },
  "authentication": { <<- This block is for the /settings pages
    "username": "root", <<- Username for the /settings pages
    "password": "password123!" <<- Password for the /settings pages
  }
}

v2 TODO's

  • GitHub Request: #2
  • Wingman: Connect server needs to change map to wingman map
  • Dangerzone: Connect server needs to change map to dangerzone map
  • Dangerzone: Knife round needs to be disabled
  • Dangerzone: Start match needs to stop warmup
  • Dangerzone/Wingman: Restore game_type/game_mode to competitive
  • Healthcheck needs to be faster
  • Translations add socket error messages
  • Add frontend translations
  • Add Bo1, Bo2, Bo3, Bo4, Bo5 support
  • Add wingman and dangerzone support (maps, configs)
  • Add support for uploading scores back to challonge
  • Replace basic auth with frontend login
  • Add livescoring to Home/Servers view
  • Add Readme config.json explanation
  • Implement LoadBalancing (Redis)?
  • Implement MongoDB?
  • Implement lang files tests
  • Implement basic tests
  • Implement NodeJS server logs web interface
  • Implement NodeJS server controls (Not possible)
  • Better GitHub release integration
  • Rcon Healthcheck (Auto reinit Rcon connection)
  • Rcon Command error/timeout (https://github.com/randunel/node-srcds-rcon#specify-command-timeout)

v1 TODO's

  • Lock matches on same server when one match is running.
  • Fix production PKG build.
  • Add say to admin interface.
  • Add broadcaster to config file.
  • Fix restore server config file. (Restore config is now optional)
  • Catch srcds error's. (Send cmd if rcon fails)
  • Create one cmd for rcon. (Use in startMatch, reset) Let others use that.
  • Rcon reconnect? (Not possible with current package!)
  • Rcon server/match status? (V2)
  • Challonge (API/Webhook) match import?
  • Rewrite (server modules) to ES6 classes?
  • Bootstrap Notification bar. (Showing that we are sending something)
  • Add match groups
  • Edit match
  • Add native system notifications
  • Add SVG's to replace bulky buttons
  • Protect /settings page with basic auth (Username/Password in config file)
  • Challonge import server option: Next available server
  • Challonge import complete notification update
  • Settings icon active state stuck
  • Restart game implement are you sure dialog
  • Rewrite queue module
  • Filter matches on homepage (Not started, Running, Completed)
  • /settings add archive complete matches function
  • Disable match/server controls if match isn't started
  • Server overview page to so available server where no matches are running
  • Add breadcrumbs
  • Add /settings force archive match
  • /about page with software info
  • Version update available based on GIT (GitHub)
  • Show development/production version
  • Autosetup server (V3)
  • Match control password protect at match create
  • Plugin: Lock match data after match_end
  • Plugin: Split connect server/start match
  • Plugin: Add start warmup button
  • Plugin: Autoflow Connect Server->Warmup->Start Knife->Knife (End)->Warmup->Start match->Match end->Auto restore server
  • CSV Import matches

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].