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
The bug that the message shows twice, it's not getting fixed with what you said. Not getting an answer on my ticket either.
@Pixiyo
Why the hurry? The old version, v0.60, should work perfectly fine with 1.4.2-R0.1, too.
And to answer your "question", I'll probably do a release in one or two days.
When will the update be released?
@Firedroide
The users name is in the format AbcDefg with all letters just like that.
Still working on fixing bugs, I'll do the release soonish.
The bug that connecting clients get displayed twice should be fixed, too.
@Pixiyo
I answered this one quite a few times now, you should be able to fix it by setting the ChannelID in your config to a different value than 0.
If you're not using the channel features or your channel ID in the config is already set to something different than 0, please open a ticket and send me your config.yml, that would be a severe bug then.
@Firedroide
Please this the twice message thing, won't be using this before it's fixed. ;) Thnx
@ryvix
Could it be that this user's name is 15 or 16 characters long?
Some chat plugins just don't add any colors then, because that would exceed the hardcoded name limit of Minecraft itself.
@Firedroide
That sounds amazing! Thanks for the wonderful reply =)
The name turning white in TS only seems to happen on one account and I can't figure it out. I don't notice anything different from other accounts from anything I can see. There are multiple users who have the same permissions and belong to the same group with the same chat prefix and they don't have white names in TS. However, the chat prefix does have a &f at the end of it. I am using bPermissions and HeroChat which would probably be reponsible for those. The user has no spaces, numbers or anything other than letters in their name. It always happens but only for that one user that I have noticed so far. They don't have any individual prefix on their permissions, only the group prefix which, as mentioned, other players also have. It isn't a big deal but if there is any other info I could provide just let me know and I will be happy to try and help.
Thanks!
@ryvix
So, I kinda need to split this message into some parts:
Yes, it's a well known issue that the plugin needs a lot more plugin hooks, I'll add more of them in the future
If you can provide me some more infomation, as to when this happens, or what exactly the color issue is, I'll hopefully be able to fix this bug. Maybe it's just a chat plugin related thing though, if the plugin doesn't set the display name of a player correctly.
Could be added, thanks for the suggestion.
I'm trying to solve this issue right at the moment, graywolf336 on GitHub is helping me test some attempts to fix this issue.
This plugin hook was just added to the code and will be in v0.61 ^^
We're still improving it though, and we could surely also add a hook to see if a player is muted by HeroChat and cancel chat messages to the TS server.
It's unfortunately not possible to link mulitple channels, though, because a server query client on TeamSpeak behaves just like any other client, so it can't be in two channels at the same time. This means that if you enable the HeroChat features, BukkitSpeak will only be able to send the chat from one single channel to one single TeamSpeak channel.
You can edit a channel and set it's join power or something like that there. If you set it to 75 for example, only people who are in the Server Admin group will be able to join this channel, and everyone else can't. (Provided no other permissions group has a join power of 75, that is )
That way you could just set the TS group instead of having to switch the password all the time.
Thank you so much for your feedback, your bug reports and the suggestions!
Feedback is really important for me anyways, because I can't possibly know of every single plugin conflict or missing features.
Other than that, I'll probably do another release when the first beta for 1.4.2 comes out, including the HeroChat integration, of course ;)
Hey, this plugin is great! Only things so far that were problems are when a player is muted (through FC_Bans but we are also using Herochat) they will be able to speak into the TS server still. And for some reason sometimes peoples names are white in TS.
Also I noticed if a player is kicked, banned, etc, then there is no message saying they left in TS. As well, if they join vanished with VanishNoPacket it will say they joined in TS. Not major issues, just thought I should mention them.
I was also wondering if you could add a way to send chat from one Herochat channel into one TS channel, or to hook channels together somehow.
To explain, I mostly want to have a way for staff to be able to monitor the chat without having to log into the game because that's what they wanted. However, the problem seems to be that TS permissions are somewhat odd and the only good way to protect a channel seems to be to use a password. However, if a player is removed from a staff position they would still know the password. So I am thinking of using the PHP TS framework to periodically change the password and display it in an area of the website where permissions are a little more easy to figure out.
I thought maybe you might like this idea and thought it would be possible to be able to do the periodic password change and and send this password through BukkitSpeak to players who have the proper permission. I don't know if you would want to add all that but maybe you would like the idea anyway.
Thank you for the great plugin!
@VoidEvo
So that means it works now :D
Phew!
I'm actually aware of this bug, but I don't know exactly what causes it.
You can make it disappear by setting the ChannelID to the actual channel ID of the lobby or whatever instead of letting it be 0, which will just send the message to the default channel.
EDIT: I think it isn't even a BukkitSpeak bug, but rather some weird bug with the JTS3ServerQuery API.
Hey Firedroide, i really like the plugin! Very good work. Please keep it up! ;)
Found a bug (the login message appears twice):
@VoidEvo
Did you add the IP of your Minecraft server to the query whitelist file?
(More info here)
EDIT: Just added my Server to the Query IP Whitelist... WORKED! :D
Wondering about it cause theyre running on the same server.
Thanks for your support!
VoidEvo
@VoidEvo
Oh sorry, I think we might have a misunderstanding here :D
The command is use sid=virtual_server_id_here OR use port=port_number_here,
so you need to have a "use" before the parameters.
The "use" was actually already in italics, but it's not a huge visual difference, I agree.
@Firedroide
1.) Opening the Console
2.) "login serveradmin <mypassword>" (serveradmin is the right account)
3.) "sid=1" = command not found error
Iam NOT doing anything other than typing the commands. No Arrow up/down/etc..
I realy don't know why there is always something who doesnt work. TeamSpeak
is big, yes, but this sucks a bit..
I really thank you for your support. I still look forward getting this fixed for me.
VoidEvo
@VoidEvo
Nope, there were no commands missing, really not. The problem is, if you press any other key like the up or down arrow, this will also be added to the text, you just can't see it. You should try again and just try not to do anything except copying the commands.
@Firedroide
Thanks for helping me. It tells me "error id=256 msg=command\snot\sfound" when i type "sid=1". I also tried "use 1" (worked) + adding permissions (didnt worked, same error "error id=256 msg=command\snot\sfound").
It looks like there are some commands missing. I really thank you for taking the time to help me! If we just could find out how to get the commands working, all would be working perfect (I hope so)!
Thanks.
VoidEvo
@VoidEvo
Well, you can log in as the Server Query with the login information you were given when you started the server for the first time, and in the server query you could set some nice override permissions :D
To do this (Assuming you're using Windows):
1. Open a command line interface (Windows key + R, then cmd.exe, then press enter)
2. Type telnet and confirm with enter.
3. The telnet interface should show up, then type o (yes, this is a single, lowercase O), then enter once more
4. It will ask you where you want to connect, you'll have to type localhost 10011
(Assuming you haven't changed the port yet, and if you're able to do this on the root server directly. If you're not, do this from your Windows computer of choice and enter the IP of your root server instead of localhost.
5. It connects and the TS3 Server Query interface shows up.
6. Type in login serveradmin the_password_you_were_given_on_first_server_start
7. Return should be error id=0 msg=ok. (Yay, everything worked)
8. Do use sid=SERVER_ID or use port=PORT_NUMBER
If you haven't changed the virtual server IDs yet, the server id will be 1, so sid=1
The default port would be 9987.
9. Return should be okay again.
10. Now do servergroupaddperm sgid=6 permsid=b_permission_modify_power_ignore permvalue=1 permnegated=0 permskip=0
You should really copy-paste this one to the console :D
This will give the default server admin group an ignore power needed permission, which allows you to set every single permission there is.
11. Return should be okay and you should have the override permission.
(12.) To completely quit the interfaces properly, do "quit", enter, "quit", enter, "exit", and the console will close again (You really can just klick the "x", but this is the nice way to do it)