A web panel to control a CS:GO server
- NodeJS
- Simple Node Logger
- srcds-rcon
- Json DB
- Express
- Express-WS
- Webpack
- Preact
- Preact Router
- Bootstrap
- Sass
- Sockette
- 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
- Install NodeJS 8.0 or higher
- Copy the
_scripts/config/config.dev.json
to hereapp/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
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
.
To make this as simple as it is I use a local Json database.
Checkout csgo-rcon.json
since this is the db file.
To enable livescoring and auto match configuration please install the SourceMod Plugin:
https://github.com/glenndehaan/csgo-rcon-plugin
- English
- French
- German
- Dutch
{
"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
}
}
- GitHub Request: #2
Wingman:Connect server
needs to change map to wingman mapDangerzone:Connect server
needs to change map to dangerzone mapDangerzone:Knife round
needs to be disabledDangerzone:Start match
needs to stop warmupDangerzone/Wingman: Restore game_type/game_mode to competitiveHealthcheck needs to be fasterTranslations add socket error messagesAdd 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 Readmeconfig.json
explanation- Implement LoadBalancing (Redis)?
- Implement MongoDB?
Implement lang files testsImplement basic testsImplement NodeJS server logs web interfaceImplement NodeJS server controls(Not possible)Better GitHub release integrationRcon Healthcheck (Auto reinit Rcon connection)Rcon Command error/timeout (https://github.com/randunel/node-srcds-rcon#specify-command-timeout)
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 groupsEdit matchAdd native system notificationsAdd SVG's to replace bulky buttonsProtect /settings page with basic auth (Username/Password in config file)Challonge import server option: Next available serverChallonge import complete notification updateSettings icon active state stuckRestart game implement are you sure dialogRewrite queue moduleFilter matches on homepage (Not started, Running, Completed)/settings add archive complete matches functionDisable match/server controls if match isn't startedServer overview page to so available server where no matches are runningAdd breadcrumbsAdd /settings force archive match/about page with software infoVersion 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_endPlugin: Split connect server/start matchPlugin: Add start warmup buttonPlugin: Autoflow Connect Server->Warmup->Start Knife->Knife (End)->Warmup->Start match->Match end->Auto restore serverCSV Import matches
MIT