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.
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
@mage720
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?
@Firedroide
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 ;)
@mage720
As you already pointed out, this would require a client side mod.
This is just a server side plugin, and with how Bukkit works, something like this will not be possible.
Maybe with Sponge, when I completely redo the plugin or something like that, a client side mod might happen. But as it currently stands, no.
Would you be able to make a client side mode that could do this? or is it even possible? I play on a big minecraft server and they dont have this and they most likely wont, and it can get annoying switching back and forth between teamspeak and minecraft.
@Firedroide
To be honest i don't have a clue either.. i'll test some of the older builds ;-)
@ThisUsernameIsMine
Do you remember which build number your BukkitSpeak version had before you updated?
Would help narrow down the problem, because right now I have no idea what might be causing this (again).
Joining the TS server somehow results in two/duplicate in-game join announcements. I haven't seen any of this before.
@Firedroide
Oh god, i wasn't aware Debug was still enabled... lol :$
I'll do another test, with Debug disabled
edit: seems a lot better now :-)
@ThisUsernameIsMine
You need to set teamspeak.Debug to false in your config.yml file.
That's actually intended behaviour if debug mode is turned on :)
Hi again, i've tested the new build and this is the outcome:
- http://dev.bukkit.org/paste/10809/
@Firedroide
woah, that's quite some text there buddy! (you must be really happy they don't need you for the army :+) ).
I'm aware of the DMCA stuff, but over at SpigotMC they're also planning to work on a 1.8 update, but it willl take some time and patience.
About my question and the given solution/workaround: I fully understand your point of view, i'll happely test the new build you compiled and report back how it works.
Thanks a lot and good to know you're (still) in good shape! ;-)
/ThisUsernameIsMine
PS: I don't like WikiCreole, i always use BBCode :D
@ThisUsernameIsMine
Hi ThisUsernameIsMine, I'm doing fine! Just got to know that I'm not required to join the army, so... yay :D
As to your request, BukkitSpeak already slows down its reconnection attempts in what's basically an exponential function, starting at 1 minute and ending at around 60 minutes.
Edit: Read below.
I understand well that this is probably not a sufficiently clean solution for your issue. As stated in the Bukkit guidelines, plugins should usually not modify their own state (enabled, disabled). What is more, there would be no way for a BukkitSpeak command to re-enable the plugin, since disabling it via Bukkit causes all command handlers to be unregistered.
Furthermore, I'm not really updating the plugin for Bukkit anymore, since the Bukkit development has been stopped by a DMCA takedown. I will try to release an updated and modified version of BukkitSpeak for the Sponge modding API as soon as their server implementation is at least functional. (At the moment, they're still waiting for the release of Forge and are putting more work into the development of the API itself.)
Thus I'd recommend you download something like a plugin enabler / disabler, of which there are dozens here on dev.bukkit.org. From my experience, a plugin like this is really useful anyways, and it would be a nice fix for your issue without taking a ton of work by either you or me.
I hope I haven't gone too overboard with this response and I also hope that this is an acceptable solution to your issue. As always, thank you very much for your input.
EDIT: Just thought of a nice way to reduce the spam: BukkitSpeak now only logs any connection issue message once and then basically silences itself. When the plugin then reconnects to the TS server, that will be logged to the console. It's not a "turning it on and off again" solution but it should remove the reconnection spam.
Dev build. It would be very nice if you could let me know if everything works as intended now, as I haven't had a chance to test the fix yet.
EDIT 2: Why does anyone use WikiCreole???
Hi Firedroide (how are you?) :-)
Quick question for you: Can you consider adding a command to disable/enable BukkitSpeak on request? I often shutdown the TS server when no people have joined for some time, but BukkitSpeak frequently querries the TS server (which causes the below console errorspam), and this bothers me ;-)
http://dev.bukkit.org/paste/10780/
Thanks! :-)
@CraftYourWay
Try setting the property via the in-game commands. This way we can exclude any possibilities of formatting errors.
So /tsa set SentChatToTeamspeak channel and also make sure the Channel ID (and optionally password) are set correcty.
Using in-game commands with /tsa set channel, you can use the actual name of the channel you want BukkitSpeak to be in. When editing the file manually, one can only enter the actual numeric channel ID.
SentChatToTeamspeak doesnt work, i put it on channel nothing happens but when i put it on server still nothing happens.what can i do
@RazorX2014
Check this page for the most common errors, please.
Sorry for the long message delay, I didn't have any internet access for the last few days.
hi im trying to use this on my bukkit server with my teamspeak server im paying for from teamspeak but its saying 0 clients online or cant comunicate with the teamspeak server can someone help me get this setup?
im running the latest craftbukkit server
@Paxination
Added grouping function in build 227.
I added a config value, teamspeak.GroupClientListByServerGroup. When set to true, the layout of /ts list will look like this:
So basically the name of the TS server group on the left side and the clients in these groups on the right.
@Paxination, is that about what you imagined of this new feature?
I also added a new variable for the locale.yml file called %count%. It will be replaced by the number of clients online.
Just like that. You'll have to update the values in the locale file for /ts list to use this new variable.
@Paxination
Cool idea, I'm gonna look into it for the next update. I'm already getting the server groups of each client for the permissions for TS commands anyways, so this should be easy to implement, too.
I'll probably add a config option to enable or disable the grouping in /ts list so the list can be kept more compact for smaller size TS servers.
I won't do an update in the next few days though, so it could take one week or two. The summer holidays start at that date, so I should finally have a bit more time again ^^