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.
@Firedroide
Thank you. That seems to work.
One request though, any chances on getting mcMMO compatibility to this? It seems like the TS displays messages sent in mcMMO's admin chat or party chat.
@Schematic123
Yeah, I guess they're missing b_client_server_textmessage_send if you're talking about messages for the whole virtual server (leftmost tab).
If it's just the channel chat that doesn't work in this specific channel, you should try editing the channel itself and see if there are any power values that exceed those you're granting normal users.
@Firedroide
Thank you, it's working perfectly now. I had totally missed the information that was given in the first launch.
There's one thing though, which I doubt is not anyhow related to the plugin, but normal users on the TeamSpeak server can not type into the global channel, but instead to only the other channels. Is there a certain permission missing from my TS3?
@tpkako
I don't exactly know Ventrilo, but I downloaded the client and the server just to see if there's some way something like a query could connect to it.
Unfortunately there is none, as far as I can see.
The website doesn't have any more information either and there's no documented server interface, so I doubt it's possible to port BukkitSpeak for Ventrilo.
Sorry about that.
Is it possible for you to tweak this a little bit so it could also work on a ventrillo server's chatroom? That would be solid!
@Schematic123
No, you didn't just get the token, you should have got the super admin username and password, as well.
You don't have super admin status, just because you entered the first server admin token, only the super admin query has all permissions.
I guess you should try to set up your TS server from anew, and note ALL the information you are given this time.
@Firedroide It is my own server which I am running on a Linux VPS. On the first run I received a token which I used when first time connecting to the server, it prompted for it so I pasted it. I believe I should have the super admin status therefore. Despite of that, I can not still edit those permissions.
@Schematic123
Yes, those values can only be changed with the "super-admin" server query.
If this is your own server, the login information for this query should have popped up when you had run the server for the first time, together with the first server admin authorization key.
If this is not your own TS3 server, you'll have to contact the support team of your server host.
I keep getting this error.
20.11 06:27:11 [Server] SEVERE [BukkitSpeak] (Exception connectTS3Query(): java.lang.NullPointerException)
20.11 06:27:11 [Server] SEVERE [BukkitSpeak] Make sure that the IP and the QueryPort are correct!
20.11 06:27:11 [Server] SEVERE [BukkitSpeak] Could not connect to the TS3 server.
20.11 06:25:12 [Server] SEVERE at java.lang.Thread.run(Thread.java:722)
20.11 06:25:12 [Server] SEVERE at net.but2002.minecraft.BukkitSpeak.QueryConnector.run(QueryConnector.java:93)
20.11 06:25:12 [Server] SEVERE at net.but2002.minecraft.BukkitSpeak.BukkitSpeak.resetClientList(BukkitSpeak.java:157)
20.11 06:25:12 [Server] SEVERE at net.but2002.minecraft.BukkitSpeak.ClientList.<init>(ClientList.java:25)
20.11 06:25:12 [Server] SEVERE at net.but2002.minecraft.BukkitSpeak.ClientList.asyncUpdateAll(ClientList.java:56)
20.11 06:25:12 [Server] SEVERE java.lang.NullPointerException
20.11 06:25:12 [Server] SEVERE Exception in thread "Thread-80"
I went looking around and noticed that both b_serverquery_login and b_virtualserver_select are missing from the Server Admin group. I tried adding them through the client, but failed due to the error "insufficient permission modify power".
After googling with that error I found that I should connect to the Server Query and use "servergroupaddperm sgid=<groupID> permid=65288 permvalue=<the new value> permnegated=0 permskip=0" which however led into another error, "error id=2570 msg=insufficient\spermission\smodify\spower".
Apparently 65288 is same as i_permission_modify_power which has value 75 and grant 75 (Like supposed?) and I still can not grant the b_serverquery_login and b_virtualserver_select permissions.
I sent a message to TeamSpeak 3 forums about this, but thought that maybe I'll get faster response here.
@CLGREEN
Erhm... Yes, I guess ^^
But yeah, I think you're right about that one, the poke messages should be private. I'll change it in the next update, which I'll likely release for the first 1.4.4 RB.
@Firedroide
Thanks seems to be working now.
Question is it normal that when someone pokes someone form in game the whole server can see the message?.
@CLGREEN
You should try adding the IP of the Minecraft server to the query_ip_whitelist.txt in your TeamSpeak folder.
If that doesn't fix the error you should open a support ticket.
No sure if you want me to make a ticket I can if you wish.
Hello, So I have a problem and it's really annoying me. We have 2 servers one server is our test server with the teamspeak running and the other server has Minecraft running. The problem I am having is when I run a server on the test machine BukkitSpeak runns fine on local host 127.0.0.1 and when I put BukkitSpeak on the main server with the physical Ip of the TeamSpeak Server it works fine then when I join the Ts or ask for the info I get this error and I have no idea why I keep getting the error. I looked at the firewall and the QueryPort and Ip are correct. I Can login to telnet with the Query just fine.
2012-11-10 15:31:16 [SEVERE] java.lang.NullPointerException 2012-11-10 15:31:16 [SEVERE] [BukkitSpeak] Could not connect to the TS3 server. 2012-11-10 15:31:16 [SEVERE] [BukkitSpeak] Make sure that the IP and the QueryPort are correct! 2012-11-10 15:31:16 [SEVERE] [BukkitSpeak] (Exception connectTS3Query(): java.lang.NullPointerException)
Also when I Disable the server I get this error.
20:38:28 [INFO] [BukkitSpeak] Disabling BukkitSpeak v0.61-b116 20:38:28 [SEVERE] java.lang.NullPointerException 20:38:28 [SEVERE] at de.stefan1200.jts3serverquery.JTS3ServerQuery.writeCommLog(JTS3ServerQuery.java:258) 20:38:28 [SEVERE] at de.stefan1200.jts3serverquery.JTS3ServerQuery.connectTS3Query(JTS3ServerQuery.java:518) 20:38:28 [SEVERE] at de.stefan1200.jts3serverquery.JTS3ServerQuery.connectTS3Query(JTS3ServerQuery.java:452) 20:38:28 [SEVERE] at net.but2002.minecraft.BukkitSpeak.QueryConnector.run(QueryConnector.java:26) 20:38:28 [SEVERE] at java.lang.Thread.run(Unknown Source) 20:38:28 [SEVERE] java.lang.NullPointerException 20:38:28 [SEVERE] [BukkitSpeak] Could not connect to the TS3 server. 20:38:28 [SEVERE] [BukkitSpeak] Make sure that the IP and the QueryPort are correct! 20:38:28 [SEVERE] [BukkitSpeak] (Exception connectTS3Query(): java.lang.NullPointerException) 20:38:28 [INFO] [BukkitSpeak] disabled.
@cal97g
The only difference I've seen is that Mumble is open source, and Teamspeak isn't. As for propriety they both have an extensive api, plugins, and modifications, like anything there are pro's and con's. Even this could be translated to mumble or even ventrillo but still there is nothing propriety about teamspeak, its just simply popular.
I can't argue for or against Mumble as I have never used it but I can say it sounds a lot more complex to setup and whatnot. And I can also say that TS is so efficient I don't even notice it's there at all. Compared to Minecraft it's like it's not even on the machine at all. I wouldn't necessarily consider lack of efficiency as a good argument against TS.
@cal97g
Well, you don't have to use it!
However, this plugin only works with TeamSpeak3, because Mumble doesn't have such a query interface like the handy TS3 server does ^^
Teamspeak is a horrible proprietary program, mumble is much more efficient.
@Firedroide
I had it on my server within an hour of you uploading it =)
@ryvix
I guess this would be possible, though quite complicated to accomplish.
I'd need to redo the HeroChat config section as it is right now, add a list and expand the ChatListener, but it should definitely be doable.
Maybe I'll get it done until the next update, so we'll see.
By the way, v0.61 was just released and uploaded, but the files still need to be approved.
You can already download the jar from my GitHub if you want to bypass the system, though ;)
Hey, thanks for adding that good stuff =)
However when I tested Herochat out it would still send to TS from other channels other than the one I had listed for some reason or another.
What would be really great is if it didn't send only my staff chat channel to TS. The other channels would be good to all go into TS though so they can be monitored from there. I think you said it wasn't possible to send different Herochat channels to different TS channels but that should be ok. But is there some way to just cancel out one channel or add a list of channels to send? Or is that simply not possible with TS the way it works for some reason or another?
I definitely have to donate to this when I get some money =)