[Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post here every finished plugin

Moderator: NADEO

Post Reply
User avatar
refresh
Posts: 74
Joined: 15 Jun 2010, 13:33
Location: Nantes, France

[Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post by refresh » 22 Jul 2011, 18:02

ManiaLive TeamSpeak integration
Hi there,
I'm currently working on a plugin that allows you to launch a TeamSpeak 3 server with your TM dedicated server and link them with ManiaLive. In a nutshell, it's a user interface for TeamSpeak inside TrackMania.
It only works with TM² Canyon because it uses the protocol ts3server:// that is not allowed in TMNF & TMUF.

Index
1) Features.
2) Todo list.
3) Known problems.
4) Screenshots.
5) Installation guide.
6) Download.
7) Changelog.

1) Features.
- Shows a button to connect to the TeamSpeak 3 server and a button to disconnect once you're connected
- Shows a button to display the list of players connected to the TeamSpeak 3 server.
- Dynamic list of players: it updates when people connect or leave TeamSpeak.
- It shows who's talking, who's muted, who's away.
- Possibility to change the vertical location of the menu.
- Possibility to use a specific channel (with password or not) or a subchannel of a teamspeak server (with password or not).
- Two modes: normal (everyone can talk) or commentator (for matches, only certain players can talk, other players just listen)


2) Todo list.
- Adapt the width of the window if a nickname is long. Done in v1.0.1
- Change the connection button: do not make it disappear that way. Done in v1.0.2
- Make it works when player is a spectator. Done in v1.0.2
- Adapt the height of the list when there are many players. Done in v1.1
- Change the "O" that shows if the player talks or not. Done in v1.1
- Option to use channel/subchannel. Done in v1.1
- Option to use a server password. Done in v1.1
- "Commentator Mode": One player talks and everybody else just listen ! Done in v1.2
- Reduce the delay of the TS informations. Done in v1.2
- Possibility to choose between 2 GUI, normal or light (only speaking players are displayed).
- Support several languages channels: a button to connect to each language channel.


3) Known problems.
- The buttons blink a little bit when cursor is on them. Fixed in v1.1
- The height of the player list background may not be adapted. Fixed in v1.1
- Delay between the TS information (eg. someone talks) and the plugin UI is sometimes too long. Fixed in v1.2, see changelog


4) Screenshots.
Image Image Image Image


5) Installation guide.
This plugin just has to be installed like any other ManiaLive plugin.
Click here to download the latest version of the TeamSpeak 3 plugin (v1.2). Put the content of the .zip into your ManiaLive folder (the plugin will be located in libraries\ManiaLivePlugins\refreshfr\TeamSpeak).
Now we have to configure ManiaLive to use the plugin, so in the config.ini, add in the plugin part this line in the "Plugins" part of the file:

Code: Select all

    plugins.load[] = 'refreshfr\TeamSpeak'
And we have to give it some parameters so add in the "Settings" part these lines:

Code: Select all

    plugins.refreshfr\TeamSpeak.serverIpAddress = 'ip address of the TS3 server here'
    plugins.refreshfr\TeamSpeak.serverVoicePort = '9987' ; Default: 9987
    plugins.refreshfr\TeamSpeak.serverQueryPort = '10011' ; Default: 10011
    plugins.refreshfr\TeamSpeak.serverAdminLogin = 'serveradmin'
    plugins.refreshfr\TeamSpeak.serverAdminPassword = 'TS3 Server Password here'
If you have multiple channels and subchannels or if you have passwords to your server or channels, just set the channel/subchannel you want the players to be in when they connect by clicking on the ingame button.
You must set a channel in these settings.

Code: Select all

    plugins.refreshfr\TeamSpeak.serverPassword = ''   ;Server password for clients
    plugins.refreshfr\TeamSpeak.channel = 'TM2'
    plugins.refreshfr\TeamSpeak.channelPassword = ''
    plugins.refreshfr\TeamSpeak.subchannel = 'Canyon'
For the configuration above, my TS serveur should looks like that:
Image

Now, you have to configure the Commentator mode (if you want to use it).
So add these lines and add the logins of the commentators. The plugin will automatically configure your TS channel for this mode: the power talk level will be set to 1000 and only commentators will be granted the sufficient rights to talk. (it will also edit the channel if you go back to normal mode).

Code: Select all

    plugins.refreshfr\TeamSpeak.commentatorEnabled = 'yes'   ;default is 'no'
    plugins.refreshfr\TeamSpeak.commentatorsLogin[] = 'login1'
    plugins.refreshfr\TeamSpeak.commentatorsLogin[] = 'login2'
Note that if your login is in the admin logins of ManiaLive, you can switch between modes ingame by typing
/ts3 normal or /ts3 commentator

And if you want to change the vertical location of the button and list, enter this in the settings of the config.ini of ManiaLive and change the value (relaunch ManiaLive to see changes).

Code: Select all

    plugins.refreshfr\TeamSpeak.verticalLocation = '-18' ; Default value is: -18
6) Download.
TeamSpeak 3 ManiaLive Plugin (v1.2) (latest version)
Previous versions here.

7) Changelog
v1.2 (10 Aug 2011)
- No longer needs WAMP or external php file, it's now a regular plugin !
- I've integrated the TeamSpeak PHP Framework into ManiaLive so I can have more features such as:
- Disconnect button, quit the TS Server directly from the game.
- Commentator Mode with dynamic TS channel editing: when you switch to commentator mode (by typing /ts3 commentator as a manialive admin), the channel is automatically configured.
- Improved the delay between TS and TM. I can't do better than that because I can't do faster than integrating the TeamSpeak PHP Framework into ManiaLive.

v1.1 (2 Aug 2011)
- New settings in config.ini, see the configuration part of this post: you can now use a specific channel and subchannel with passwords (and also, with a server password). That means you can use an existing teamspeak server and create a channel just for the TM server. If you have more than one channel, you must set a channel in the settings.
- The list height is now adapted when there are many players.
- Improved nicknames display: no more bugs with links or font-styles (eg. bold).
- Even more better code ! But can always be better...
- Buttons blinks no more ! It's way prettier.
- Less queries and actions for ManiaLive (eg. create GUI for players) so it could be better for your other plugins running with mine.
- Delay between TS and TM reduced.
v1.0.2b (28 Juil 2011)
Exactly the same features as the previous one but I changed the 'alias' variable that worked only if ManiaLive is running on a PC and changed it to a http link (so it can be http://localhost/etc or http://myServer.com/etc)
v1.0.2 (27 Juil 2011)
Now works when players are spectators.
Connection button does not disappear anymore, a simple title replaces it.
Improved code, removed useless lines.
v1.0.1 (26 Juil 2011)
Window's width adapted to nicknames length.
v1.0.0 (22 Juil 2011)
Initial release


Please post here if there is something wrong !
Last edited by refresh on 10 Aug 2011, 11:45, edited 10 times in total.
Image

The_Big_Boo
Posts: 1041
Joined: 15 Jun 2010, 15:46

Re: [Plugin ManiaLive] TeamSpeak 3 integration

Post by The_Big_Boo » 22 Jul 2011, 23:47

Seems really cool, nice work! :)

But this tutorial is maybe not adapted to the real world. WAMP is a developpement solution, not a production one. Most are launching their dedicated servers (and so their teamspeak servers) on a real server so they won't use WAMP but will directly install Apache, PHP (and a database if they need it).
So except that, nothing really wrong ;)
refresh wrote:WAMP needs Skype to be closed to start correctly.
People should configure Skype so it doesn't use port 80 (there is just a checkbox to change) ^_^
OS: Win 7 Pro x64
RAM: 2x4GB Corsair @ 1600MHz
CPU: Intel i5 760 @ 3.6GHz
Mobo: Asus P7P55D-E
GPU: NVidia GTX 760 2GB
HDD: WD Black 1TB
Sound: VIA VT1828S (onboard)
Peripherals: Razer DeathAdder - Razer DeathStalker - Logitech F310

User avatar
refresh
Posts: 74
Joined: 15 Jun 2010, 13:33
Location: Nantes, France

Re: [Plugin ManiaLive] TeamSpeak 3 integration

Post by refresh » 25 Jul 2011, 09:51

I know this tutorial is only for windows. I do not know exactly how it works with a real server so that's why I prefer not to write dumb things. I think that if you have your own server, you surely know how to install a ManiaLive plugin so a tutorial might not be needed.

Thanks for the precision about Skype.

edit:
New version available (v1.0.1). Download it here.
Now window's width adapted to nicknames length.

edit 2:
New version again ! (v1.0.2) Download it here.
Now the plugin works for players in spectator mode (I've found this issue yesterday, fixing it was easy). Concerning the UI, the Connection button does not disappear anymore, a simple title "Connected to TeamSpeak" replaces it.
And I've improved the code, I removed useless lines but it's still not perfect and clean...

More features are coming !

edit 3:
Download the v1.0.2b here. It has the same features as the previous one but I fixed some bugs. Now it should work on a non-local server.
I changed the 'alias' variable that worked only if ManiaLive is running on a PC and changed it to a http link (so it can be http: //localhost/manialive/ or http:// myServer.com/tmserver/ManiaLive/)

edit 4: Lots of little things fixed...
v1.1 (2 Aug 2011)
- New settings in config.ini, see the configuration part of this post: you can now use a specific channel and subchannel with passwords (and also, with a server password). That means you can use an existing teamspeak server and create a channel just for the TM server. If you have more than one channel, you must set a channel in the settings.
- The list height is now adapted when there are many players.
- Improved nicknames display: no more bugs with links or font-styles (eg. bold).
- Even more better code ! But can always be better...
- Buttons blinks no more ! It's way prettier.
- Less queries and actions for ManiaLive (eg. create GUI for players) so it could be better for your other plugins running with mine.
- Delay between TS and TM reduced.
Image

User avatar
refresh
Posts: 74
Joined: 15 Jun 2010, 13:33
Location: Nantes, France

Re: [Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post by refresh » 10 Aug 2011, 11:50

v1.2 is now available ! Download it here.
So it no longer needs WAMP or external php file, it's now a regular plugin !

I've integrated the TeamSpeak PHP Framework into ManiaLive so I the delay between TS and TM is greatly reduced (it can't reduce it much) and I can now have more new features:
- A disconnect button, quit the TS Server directly from the game.
- Commentator Mode with dynamic TS channel editing: when you switch to commentator mode (by typing /ts3 commentator as a manialive admin), the channel is automatically configured.
- Improved the delay between TS and TM. I can't do better than that because I can't do faster than integrating the TeamSpeak PHP Framework into ManiaLive.

I also modified the UI and added a TS logo. It takes less space on the screen.
If you have installed a previous version of the plugin, you should delete it before install this new one. Make sure your config.ini is ok with this new version.
Image

Makikou
Posts: 149
Joined: 15 Jun 2010, 11:09
Location: Finland

Re: [Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post by Makikou » 11 Aug 2011, 08:48

Is it possible to do the same for http://mumble.sourceforge.net ?

Nice work though.
TMUF Profile name: mikoz

User avatar
refresh
Posts: 74
Joined: 15 Jun 2010, 13:33
Location: Nantes, France

Re: [Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post by refresh » 11 Aug 2011, 09:30

I can't do complete features as with TeamSpeak because of the PHP Framework that is provided.
Mumble's one is really incomplete and requires and long installation using external PHP extension whereas the TeamSpeak one can run directly with ManiaLive and do not requires anything else.

So considering that it's way more interesting and easy to work with TeamSpeak, I'm currently only working with it.
Image

User avatar
refresh
Posts: 74
Joined: 15 Jun 2010, 13:33
Location: Nantes, France

Re: [Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post by refresh » 12 Aug 2011, 17:37

Moar features are coming next week ! (It would be the "real" plugin teamspeak with all the functionalities I wanted to have)
Image
Image

nocturne
Posts: 221
Joined: 23 Jun 2010, 21:31

Re: [Plugin ManiaLive] TeamSpeak 3 integration (v1.1)

Post by nocturne » 01 Nov 2011, 19:13

Wow... nice work!

Post Reply

Return to “ManiaLive Plugins”

Who is online

Users browsing this forum: No registered users and 1 guest