BukkitSpeak

logo

BukkitSpeak

Show Teamspeak actions in Minecraft & connect the chats

Version: v0.67 (compatible with all versions of 1.6 and 1.7)
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 :)


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

Donate
Any donations to BukkitSpeak will help to keep a little Minecraft server of mine alive.
I really appreciate every little support.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Koltiron Koltiron Jan 08, 2015 at 22:20 UTC - 0 likes

    Heya, I'm about to send a PM to your bukkit account but if you see, this contact me on Skype (Skype name: troy9567mc). I have a project that needs people who know the teamspeak API to help us out with an addition to the plugin. Thanks!

  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Dec 27, 2014 at 20:54 UTC - 0 likes

    @Firedroide: Go

    And again Firedroide has solved another BukkitSpeak mystery! :-)

    Last edited Dec 27, 2014 by ThisUsernameIsMine

    Semi-Portable and Updatable Minecraft Launcher
    + http://web.minecraftnoob.com +

    http://i.imgur.com/Z1kXY8n.png

  • Avatar of Firedroide Firedroide Dec 27, 2014 at 19:51 UTC - 1 like

    @ThisUsernameIsMine: Go

    I don't think they have anything in common.

    Basically, the chat listener consists of two components. The first one listens to the chat events on the Minecraft server. If these events are cancelled, by a plugin for example, they will not be sent to TeamSpeak.

    The other component is the TS query, which sends the message to the TeamSpeak server. It could be that the query is blocked for some reason or it disconnects or something along these lines. But if so, reloading the plugin would have to fix the issue.

    I also can't reproduce this issue, it has literally never happened to me. So it might well be another plugin causing your issues. But as always when debugging, one can unfortunately never be certain.

    It could also be caused by an issue with your permissions plugin, which basically makes it so a player does not have the permission bukkitspeak.messages.chat.

    EDIT: I think I might just have another idea, but it requires some testing. It's plugin-dependent, so we'd have to test it your server. Would you happen to have some time any time soon? I still have the IP of your server, but I think I need to be whitelisted to get on.

    Last edited Dec 27, 2014 by Firedroide

    BFAK:Firedroide,90621593,b23d7c6ec2a5a56a0e2a4422bf2057ed72ddedeeddb080ad2654eacbb5af27ef

  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Dec 27, 2014 at 18:41 UTC - 0 likes

    It seems to be fixed (*hooray*) BUT i noticed something else now.

    Sometimes the Minecraft chat doesn't come through TeamSpeak (even not when issueing a /tsa reload). Relogging on TeamSpeak also had no effect but some time later it was back to normal again.

    Pretty bizarre eh?

    Well.. afaics the dupe messages are gone but the other issue is awkward (do they have something in common?).

    edit 1: sigh.. the Minecraft chat is again lost in transit, nothing shows up in TeamSpeak. This is so weird. I'll try to enable debug mode on some plugins but don't want to bother the online players just yet.

    edit 2: and the chat reappeared again. It seems to occur for short moments, perhaps its triggered by a certain event.. hmm

    Last edited Dec 27, 2014 by ThisUsernameIsMine
  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Dec 26, 2014 at 20:14 UTC - 1 like

    @Firedroide: Go

    HaPPy (and healthy) holidays to you too, friend! (how could i forgot ;-) ).

    What you said pretty much explains it for me. Hopefully u've nailed it this time! :-)

    From what i've heard Sponge sounds (and looks) promising, though Spigot is still alive, but the question is for how long it will last ;-)

    Well, back to "da server" as some say... i'll give you a heads up with the result.

    Cheers! :-) (going to buy any fireworks this year?)

  • Avatar of Firedroide Firedroide Dec 26, 2014 at 01:02 UTC - 1 like

    @ThisUsernameIsMine: Go

    Please check out Build 234 for the double join messages bug.

    I think I fixed it, but one thing I noticed while bug hunting is that it doesn't happen all of the time. So please, if it occurs again, just tell me here, and the bug hunt will start anew :)

    <technical_stuff>

    What caused the double messages is, as I pointed out earlier, that TeamSpeak sends me some events twice when the channel I subscribe to is also the channel clients join into by default. What usually happened when a client joined was that I told the server to send me more information on the client that just joined, like its name. To avoid the double messages I made the plugin check if I already had information on this client. If so, it must be the second message and should not be sent out.

    Now, that would've worked if the TS query sent me these events in a synchronous manner. Instead, these two events were sent in two different threads at basically the same time. So while the plugin would still be requesting data about the client that just joined, the second event would be triggered, and as no data about the client had arrived yet, it would've sent the message out, too.

    In my test setup, the callback from the TS server was basically instantaneous. That's why the double messages usually didn't even appear when I was testing stuff, which made it so annoying to debug and figure out what was causing it. And I really hope that I got it this time.

    </technical_stuff>
    Last edited Dec 26, 2014 by Firedroide
  • Avatar of Firedroide Firedroide Dec 25, 2014 at 23:54 UTC - 1 like

    @ThisUsernameIsMine: Go

    Should be fixed in Build 233.

    Thanks for reporting and also for the inclusion of the stack trace! Great bug report as usual :)

    Hope you have nice holidays, ThisUsernameIsMine!

    EDIT: As for the double join messages, I still haven't got to figuring this one out. I'll go test it offline to see if I can even reproduce it.

    EDIT 2: It only appears to be happening to me when the selected channel for BukkitSpeak is the default channel of the TS server, the one clients join when they connect. Changing the BukkitSpeak channel to a different one might be a quick solution, but it might not suit your needs. If I remember correctly, this bug had been caused by the TeamSpeak server sending the same event twice, and I had BukkitSpeak filter the second one out. I'll have to see why it doesn't do this anymore.

    EDIT 3: I'm so looking forward to redoing this whole plugin for Sponge ^^

    Last edited Dec 26, 2014 by Firedroide
  • Avatar of ThisUsernameIsMine ThisUsernameIsMine Dec 25, 2014 at 23:32 UTC - 0 likes

    Procrastinator ThisUsernameIsMine, reporting for duty! (how do? ;-) )

    We use Essentials(Chat) and i've noticed that BukkitSpeak (build 232) throws errors when people add (upper-cased) color codes to their names (i.e. &D instead of &d) and also when they chat:

    [00:23:22 INFO]: Admin issued server command: /nick &Ftest
    [00:23:23 ERROR]: Could not pass event AsyncPlayerChatEvent to BukkitSpeak v0.68-SNAPSHOT-b232

    - http://dev.bukkit.org/paste/11190/

    ps: still haven't figured out what causes the dupe TeamSpeak server-join messages

    Last edited Dec 25, 2014 by ThisUsernameIsMine
  • Avatar of Firedroide Firedroide Dec 25, 2014 at 22:43 UTC - 0 likes

    @mage720: Go

    I'm just wondering what you would expect from a client side mod. Most features should already be covered by the Overwolf plugin TeamSpeak itself provides. So you can already see who's talking at the moment via Overwolf, chat with them using regular TeamSpeak and send text messages via BukkitSpeak.

    What else could a client side mod even add?

    Last edited Dec 25, 2014 by Firedroide
  • Avatar of mage720 mage720 Dec 25, 2014 at 17:24 UTC - 0 likes

    @Firedroide: Go

    yeah I knew it wouldnt be possible with bukkit, but could be nice to have it as a client side mod in the future. Awesome plugin though and if you decide to make it a client side mod ill download ;)

Facts

Date created
Dec 18, 2011
Categories
Last update
Oct 29, 2013
Development stage
Release
Language
  • enUS
License
GNU General Public License version 3 (GPLv3)
Curse link
BukkitSpeak
Downloads
20,914
Recent files

Authors