xTeam

xTeam Plugin
Brief Description
xTeam is a team-based PvP plugin that allows for creating and joining teams, setting a headquarters and various other features. It is meant for use on hardcore PvP servers where land is not protected.
This is a mod I've been working on for some time. Initially I figured a mod like this would be made eventually and I would just switch to using the alternative instead of mine but surprisingly I haven't quite found an equivalent. Factions is nice but if you want more of a 'hardcore' team plugin, then this mod is for you.
____________________________________________________________________________
!!! IMPORTANT !!!
Version 1.8.1 of the plugin contains an Anonymous Error Reporting feature for sending errors directly to me when they are thrown.
This feature does not reveal any private information. In fact the only one thing that could possibly identify the client is encrypted even from me. The benefit of this feature is that I can see which errors are happening the most and fix them more quickly. Having said that, there is an option in the configuration file to disable this feature by setting 'anonymouserrorreporting = false' if you feel so inclined. Just know that if this is disabled, I will not be able to see what errors are happening frequently from your server.
____________________________________________________________________________
Command Aliases: '/team', '/xteam', '/xt'
Command Parameters: {optional} [required] pick/one
Features
- create and join teams
- get info for any team
- change the team tag
- set a headquarters
- rally team to a location
- teleport to teammates and headquarters
- teleport to return location that is saved upon using any of the other teleport functions
- teleport to rally location set by team leader
- promote and demote players to use team admin commands
- team chat function to toggle between team chat and regular chat
- disable friendly fire
- wolves can be team members too!
- default teams for automatic joining on login
Team User Commands
- /team - main help menu for xTeam
- /team {help} {Page} - user help page for xTeam
- /team info {Team/Player} - get team info or other team's info
- /team list - list all teams on the server
- /team create [Name] - create a team
- /team join [Team] - join a team
- /team leave - leave your team
- /team accept - accept the most recent team invite
- /team hq - teleport to the team headquarters
- /team tele {Player} - teleport to nearest or specific teammate
- /team return - teleport to saved return location (1 use)
- /team rally - teleport to team rally location
- /team chat {On/Off} - toggle chatting with teammates
- /team message [Message] - send message to teammates
Team Admin Commands
- /team sethq - set headquarters of team
- /team invite [Player] - invite player to your team
- /team promote [Player] - promote player to team admin
Team Leader Commands
- /team demote [Player] - demote team admin
- /team disband - disband the team
- /team open - open team to public joining
- /team remove [Player] - remove player from your team
- /team rename [Name] - rename the team
- /team tag [Tag] - set the team tag
- /team setleader [Player] - set new leader for the team
- /team setrally - set rally point for the team
Server Admin Commands
- /team chatspy - spy on team chat
- /team debug {Option} - server admin debug menu for xTeam
- /team disband [Team] - disband a team
- /team demote [Team] [Player] - demote team admin
- /team hq [Team] - teleport to team headquarters for team
- /team promote [Team] [Player] - promote player to admin
- /team remove [Player] [Team] - remove player from team
- /team rename [Team] [Name] - rename a team
- /team tag [Team] [Tag] - set team tag
- /team open [Team] - open team to public joining
- /team set [Player] [Team] - set team of player
- /team sethq [Team] - set team headquarters for team
- /team setleader [Team] [Player] - set leader of team
- /team setrally [Team] - set team rally point for team
- /team teleallhq - teleports everyone to their headquarters
- /team tpall [Team] - teleports a team to yourself
Console Commands
- team {help} - console help menu for xTeam
- team debug {Option} - console debug menu for xTeam
- team demote [Team] [Player] - demote team admin
- team disband [Team] - disband a team
- team info [Player/Team] - get info on player/team
- team list - list all teams on the server
- team promote [Team] [Player] - promote player to admin
- team remove [Player] [Team] - remove player from team
- team rename [Team] [Name] - rename a team
- team tag [Team] [Tag] - set team tag
- team open [Team] - open team to public joining
- team set [Player] [Team] - set team of player
- team sethq [Team] [World] [X] [Y] [Z] - set headquarters of team
- team setleader [Team] [Player] - set leader of team
- team setrally [Team] [World] [X] [Y] [Z] - set rally point of team
- team teleallhq - teleports everyone to their headquarters
Permission Support
- Supports bukkit SuperPerms (PermissionsEx, PermissionsBukkit, and bPermissions, etc.)
Permissions Nodes
- xteam.core.user.accept - Allows team users to accept an invitation
- xteam.core.user.chat - Allows team users to chat/msg their team
- xteam.core.user.create - Allows team users to create a team
- xteam.core.user.headquarters - Allows team users to teleport to headquarters
- xteam.core.user.info - Allows team users view team info
- xteam.core.user.join - Allows team users to join a team
- xteam.core.user.leave - Allows team users to leave a team
- xteam.core.user.list - Allows team users to list all team names
- xteam.core.user.return - Allows team users to return to saved location
- xteam.core.user.rally - Allows team users to rally to a location
- xteam.core.user.tele - Allows team users to teleport to teammates
- xteam.core.user.* - All team user core commands
- xteam.core.admin.invite - Allows team admins to invite other players
- xteam.core.admin.promote - Allows team admins to promote teammates
- xteam.core.admin.sethq - Allows team admins to set a headquarters
- xteam.core.admin.* - All team admin core commands
- xteam.core.leader.demote - Allows team leaders to demote teammates
- xteam.core.leader.disband - Allows team leaders to disband a team
- xteam.core.leader.open - Allows team leaders to open team to public
- xteam.core.leader.remove - Allows team leaders to remove players
- xteam.core.leader.rename - Allows team leaders to rename team
- xteam.core.leader.setleader - Allows team leaders to set leader of team
- xteam.core.leader.setrally - Allows team leaders to set rally point for the team
- xteam.core.leader.tag - Allows team leaders to set team tag
- xteam.core.leader.* - All team leader core commands
- xteam.core.serveradmin.chatspy - Allows server admins to spy on team chat
- xteam.core.serveradmin.debug - Allows server admins to debug the plugin
- xteam.core.serveradmin.disband - Allows server admins to disband a team
- xteam.core.serveradmin.demote - Allows server admins to demote a player on a team
- xteam.core.serveradmin.hq - Allows server admins to teleport to any headquarters
- xteam.core.serveradmin.promote - Allows server admins to promote a player on a team
- xteam.core.serveradmin.reload - Allows server admins to reload the configuration file
- xteam.core.serveradmin.remove - Allows server admins to remove player from a team
- xteam.core.serveradmin.rename - Allows server admins to rename a team
- xteam.core.serveradmin.tag - Allows server admins to set team tag
- xteam.core.serveradmin.open - Allows server admins to open a team to the public
- xteam.core.serveradmin.set - Allows server admins to set the team of a player
- xteam.core.serveradmin.sethq - Allows server admins to set the headquarters of a team
- xteam.core.serveradmin.setleader - Allows server admins to set the leader of a team
- xteam.core.serveradmin.setrally - Allows server admins to set the rally point of a team
- xteam.core.serveradmin.teleallhq - Allows server admins to teleport everyone to their headquarters
- xteam.core.serveradmin.tpall - Allows server admins to teleport a team to current location
- xteam.core.serveradmin.* - All server admin commands
- xteam.core.* - All core commands
Configuration
Contains data that the plugin uses universally - feel free to change the values to suit your needs. Also contains the permission nodes for the plugin. Use these inside whatever permissions plugin you desire to enable or disable commands for certain people or groups.
NOTE: As this project is still in Beta stage, I will be adding/changing features until I'm satisfied with the basic functionality of the plugin. For updating to a newer version of the plugin, check to see whether there are any configuration file changes. If so, you will want to reload the configuration file or add the new options yourself.
FAQ
Many of the frequently asked questions about the plugin.
Source Code Repository
Feel free to download the current source code at https://github.com/protocos/xTeam/
Links
Donations
I work on this project in my spare time and I will always have a love for Minecraft no matter what, but it certainly does make me smile when people feel like contributing. Donating to the project helps encourage me to continue providing support and feedback to all of you awesome peoples! If you feel like helping out, there's a link at the top right of the page. ;)
Bug Reports
Please leave any questions, comments, concerns, and potential bugs in the comments. I will try to squash them when I can. Having said that, I am a real human being, so if the bug is not fixed right away, please be patient.
-
View User Profile
-
Send Message
Posted Jan 11, 2013Woops, I made an error. Sorry guys, '/team tele' doesn't work at the moment. It will be fixed in 1.7.3...
@lcpvp
This can be fixed by giving everyone only a few permissions instead of all of them. Namely:
xteam.create
xteam.leave
xteam.join
xteam.hq
xteam.info
xteam.chat
xteam.sethq
-
View User Profile
-
Send Message
Posted Jan 11, 2013@protocos
Can you please take away some commands for an alternate version?? All I really want from this is: team create team leave team join team hq team info team chat team msg team sethq
-
View User Profile
-
Send Message
Posted Jan 11, 2013@FuSe18
Yeah, I'm aware of the CB version. As far as I know 1.4.5-1.0 is the most recent recommended build, though I've been testing everything on a 1.4.6-0.4 private server. I've never really been a fan of building on the dev builds. Maybe I'll try it for a while I guess.
-
View User Profile
-
Send Message
Posted Jan 10, 2013Btw your posting for minecraft 1.4.5 the bukkit build is now on 1.4.7.
Just wanted to let you know.
-
View User Profile
-
Send Message
Posted Jan 10, 2013thats all good! I just recently started making minecraft plugins as well. :) so if you need anyhelp testing them out let me know.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@FuSe18
This was actually already on the list of things to do. One of the larger additions to be honest. Ideally it could be combined with a stats/ranking system.
-
View User Profile
-
Send Message
Posted Jan 5, 2013@FuSe18
Hm, it would seem that my fix didn't fix the issue. Unfortunately I am in Colorado at the moment on a ski trip. I tried to get the fix out before I left and didn't have time to test it thoroughly. I'll try to have a patch out soon once I get back.
-
View User Profile
-
Send Message
Posted Jan 4, 20132013-01-04 23:17:34 [INFO] glory_fades issued server command: /team hq 2013-01-04 23:17:34 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'team' in plugin xTeam v1.7.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:514) at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:979) at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:897) at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:852) at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at me.protocos.xTeam.Team.equals(Team.java:153) at me.protocos.xTeam.Global.GlobalFunctions.isEnemy(GlobalFunctions.java:68) at me.protocos.xTeam.Commands.TeamUser.TeamUserCmdHQ.hq(TeamUserCmdHQ.java:85) at me.protocos.xTeam.Commands.TeamUser.TeamUserCmdHQ.execute(TeamUserCmdHQ.java:31) at me.protocos.xTeam.xTeam.onCommand(xTeam.java:240) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more
-
View User Profile
-
Send Message
Posted Jan 3, 2013@Cheezetarts
Huh. That doesn't seem right for some reason... I shouldn't have added anything that was very memory intensive. I can investigate further, but I'd appreciate it if anyone would leave feedback if they are having similar problems...
EDIT: responded to the wrong person.
-
View User Profile
-
Send Message
Posted Jan 3, 2013In the near future can you add something like /ally teamname or /war teamname
-
View User Profile
-
Send Message
Posted Jan 3, 2013I believe build 1.7.1 is extremely unstable. Server is running horribly slow with 50 players online.. Here is the screen shot of timings. I cant imagine how much worse it would get during the day.
http://gyazo.com/8230adbecea71c1ba096773daab17479
-
View User Profile
-
Send Message
Posted Jan 1, 2013@btilm305
The first one for team hq was reported but the second about teleporting between worlds was not. Thanks for the help. I actually uploaded 1.7.1 yesterday to fix the hq issue and a few other things, but I wasn't aware of the tele-between-worlds bug. Thanks, I guess I'll upload another patch.
-
View User Profile
-
Send Message
Posted Jan 1, 2013No idea if these errors have been reported yet. /team tele:
org.bukkit.command.CommandException: Unhandled exception executing command 'team' in plugin xTeam v1.7.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:510) at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:980) at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:898) at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:853) at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.IllegalArgumentException: Cannot measure distance between world and world_the_end at org.bukkit.Location.distanceSquared(Location.java:381) at org.bukkit.Location.distance(Location.java:364) at me.protocos.xTeam.Commands.TeamUser.TeamUserCmdTele.hasConflicts(TeamUserCmdTele.java:118) at me.protocos.xTeam.Commands.TeamUser.TeamUserCmdTele.execute(TeamUserCmdTele.java:39) at me.protocos.xTeam.xTeam.onCommand(xTeam.java:244) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more
/team hq:
2012-12-31 20:51:23 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'team' in plugin xTeam v1.7.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) at org.bukkit.craftbukkit.v1_4_6.CraftServer.dispatchCommand(CraftServer.java:510) at net.minecraft.server.v1_4_6.PlayerConnection.handleCommand(PlayerConnection.java:980) at net.minecraft.server.v1_4_6.PlayerConnection.chat(PlayerConnection.java:898) at net.minecraft.server.v1_4_6.PlayerConnection.a(PlayerConnection.java:853) at net.minecraft.server.v1_4_6.Packet3Chat.handle(Packet3Chat.java:44) at net.minecraft.server.v1_4_6.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.v1_4_6.PlayerConnection.d(PlayerConnection.java:112) at net.minecraft.server.v1_4_6.ServerConnection.b(SourceFile:39) at net.minecraft.server.v1_4_6.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.v1_4_6.MinecraftServer.r(MinecraftServer.java:598) at net.minecraft.server.v1_4_6.DedicatedServer.r(DedicatedServer.java:224) at net.minecraft.server.v1_4_6.MinecraftServer.q(MinecraftServer.java:494) at net.minecraft.server.v1_4_6.MinecraftServer.run(MinecraftServer.java:427) at net.minecraft.server.v1_4_6.ThreadServerApplication.run(SourceFile:849) Caused by: java.lang.NullPointerException at me.protocos.xTeam.Team.equals(Team.java:153) at me.protocos.xTeam.Global.GlobalFunctions.isEnemy(GlobalFunctions.java:68) at me.protocos.xTeam.Commands.TeamUser.TeamUserCmdHQ.hq(TeamUserCmdHQ.java:80) at me.protocos.xTeam.Commands.TeamUser.TeamUserCmdHQ.execute(TeamUserCmdHQ.java:31) at me.protocos.xTeam.xTeam.onCommand(xTeam.java:232) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ... 15 more
Also, it would be nice if you implemented a feature where people can teleport to teammates no mater how far away they are.
-
View User Profile
-
Send Message
Posted Dec 31, 2012@protocos
Okay, well, my server is most likely going to go quite large. 50 slots at the moment, who knows what we'll upgrade to. For the moment, could you add it in the config, and set an option to disable it?
-
View User Profile
-
Send Message
Posted Dec 31, 2012@1337minecrafer
Not quite. A thread is more of a process that is attached to a program. The CPU figures out what order to execute those threads in. More cores simply means more throughput. Having said that, one thread running alongside the main thread might not take up many more resources, but on a bigger server that checks everyone at once (possibly hundreds of players) could cause a blip in gameplay every few minutes. Not much, but possibly noticeable... This is more of a concern than a roadblock.
-
View User Profile
-
Send Message
Posted Dec 31, 2012@protocos
Correct me if I'm wrong, but a thread is a server CPU? And say a CPU has 4 cores, and this would use 1. And, the main server thread is the first one? So, using a different one shouldn't lag it too much if not many plugins use multiple threads?
-
View User Profile
-
Send Message
Posted Dec 31, 2012@1337minecrafer
Right, and this was along the same lines that I was thinking, but it would still require a separate thread to check.
-
View User Profile
-
Send Message
Posted Dec 31, 2012@protocos
I thought of a way that it could be less intensive. Check if they should be removed from the team every X seconds.
-
View User Profile
-
Send Message
Posted Dec 31, 2012@CheeseBallz02
UPDATE: I actually never added a permission node for xteam.info. This way there is at least one command in the help pages that people can see... I do intend on adding a config option to disable coordinates soon.
-
View User Profile
-
Send Message
Posted Dec 30, 2012@1337minecrafer
The kick timer would be interesting primarily because it would be challenging to implement it without hogging some server resources with an async thread. I believe default teams might have what you are looking for with permanent teams. If not, I'll see what else I can do.