Inactive [GEN/INFO] DCReason 2.1 - Distinguish crashing from quitting [1.2.3 COMPATIBLE] [1.1-R6+/1988+]

Discussion in 'Inactive/Unsupported Plugins' started by Eevables, Jun 29, 2011.

  1. Offline

    Eevables

    DCReason - Distinguish crashing from quitting
    Version: v2.1

    The 2.0 update removes Permissions compatibility because the local obfuscator was complaining that I was working with outdated stuff. I send my apologies to all of the "cavemen" who were using "prehistoric" technology.

    Random internet disconnections or Java crashes are problems that a surprisingly large percentage of users face. When this happens in the middle of a game,
    some witnessing users may get confused or may even take offense at the abrupt leaving. This plugin clarifies the reason for a player's abrupt leaving to other players with a change to the player's exiting message - simply, "Playername has lost connection to the game."

    The message displayed changes depends on the method of disconnection, and can also be custom-defined to fit your needs.

    DCReason also allows the setting of custom messages for individual players in-game! The command is
    /dcr [player] [setJoin|setQuit] [message].

    In order to prevent players from changing the messages of others (and, if not preferred, themselves), support for SuperPerms (and, indirectly, anything that supports SuperPerms) has been implemented. The nodes are
    Code:
    DCReason.custom.changeSelf
    DCReason.custom.changeOther
    where changeSelf lets a player change their own messages, and changeOther lets a player change others' messages.
    Players that are ops will have access to both nodes.

    If a player that has a custom message set crashes or disconnects abnormally, the global crash message for that error will be shown instead.

    Features:
    • Distinguishes when a user crashes or leaves the server abnormally
    • Crash messages can be custom-defined per kind of disconnect
    • In addition, regular login and logout messages can be edited globally.
    • Custom login/logout messages can be defined per individual player
    • Color support across all messages
    • Support for a permissions system to allow or disallow custom setting of messages
    • Colors can be used in all types of messages
    Download: http://dl.dropbox.com/u/14275037/DCReason_v2.1_m1.1.jar
    To Do:
    • Find more crash error reasons and specify a crash of that nature to the server
    • Fix the fact that the plugin detects Permissions twice in the console (Removing Permissions 3.x support would take care of this, wouldn't it?)
    • Implement SuperPerms Done!
    Changelog:

    Show Spoiler

    Version 2.1 [Uhhh...]
    • Fixed an issue with priorities not being as high as they should have been. I think.
    Version 2.0 [what version is this?]
    • Removed Permissions functionality (Sorry! SuperPerms still exists, though)
    Version 1.9 [1597]
    • Implemented the ability to choose where you want the name of the player to be placed in the default login/logout messages. Use %PLAYER% to define where you want the name to be!
    Version 1.8 [1597]

    • Implemented color compatibility! You can now use colors in any of your messages.
    • Implemented SuperPerms compatibility
    • Fixed compatibility with other chat modifiers (mChat, TownyChat, EssentialsChat, etc.)
    Version 1.7 [1597]

    • Implemented the ability to custom set login and logout messages
    • With this came Permissions support!
    • Default login message can now also be changed through the config.yml
    Version 1.6 [1337]

    • Implemented new possible disconenction: disconnect.timeout
    Version 1.5 [1060]

    • Decided to go all the way and allow custom messages for regular disconnections. Will possibly be doing connections as well to allow for this (though that
      may require a name change...)
    Version 1.4 [1000]

    • Not sure what I changed here...
    Version 1.3 [1000]

    • Implemented new possible disconnection: disconnect.overflow
    Version 1.2_01 [1000]

    • Compiled for 1.7.3
    Version 1.2 [935]

    • Added a config where disconnect messages can be edited
    Version 1.1 [928]

    • Recompiled for whatever the compatible Craftbukkit is
    Version 1.0 [860]

    • Release
     
  2. Brilliant :D
     
  3. Offline

    vidit

    I highly recommend this plugin, it's worked flawlessly on our server and is great for finding out why someone suddenly logs out. this especially helps moderators report to the server admins about crashes if they know roughly where in the console people get disconnected.
     
  4. Offline

    riuthamus

    This is a great way to see if the client is manually logging out. if they are and they are doing it often, it can be a simple way to detect somebody using a xray texture pack. Great work man.
     
  5. Using this, hope it works.
     
  6. Offline

    Eevables

    Really? I had no clue my plugin could be used for this purpose. I figured it would just be a bit of a touch up to the logout messages.

    In that case, should it be in [ADMN/GEN/INFO]?
     
  7. Offline

    Pencil

    If someone hits the X, will it show up as crash or regular disconnect? :3
     
  8. Offline

    riuthamus

    I dont know, this is just one way i look to use it! :p I think its fine where it is for now! Great tool man.
     
  9. Offline

    Eevables

    It will show up as a crash - that's actually how we debugged it. It seems a little unclear, but that's usually how most crashes occur - by closing the window...!

    Speaking of which, I should put a certain ToDo in the OP...
     
  10. Offline

    Pencil

    Damn it :/ Thats sad. I know ton of people like me that simply close minecraft using the x
     
  11. Offline

    Eevables

    Yeah, we found out a lot of people do that as well on our server...

    I'll probably change the message on endOfStream because of that. Any ideas?
     
  12. It's not like it's lying, they would still 'lose connection' from closing minecraft that way, it shouldn't tarnish anyone's rep lol.
     
  13. Offline

    Foxtrot200

    This would be nice to have. Often times I've wondered if the person I am playing with has decided to quit without telling me or if they are coming back because they crashed.

    Perhaps you could make this more like an IRC styled quit message? "Player has quit the game (reason)."
    With that in mind, maybe you could add a quit message database to store custom quit messages for when the players actually disconnect.
     
  14. Offline

    Eevables

    I have thought a little about specifying the exact reason they crashed, though a lot of them are used in many instances (for example, you get endOfStream by timing out and closing the window.)

    Concerning the database, do you mean custom as in "different from 'Player left the game'" or actual quit messages defined by the disconnecting player?
     
  15. Offline

    Dethyr

    I am very interested in this mod for my server and will probobly load it up soon. :)

    I would love to see more specific disconnect reasons, especially in the case of users simply hitting the X on the Minecraft window as others has stated.
     
  16. Offline

    Eevables

    Sadly, that is kind of hard, because the disconnection reason for that is used in some other instances as well (it's endOfStream) so I can't easily make the plugin differentiate between the different connection losses. I may just make it say you left the game. I will have to look into more reasons for disconnect.
     
  17. may i suggest something? add a configuration file to customize the message upon a crash
     
  18. Offline

    Eevables

    I will have to put that into thought...
     
  19. +1 Agree with this
     
    darklust likes this.
  20. Offline

    Eevables

    Since config files seem to be popular, I'll try to work on adding them in.

    I'll probably get them out a day or so after an RB build comes out for 1.7.3. I feel really demotivated right now, so bleh.

    Nevermind that - updated version with the config. Have fun!

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 17, 2016
  21. You are a god among men.
     
  22. Offline

    yappers4

    Thank you for this, some of my users have been logging in and out maybe once every 2 seconds, this will help in finding if they are getting d/c by a server error or if they are just messing with me :p
     
  23. Offline

    Eevables

    I assume they do that often, LOL.

    I should make it so you can clarify the regular disconnect reason, as well...
     
  24. Quit without reason is a normal quit, I think that's fine.
     
  25. Offline

    Eevables

    Well, it's possible and people will like it, so...
     
  26. Offline

    Foxtrot200

    Defined by the player some time while they were on the server by running a command like "/quitmsg I quit!" or something similar. It'd add a bit more personality to the game, in my opinion.
     
  27. Offline

    Eevables

    Now there's an idea.
     
  28. Offline

    Foxtrot200

    Another thought, it sounds like the server only sees endOfStream one way, a timeout, since when the player closes the client, the client, instead of sending a disconnect, stops sending data altogether. Perhaps it doesn't have to be identified as "Client Exited" or anything like that, but instead a connection timeout.
    Perhaps complaints from other players about conflicting messages would cause the person closing their client to properly disconnect before exiting the game. (or Mojang should just have the game disconnect on close.)
     
  29. Offline

    Eevables

    Yeah, but for now, we're stuck with this. >:

    At least I made the messages definable; I hope that's well recieved...
     
  30. Offline

    Eevables

    Plugin has been updated for CraftBukkit build 1000.
     

Share This Page