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
Not by Minecraft this time =P
And of course, your plugin is about chatting/managing teamspeak, not an URL checker :D
+1 rep for you(r comment), you deserve it! :)
@ThisUsernameIsMine
Well, they're also considered as URLs by Minecraft and TeamSpeak itself, I would assume ^^
I'll work on it some more so the URL recognition will become a bit better, but it won't go as far as check whether the URL actually points to a valid server / website ;)
Good work on the regEx buddy! ;)
Now there's only one minor issue left:
Typing anything in-game, seperated by periods/dots (e.g: by.typing.like.this or like.this), are intepreted/translated into clickable URLs on TS.
@Firedroide
Not quite there yet ;)
http://i.imgur.com/MdKpOto.png
3 out of 4 URL-formats broken, so it actually became worse =P
EDIT: Well, this is strange:
The url http://dev.bukkit.org/bukkit-plugins/bukkitspeak i typed on TS came through just fine
If you want we can do some more URL-testing on TeamSpeak :D
@ThisUsernameIsMine
Fixed in Build 192 :)
Thanks for the bug report!
Found more URL-awkwardness @ #191 ;-)
(all of the url's were typed on TeamSpeak)
all at once: http://i.imgur.com/zih9MJg.png
one at a time: http://i.imgur.com/otnBoHD.png
The StringIndexOutOfBoundsException found in #183 also affects Build 189, but i've found out that these occur when someone types a backward slash: \
They also occur when typing them 3 times, 5 times and so on ('odd' number count).
When adding one or more (white)spaces in between, the exception is always thrown
Here's a pastebin for you: http://dev.bukkit.org/paste/8624/
edit: this applies to almost every BukkitSpeak command i tried. You probably didn't escape or sanitize the character or something.
another edit: when typing an url on TeamSpeak, in-game it is enclosed between URL BB code
screenshot: http://i.imgur.com/7heVyYD.png
@Firedroide
No problem buddy :)
I've also read your PM. Imo it sounds like a plan (i'll give you the address of our TS server)
Build 183 however seems to have solved the problem (atleast for now), but i noticed the following error, a moment ago:
[SEVERE] Could not pass event AsyncPlayerChatEvent to BukkitSpeak v0.66-SNAPSHOT-b183
java.lang.StringIndexOutOfBoundsException: String index out of range: 23
Complete error: http://dev.bukkit.org/paste/8622/
I'll now test Build 189 :)
@ThisUsernameIsMine
It's quite likely that the newer build fixed that, but one can never be sure.
I guess I'll have to thoroughly test that listener then, if that bugs out that often ^^
Thanks for the feedback by the way!
@Firedroide
Awesome!
No word on Build 183 yet, but will soon! :) (testing it now)
btw: with older builds i noticed that when (re)starting the server, the chat sometimes comes through, whereas on other times it didn't (with priority set to LOWEST).
And to make it even more funny: at the times the chat came through, and reloading BukkitSpeak using /tsa reload, the text suddenly stopped coming through and everything was back to normal again :o
Now, i'm not sure if this is normal and all, but personally i find it pretty awkward :P
Perhaps build 183 fixed this too?
@ThisUsernameIsMine
Okay, I tried a workaround. It should already have ignored those cancelled events, but let's check for them twice :)
Can you try Build 188 and make sure that the priority is set to MONITOR in your config?
Let's hope it works now :D
Hey Firedroide / Death_marine :) (still loving BukkitSpeak)
Some time ago i posted about an issue i had (and still have) with chat messages of muted players to come through on TeamSpeak.
I already notified the author of that plugin. He did some digging through BukkitSpeak's ChatListener and came to two possible solutions.
If you don't mind, here's a direct-link to his post http://dev.bukkit.org/bukkit-plugins/crazylogin/#c1308
Let me know what you think :)
@DonutVendor
v0.65 works with 1.6.2, thanks to the flexibility of the Bukkit API :)
Edit: But yeah, I should finally finish those internal TS commands and update.
I've been kinda lazy lately and I mostly worked on other projects.
Hey, I am getting my server a TS3 server and would love to use this plugin with it! Any thought on updating it to 1.6.2?
@JustinM511
I can only guess that either your permissions setting is wrong or there's a bug in that permissions plugin.
BukkitSpeak uses the Bukkit methods to determine whether a player / console / whatever has a permission or not, what is why it (should) work with all permission plugins.
The permissions do not seem to be working with zPerms - any reason why this may be?
Thanks!
@Firedroide
Build 178 fixed it. Thanks m8 :-) +1
@ThisUsernameIsMine
Not an issue with your TeamSpeak client but with the version of BukkitSpeak you're using.
The message formatting seems to be bugged in the version you're using. I suggest downgrading to the official version v0.65 or wait until I fixed the bug ^^
EDIT: Fixed, try build 178 and please let me know if it works :)
I recently updated my TeamSpeak Client, and now the formatting is messed up:
Is there anything i can do about it? (also using Build 176 of BukkitSpeak)
thanks, appreciate your help! added the ip to query_ip_whitelist.txt.
Now it says enabled when server is loading,
but at the end I get
12:24:51 [SEVERE] [BukkitSpeak] Could not connect to the TS3 server. 12:24:58 [SEVERE] [BukkitSpeak] Make sure that the IP and the QueryPort are corr ect! 12:24:58 [SEVERE] [BukkitSpeak] (Exception connectTS3Query(): java.lang.NullPoin terException)
EDIT: changed the teamspeak-ip to local minecraftserverip, then it worked. I thought that it was the public IP that should be used. Now its works