CombatLog
CombatLog punishes players who log out in an attempt to escape combat
CombatLog has been updated to v2.3.0! Supports versions 1.7.10+
How effective is CombatLog? Take a look at this graph: http://bit.ly/CL-Graph
Sample config page: https://dev.bukkit.org/bukkit-plugins/combatlog/pages/configuration/
New API usage: https://dev.bukkit.org/bukkit-plugins/combatlog/pages/api/
Features:
- Easy-to-understand configuration file.
- Able to customize messages and disable unwanted features.
- Use /tag or /ct to check tag time.
- Remove players' Combat tags if they disconnect because of lag or if they were kicked.
- Block commands (using a blacklist/whitelist), teleportation, and enderpearls.
- Remove invisibility potions, disguises, or fly mode, upon entering Combat.
- Display CombatTags on an ActionBar.
Permissions:
- combatlog.bypass - Ability to bypass all of CombatLog's log prevention methods. (Default NONE)
- combatlog.reload - Ability to reload combatlog.yml. (Default OP)
- combatlog.update - Ability to see UpdateChecks upon logging in. (Default OP)
Consider donating to support development: http://bit.ly/CL-Donate
Now that I'm testing it... Whenever I make any movement whatsoever, console SPAMS this as I walk around and move my mouse around:
2012-11-24 19:40:15 [SEVERE] Could not pass event PlayerMoveEvent to CombatLog v0.7.5 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:341) at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477) at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:218) at net.minecraft.server.Packet10Flying.handle(SourceFile:136) at net.minecraft.server.NetworkManager.b(NetworkManager.java:290) at net.minecraft.server.NetServerHandler.d(NetServerHandler.java:113) at net.minecraft.server.ServerConnection.b(SourceFile:39) at net.minecraft.server.DedicatedServerConnection.b(SourceFile:30) at net.minecraft.server.MinecraftServer.r(MinecraftServer.java:595) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:222) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: java.lang.NoClassDefFoundError: com/massivecraft/factions/FLocation at com.jackproehl.combatlog.PlayerListener.onPlayerMove(PlayerListener.java:153) at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:339) ... 14 more
@JackProehl
Thanks for the QUICK fix! :D
@Chalkie19
Just fixed this. http://dev.bukkit.org/server-mods/combatlog/files/10-v0-7-5/
@kbryantLA24
http://dev.bukkit.org/server-mods/combatlog/files/10-v0-7-5/
All I did was install 0.7.3 for the first time and I get this:
2012-11-24 18:41:43 [INFO] [CombatLog] CombatLog v0.7.3 Enabled 2012-11-24 18:41:43 [SEVERE] Cannot load configuration from stream org.bukkit.configuration.InvalidConfigurationException: mapping values are not allowed here in "<string>", line 21, column 13: Commands: ^
at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55) at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:138) at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:202) at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:121) at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111) at com.jackproehl.combatlog.CombatLog.onEnable(CombatLog.java:41) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:374) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:270) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:252) at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:579) at org.bukkit.Bukkit.reload(Bukkit.java:183) at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:23) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:186) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:502) at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:494) at net.minecraft.server.DedicatedServer.al(DedicatedServer.java:258) at net.minecraft.server.DedicatedServer.r(DedicatedServer.java:223) at net.minecraft.server.MinecraftServer.q(MinecraftServer.java:493) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:426) at net.minecraft.server.ThreadServerApplication.run(SourceFile:856) Caused by: mapping values are not allowed here in "<string>", line 21, column 13: Commands: ^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:733) at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:305) at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179) at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563) at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161) at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237) at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160) at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123) at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106) at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121) at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480) at org.yaml.snakeyaml.Yaml.load(Yaml.java:399) at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:53) ... 21 more
Did a few tests on a test server.
1. Poison Potion and Damage potion did not put me in a pvp state. 2. Got the following error when killing a Poisoned player with a bow.
Amazing plugin <3
@Chalkie19
If you want, go ahead an copy that config.yml into your folder, the one listed above. The issue was I added an extra space with the auto-generated config so it ended up not generating because of the error.
@JackProehl
Thank you very much for the quick reply. Looking forward to using this, I like the look of this over other combat logging plugins.
@Chalkie19 Fixing this right now, I already know the issue. I apologize for the inconvenience. I will PM you once I have a new file uploaded.
@EncryptedCurse Looking into this as well.
@OrbisGaming Meaning if you have a CombatTag, when you walk into a Safezone, it gets removed, as one would expect.
Latest version I am getting the following error. (Also have factions and essentials installed)
Faction support?
If you put 2 formatting codes after each other in the config, only the first one is used and the second one is ignored (it is printed in the chat - no change takes place), even though this normally works.
just tried out your plugin... It seems to work great but it puts the person that got attacked in combat, but the person that done the attacking isnt in combat..
example:
Bob hits Suzy Suzy is put into combat. Bob is not in combat. Bob may logout without dying, although if suzy logs out, she will die.
@xATon2x
I'll fix it right now. I'm quite close to the release of the full plugin. I've been adding just about all of things mentioned in the comments on this page.
I seem to be having an issue in which even though my players have the permission combatlog.bypass, they still get killed if they log out. They don't get a message saying they are tagged, but it either ends up in one of two ways. Either they die from logging out during the ten seconds that are supposed to happen when they are tagged, or ten seconds layer it says "you may log out now" or something. All of this happens even though they have the combatlog.bypass permission. They arent even told that they were tagged. This issue messes with some of my worlds that allow pvp, but dont need combat log. Any advice/help?
@VanillaNinjaz
Simply do a negative node, "-combatlog.bypass".
So it would look like this:
@MCBuncey
Alright, I'll look into it.
@JackProehl
yes
I'm op, how do I remove the bypass from myself ?