BukkitSpeak
BukkitSpeak
Show Teamspeak actions in Minecraft & connect the chats
Version: v0.69 (compatible with 1.9)
Created by Deathmarine and Firedroide.
This plugin will display Teamspeak 3 server joins, quits and messages in Minecraft
and allows you to chat with your friends using the /ts commands!
Features:
- Display Teamspeak joins in Minecraft
- Display Teamspeak quits in Minecraft
- Display Teamspeak (server-wide) messages in Minecraft
- Broadcast messages in Teamspeak
- In channels:
- Display messages in Minecraft if somebody enters or leaves your channel.
- Display chat messages in that channel in Minecraft.
- Chat with the people in the channel by using /ts chat <message>
Commands
User commands:
- /ts - Displays the help screen.
- /ts list (channel) - Displays who's online on Teamspeak (in the channel).
- /ts mute - Mutes BukkitSpeak only for you.
- /ts broadcast msg - Broadcasts a message to all people on the Teamspeak server.
- /ts chat msg - Shows your chat message in the Teamspeak channel.
- /ts pm target msg - Sends a chat message a specific person.
- /ts poke target msg - Pokes a client on Teamspeak.
- /ts info - Shows some info about the TS3 server.
Admin commands:
- /tsa or /ts admin - Shows the admin help screen.
- /tsa channelkick target msg - Kicks someone out of the channel with the given reason.
- /tsa kick target msg - Same as above, but kicks from the server.
- /tsa ban target msg - This command bans a TS client from the server.
- /ts status - Shows some information about BukkitSpeak and whether the Listener is running.
- /tsa reload - Reloads BukkitSpeak. (Reloads the config and the query)
A complete command reference can be found here.
Configuration
Moved to my GitHub Wiki.
Permissions
You can check out the list of BukkitSpeak's permissions here.
Setting up the plugin
- Download the newest release and move BukkitSpeak.jar into the plugins directory.
- Editing the config:
- Set TeamSpeakIp to the IP of your TS server
- Set TeamSpeakPort to the port (when connecting with a regular client)
- Set QueryPort to the port the TS server uses for server queries. By default this is 10011. You can also find the query port in the server.ini file in the directory of your TeamSpeak server.
- Set QueryUsername and QueryPassword to a server query login you've generated with your client. More information about that here.
- Give your users the permissions to use BukkitSpeak and to see messages from BukkitSpeak.
- In general, you can give admins the permission bukkitspeak.* and users the permission bukkitspeak.user.
- Complete permissions documentation here.
- Whitelisting the Minecraft server on the Teamspeak server:
- You don't need to follow this step if your Teamspeak server runs on the same IP as the Minecraft server.
- Find the file query_ip_whitelist.txt in the root directory of your Teamspeak server and add the IP of the Minecraft server to this file.
- Reload / restart the Teamspeak server afterwards. (The whitelist is cached and will only be read when the server starts...)
Any feature requests / ideas / bug reports / locale files / ect. ?
Just write a comment or open a ticket :)
Links
Source Code (Branch BukkitSpeakMerged)
Wiki with a more detailed documentation (some stuff still WIP)
Complete changelog
Disclaimer:
Development builds have not been approved by the BukkitDev staff. Use them at your own risk.
Development Builds
Build repository
Deathmarine's BukkitSpeak
Original thread by but2002
Original thread by Greycap (might be removed)
Donations
Any donations to BukkitSpeak will help to keep a little Minecraft server of mine alive.
I really appreciate every little support.
For some reason the TeamSpeak chat-messages that appear in minecraft don't have a prefix (i.e. TS).
I tried to enable this under 'teamspeak-commands' by setting 'Enabled' to 'true' but 'the NamePrefix 'TS' isn't displayed. Only a yellow name =/
@Kopertje
The message you're referring to is TeamspeakEvents.ChannelLeave in the locale file. You should make sure that this message contains %client_nickname%, but not <name>.
If the message already contained %client_nickname%, there might be a problem with your TeamSpeak server.
The double messages bug:
This is a really old bug, and I thought I fixed it a long time ago, but it just keeps reappearing. :) The problem is that the TeamSpeak server sends these notifications twice under some conditions, and I have to filter out the second message.
I'll see if I can fix that for v0.65. Until then you'll just have to set teamspeak.ChannelID in config.yml to the Channel ID of channel that's not the default channel of your TS server.
You can also change the channel from in-game with the /tsa set command.
EDIT: Fixed the dobule messages once and for all ^^
There was a bug with the registering of the TS events when the ChannelID was set to 0 and... *Remembers that this technical stuff doesn't really matter*
Whatever, it's going to be fixed in v0.65; you will be able to just leave the ChannelID at 0, BukkitSpeak will stay in the default channel and the messages will work.
Its works fine! But there is 1 problem.
When someone leaves a channel on TS and joins another channel, it onley says <name> has lef the channel.. It says it twice..
So when i change channel this is what people see on the MC server.
Kopertje left the channel
Kopertje left the channel
How can ifix this?
@ursak
First of all, you should make sure that you're running the latest version of Vault (v1.2.25), because that's required for Herochat.
Then you should make sure that you have teamspeak.SendChatToTeamspeak set to either channel or server in BukkitSpeak's config.yml and that plugin-interaction.Herochat.enabled is set to true.
If that doesn't work I'd need to know what version of Herochat and BukkitSpeak you're using. I've been testing it with BukkitSpeak v0.64 and Herochat v5.6.6 and everything seems to work fine for me.
Can't get this and Herochat to work together. Any idea on why or is it a lost cause? Tried everything I could think of.
It works TS -> MC but not MC -> TS.
@Firedroide
I have sent you what you asked in a PM. Further more if you need anything else I can get you it. I run the TS3 server myself so I can do all manner of things for data collection.
@Racorac
So from what you've sent me, it seems that the plugin is able to connect to the server, but then it fails to get a list of the clients and the channels on the server.
Maybe your Server Query permissions group just doesn't have b_virtualserver_client_list or b_virtualserver_channel_list set, but I really doubt that's the case.
It would be helpful if you could
You should remove your personal data (IP, logins, ect.) from the files if you're going to upload them here though.
2013-04-14 13:20:38 [INFO] [BukkitSpeak] Connected with SID = 1, CID = 1, CLID = 4
2013-04-14 13:20:38 [SEVERE] [BukkitSpeak] Error while receiving client information.
2013-04-14 13:20:38 [SEVERE] java.lang.NullPointerException
2013-04-14 13:20:38 [SEVERE] at net.but2002.minecraft.BukkitSpeak.ClientUpdater.run(ClientList.java:186)
2013-04-14 13:20:38 [SEVERE] at java.lang.Thread.run(Unknown Source)
2013-04-14 13:20:38 [SEVERE] [BukkitSpeak] Error while receiving channel information.
2013-04-14 13:20:38 [SEVERE] java.lang.NullPointerException
2013-04-14 13:20:38 [SEVERE] at net.but2002.minecraft.BukkitSpeak.ChannelUpdater.run(ChannelList.java:154)
2013-04-14 13:20:38 [SEVERE] at java.lang.Thread.run(Unknown Source)
I'm running teamspeak3-server_linux-amd64-3.0.7.1
EDIT: So far I have got ONE message from the MC server to the TS server. It just randomly delivered one message after about 3 hours of running hte plugin and never again.
@rwmtiger
It still works perfectly fine with Bukkit 1.5.1.
If you're getting disconnected, there's something wrong with your TeamSpeak server, your config or the connection between the TS3 and the Minecraft server.
You should also reread the "Important notes:" section in the description and maybe read carefully through the documentation of the configuration settings.
well. let me know when you get up to 1.5.1 when i test it. it was unstable. it only work for 1min. then as soon i mess with setting. it brake!
@fredghostkyle1
What exactly are you talking about? ^^
@Firedroide
now that i think about that, it would be a huge security problem is Bukkti or minecraft could do that without your know. Alltho... right now they might be lisining :/ thats the scary part of it all
@PvPTree
There is a way, yes.
You can open your TeamSpeak3 client, connect to your server, minimize the window and start Minecraft.
BukkitSpeak can only transmit chat messages, it makes no sense to add any sort of voice transmission function to it, that's what TS3's for. Furthermore it would be a serious security breach if a Bukkit plugin were able to record and transmit the sound that's recorded by your microphone.
Probs being unreasonable but is there ne way to get it so u can talk with your voice in minecraft using your teamspeak server?
@Firedroide
Exactly what you just stated is my most thought of request.
Just a little note:
BukkitSpeak v0.64 (and actually also v0.63 and v0.62) will still work with Bukkit for 1.5. At the moment, I'm working on a way to execute Minecraft commands from the TeamSpeak server.
It will be optional (of course) and every TeamSpeak server group will be able to have their own permissions and their own plugin whitelist.
I'm still working on it and I hope it will all work out, but if you have any suggestions or just things you'd like to see implemented, let me know!
@rwmtiger
You need to a server admin on the TeamSpeak server or ask another server admin for help, otherwise you won't be able to set BukkitSpeak up.
More information on the wiki.
umm. what if server is free vr ts3. what user and password do i put in?
@konradmm
I've been thinking about that, too.
It's just quite difficult to implement something like that because of the whole permissions issue, as I don't want to let everyone /stop the server from TeamSpeak ^^
But yes, this might come in the future. (v0.70 perhaps?)
Great plugin !! I would like to see some new features! For example: TEAMSPEAK command -> !list -> server send the output of command /list to the "chat" of teamspeak ;] so just add new commands to the Teamspeak channel/server ;p And would be pretty nice for example autosending teamspeak messages of how many players are on server :D