[PWG] Tackdriver
12-04-2007, 14:36
Hello,
I've been thinking of an idea to create a server plugin for CS:S that allows the gameserver to essentially interface users to a teamspeak server.
The idea sort of comes from looking at some of the Eventscripts scripts that exist out there which are really cool, but maybe a few more features would be really neat.
First off I guess I'd like to make sure this isn't already being done by somebody else... why write a plugin if it's already been done. :)
But these are a few features I think would be really cool to have in a server plugin, if it's at all possible:
1. Ability to connect a player to your password-protected teamspeak server without having to give them the password. (this is already done with joinvoice and sab_teamspeak eventscripts)
2. Auto-switching of the player to the correct sub-channel when they switch teams or go spec -- which is already done in the 2 eventscripts I've looked at, but preferably without having to stuff another client "browse" command that makes another blank in-game browse dialog come up that has to be OK'd to continue playing the game. Looking over the tsremote.dll it almost looks like this could be done from the server plugin possibly.
3. Automatic disconnection of players from the Teamspeak server when they disconnect from the gameserver, so they don't tie up a teamspeak server slot. This isn't being done yet by either eventscript I've looked at, but if tsremote.dll/.so functions could be used by the server plugin it does sort of look like this could maybe be done. Assuming the server plugin could talk to the teamspeak server (which could either be local or remote).
4. Abillity to keep some type of database (flat file, mysql, whatever) of Teamspeak users for various things. For example, track them by SteamID or something, so that some users on the server could maybe have some admin rights on the TS server via the plugin. Or for that matter, maybe you want to have a ban list of SteamID's or IP's -- people that you are willing to let play on the gameserver, but are not allowed to connect to the TS server from the game because they spam the mic too much or can't control their temper, whatever... OK this is probably pretty fancy, especially considering my lack of C++ skills.. but it would be pretty cool
Just some ideas... I know there are web-based management tools etc. but if you're trying to PLAY the game occasionally (not just sitting in front of a web interface and HLSW all day), it would be really cool to be able to have various functionality like this right in the gameserver as a plugin with a menu and some chat commands etc.
Would the tsremote client library (.so/.dll) be able to handle the functions to talk to the TS server for the things described above? (well, the parts that involve sending commands to the TS server). I could probably just have the plugin link the library if I'm not totally missing the purpose. I guess I'd need C/C++ equivalent header files for the functions.
Thanks for any advice/comments.
[PWG] Tackdriver
I've been thinking of an idea to create a server plugin for CS:S that allows the gameserver to essentially interface users to a teamspeak server.
The idea sort of comes from looking at some of the Eventscripts scripts that exist out there which are really cool, but maybe a few more features would be really neat.
First off I guess I'd like to make sure this isn't already being done by somebody else... why write a plugin if it's already been done. :)
But these are a few features I think would be really cool to have in a server plugin, if it's at all possible:
1. Ability to connect a player to your password-protected teamspeak server without having to give them the password. (this is already done with joinvoice and sab_teamspeak eventscripts)
2. Auto-switching of the player to the correct sub-channel when they switch teams or go spec -- which is already done in the 2 eventscripts I've looked at, but preferably without having to stuff another client "browse" command that makes another blank in-game browse dialog come up that has to be OK'd to continue playing the game. Looking over the tsremote.dll it almost looks like this could be done from the server plugin possibly.
3. Automatic disconnection of players from the Teamspeak server when they disconnect from the gameserver, so they don't tie up a teamspeak server slot. This isn't being done yet by either eventscript I've looked at, but if tsremote.dll/.so functions could be used by the server plugin it does sort of look like this could maybe be done. Assuming the server plugin could talk to the teamspeak server (which could either be local or remote).
4. Abillity to keep some type of database (flat file, mysql, whatever) of Teamspeak users for various things. For example, track them by SteamID or something, so that some users on the server could maybe have some admin rights on the TS server via the plugin. Or for that matter, maybe you want to have a ban list of SteamID's or IP's -- people that you are willing to let play on the gameserver, but are not allowed to connect to the TS server from the game because they spam the mic too much or can't control their temper, whatever... OK this is probably pretty fancy, especially considering my lack of C++ skills.. but it would be pretty cool
Just some ideas... I know there are web-based management tools etc. but if you're trying to PLAY the game occasionally (not just sitting in front of a web interface and HLSW all day), it would be really cool to be able to have various functionality like this right in the gameserver as a plugin with a menu and some chat commands etc.
Would the tsremote client library (.so/.dll) be able to handle the functions to talk to the TS server for the things described above? (well, the parts that involve sending commands to the TS server). I could probably just have the plugin link the library if I'm not totally missing the purpose. I guess I'd need C/C++ equivalent header files for the functions.
Thanks for any advice/comments.
[PWG] Tackdriver