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.
@ezbik
Yes, found the bug and squashed it. Thanks for the feedback. Also added some new features included in v1.3.0 (including a couple admin permissions and new commands (such as /team list) - see description above)
@ezbik
Narrowed down when it occurs, if you are still in the team chat, and leave the team, the next response you write in chat does not appear, and that error does. Hope this helps!
EDIT: As a side note, I had a couple small feature requests:
/team list # List current teams.
Server admin permission to teleport to any team HQ, maybe:
xteam.adminhq ?
Got this, running 1.2 Beta Bukkit with AdminCMD. Was testing it to see how it was. Didn't seem to give any issues though, just the error. (log may be backwards)
2012-03-08 09:15:22 [INFO] team ... 11 more at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:301) at java.lang.reflect.Method.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at me.protocos.xTeam.TeamPlayerListener.onPlayerChat(TeamPlayerListener.java:43) Caused by: java.lang.NullPointerException at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:33) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:761) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:783) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:441) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:303) org.bukkit.event.EventException 2012-03-08 09:15:22 [SEVERE] Could not pass event PlayerChatEvent to xTeam
@Kraethor
Thanks for the tip! If you run into any more issues, no matter how small, let me know.
Update 1.2.1 is out with a few minor fixes and update for 1.2.3_R0.1.
Working great now except for one small issue (Non player facing.) All team chat shows in the server console in triplicate...
For example:
Normal chat shows up normally, on one line.
Otherwise everything is working as far as I can tell. Great job protocos! My users love it!
@Headsuphunter
@MrFancypantsy
Yes this feature exists in PermissionsEx and PermissionsBukkit but he has a point, I didn't realize until recently bPermissions does not support this. It will be included in the next update, but it is not major enough to update at the moment.
@Headsuphunter
Lol, xteam.* just contains all xteam permissions nodes. Those already excist.
You should add permissions like xteam.*
@FrozenDroid
Thanks for letting me know, it should be fixed in the latest version (v1.1.1). Thought I worked out all of the SpoutCraft features but apparently not. Should work correctly now.
Not working for me, i badly need this though, when i go to hq when close to someone, internal error occurs, using pex.
Log:
2012-03-01 00:50:55 [INFO] Starting minecraft server version 1.1
2012-03-01 00:50:55 [INFO] Loading properties
2012-03-01 00:50:55 [INFO] Starting Minecraft server on *:25570
2012-03-01 00:50:55 [INFO] This server is running CraftBukkit version git-Bukkit-1.1-R4-b1938jnks (MC: 1.1) (Implementing API version 1.1-R4)
2012-03-01 00:50:56 [INFO] [PermissionsEx] sql backend registered!
2012-03-01 00:50:56 [INFO] [PermissionsEx] file backend registered!
2012-03-01 00:50:56 [INFO] [PermissionsEx] PermissionEx plugin initialized.
2012-03-01 00:50:56 [INFO] [PermissionsEx] p2compat backend registered!
2012-03-01 00:50:56 [INFO] [PermissionsCompat] Compatibility Layer Initalized!
2012-03-01 00:50:56 [INFO] [PermissionsEx] Initializing file backend
2012-03-01 00:50:56 [INFO] Preparing level "world"
2012-03-01 00:50:56 [INFO] Default game type: 0
2012-03-01 00:50:56 [INFO] Preparing start region for level 0 (Seed: -961794387494558347)
2012-03-01 00:50:57 [INFO] Preparing start region for level 1 (Seed: 1326456265827580615)
2012-03-01 00:50:57 [INFO] Preparing spawn area: 0%
2012-03-01 00:50:58 [INFO] Preparing start region for level 2 (Seed: 1326456265827580615)
2012-03-01 00:50:58 [INFO] Preparing spawn area: 69%
2012-03-01 00:50:58 [INFO] [NoIce] Loading NoIce v1.4.
2012-03-01 00:50:58 [INFO] NoIce version 1.4 is enabled!
2012-03-01 00:50:58 [INFO] [xTeam] Loading xTeam v1.0.
2012-03-01 00:50:58 [INFO] [xTeam] using PermissionsEx.
2012-03-01 00:50:58 [INFO] [xTeam] Plugin Enabled.
2012-03-01 00:50:58 [INFO] [OpenWarp] Loading OpenWarp v1.1-b115 (rev d4486a88e3b812fd4ead71c3275a15ed897570be).
2012-03-01 00:50:58 [INFO] [OpenWarp] Hooked into Permissions 2.7.7
2012-03-01 00:50:58 [INFO] [OpenWarp] Found Multiverse 2, Support Enabled.
2012-03-01 00:50:58 [INFO] [OpenWarp] Enabled version 1.1-b115 (rev d4486a88e3b812fd4ead71c3275a15ed897570be)
2012-03-01 00:50:58 [INFO] [GhostBuster] Loading GhostBuster v0.5.
2012-03-01 00:50:58 [INFO] GhostBuster 0.5 is enabled.
2012-03-01 00:50:58 [INFO] GhostBuster: No exceptions list was found.
2012-03-01 00:50:58 [INFO] [Tracking-Plugin] Loading Tracking-Plugin v0.1.
2012-03-01 00:50:58 [INFO] test enabled
2012-03-01 00:50:58 [INFO] [PermissionsEx] Loading PermissionsEx v1.18
2012-03-01 00:50:58 [INFO] [PermissionsEx] Superperms support enabled.
2012-03-01 00:50:58 [INFO] [PermissionsEx] v1.18 enabled
2012-03-01 00:50:58 [INFO] [WorldEdit] Loading WorldEdit v5.2.
2012-03-01 00:50:58 [INFO] WorldEdit 5.2 enabled.
2012-03-01 00:50:58 [INFO] WEPIF: PermissionsEx detected! Using PermissionsEx for permissions.
2012-03-01 00:50:58 [INFO] WEPIF: PermissionsEx detected! Using PermissionsEx for permissions.
2012-03-01 00:50:59 [INFO] [WorldGuard] Loading WorldGuard v5.5.1.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world) TNT ignition is PERMITTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world) Lighters are PERMITTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world) Lava fire is blocked.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world) Fire spread is UNRESTRICTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] Loaded configuration for world 'world"
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_nether) TNT ignition is PERMITTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_nether) Lighters are PERMITTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_nether) Lava fire is blocked.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_nether) Fire spread is UNRESTRICTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] Loaded configuration for world 'world_nether"
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_the_end) TNT ignition is PERMITTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_the_end) Lighters are PERMITTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_the_end) Lava fire is blocked.
2012-03-01 00:50:59 [INFO] [WorldGuard] (world_the_end) Fire spread is UNRESTRICTED.
2012-03-01 00:50:59 [INFO] [WorldGuard] Loaded configuration for world 'world_the_end"
2012-03-01 00:50:59 [INFO] [WorldGuard] 0 regions loaded for 'world'
2012-03-01 00:50:59 [INFO] [WorldGuard] 0 regions loaded for 'world_nether'
2012-03-01 00:50:59 [INFO] [WorldGuard] 0 regions loaded for 'world_the_end'
2012-03-01 00:50:59 [INFO] [Permissions] Loading Permissions v2.7.7.
2012-03-01 00:50:59 [INFO] [PermissionsCompat] Compatibility layer enabled.
2012-03-01 00:50:59 [INFO] WEPIF: PermissionsEx detected! Using PermissionsEx for permissions.
2012-03-01 00:50:59 [INFO] Server permissions file permissions.yml is empty, ignoring it
2012-03-01 00:50:59 [INFO] Done (3.123s)! For help, type "help" or "?"
2012-03-01 00:51:06 [INFO] FrozenDroid [/82.74.40.106:56718] logged in with entity id 238 at ([world] 322.1875, 64.0, 10.5625)
2012-03-01 00:51:29 [INFO] mro95 [/192.168.0.111:61628] logged in with entity id 314 at ([world] 323.71875, 64.0, 8.25)
2012-03-01 00:51:45 [INFO] <FrozenDroid> lez try[0m
2012-03-01 00:51:48 [SEVERE] null
org.bukkit.command.CommandException Unhandled exception executing command 'team' in plugin xTeam v1.0
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42)
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168)
at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:402)
at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:784)
at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:744)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:732)
at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:33)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:100)
at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:537)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:435)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
Caused by: java.lang.NoClassDefFoundError org/getspout/spoutapi/player/SpoutPlayer
at me.protocos.xTeam.Teams.HQ(Teams.java:273)
at me.protocos.xTeam.xTeam.onCommand(xTeam.java:278)
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40)
... 12 more
Caused by: java.lang.ClassNotFoundException org.getspout.spoutapi.player.SpoutPlayer
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:41)
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
... 15 more
@Kraethor
xTeam v1.1 should now work with PermissionsEx, PermisisonsBukkit, and bPermissions. Feel free to leave any more comments regarding issues.
Permissions do not seem to work with bpermissions. I gave the default group ALL the permissions and they still could not create a team. You had to be an OP for it to work. Bummer, this is exactly what I wanted. Maybe when it is fixed... :-)