UltraHardCore Mode
[UHC] UltraHardCore Mode
This Project is not maintained by me anymore. I've lost interest in the Minecraft thing.
Feel free to fork this project! https://github.com/ChristianGaertner/UltraHardCoreMode
The plugin should still work and the DaStats Server won't get shut down either. So no problem there!
UltraHardCore Mode gained on popularity in the last few months really quickly. It is basically vanilla hardcore mode but harder.
UltraHardCore Mode facts
- No health regeneration
- Potions won' t work either
- Only way to regain health is by consuming a "Golden Apple"
- Ban on death
A few weeks ago SethBling introduced his UHC-Box on YouTube. This box does all of this features more or less.
But since this is vanilla Minecraft there are minor issues:
- Potion effects to prevent regeneration (really annoying!)
- Items are getting removed from the inventory instantly!
- User does not get banned, but "jailed" in the air
I thought, that this is a great idea and with the possibilities of CraftBukkit really easy to develop. This plugin fixes all these "bugs" and adds a few improvements. The basic idea and gameplay is still the same
Features of this plugin
- MulitWorld Support (dis- or enable plugin in specific world(s))
- Ban a player only for the world he/she died in
- Every output by the plugin is configurable thru the config.yml
- Toogle plugin on or off for yourself or any other player
- List disabled players
- Healing only by executing command which drains 1 gold block and 1 apple from the player's inventory
- Amount of healing configurable
- Dis-/enable "Ban on Death"
- Disabled players are stored in easy editable flatfile database (YAML)
- Permissions for bypassing the plugin
- Switch plugin on or off with simple command (or via config)
Warning: Data usage notice: This plugin DOES collect anonymous usage data. This is only toggleable after 1st launch, so if you do not approve of this, don't use the plugin. The data collected is used to present the following information:
Commands
- uhc-heal (Heals you by certain amount of hearts, requires 1 apple and gold block)
- uhc-toggle [option:player|global] (Toggles UHC on or off for the command executor or the player attached)
- uhc-list (List all disabled players)
- uhc-resetconfig (Resets the config to default)
- uhc-pardon <player> <world> (Pardons a player inside of UHC)
Permissions
- uhc.* (Give access to all commands)
- uhc.toogle.self (Allows the user to toogle UHC on or off)
- uhc.toogle.remote (Allows the user to toogle UHC on or off for both them, others and global)
- uhc.bypass (Bypasses the UHC Plugin)
- uhc.denyheal (Permits the usage of the command /heal)
- uhc.list (Allows to list every disabled player)
- uhc.resetconfig (Allows to reset the config)
DaStats
In 1.3.2 I' m proud to announce DaStats. The plugin now sends anonymous data to my app at GoogleAppEngine. As in this version (0.0.1) of DaStats the plugin will send the version of UHC and a random string (GUID or UUID). In the future DaStats will collect some more data, but not like mcstats about the system, but about my plugin. I' ll try to send errors to the server and the like. This way I can see whats going wrong really early and easy. I' m testing the plugin as best as I can, but every system and setup is diffrent, so these crash or error reports will improve the code a lot (hopefully). All this is currently only an idea, but I hope that I can implement the system very soon! At this point in time you can disable DaStats by setting the key "opt-out" to "true" in the file dastats.yml at data/dastats.yml! I might move the file up a folder in the future :D
TODO
- Make all effects "caused" by this plugin configurable
- Add option to configure items needed for /heal
- We' ll see :D
Wiki
You can find a wiki with informations about the diffrent configurations you can do and some examples at GitHub. (Still WIP!)
OpenSource
This project is opensource!
UltraHardCoreMode on GitHub - UltraHardCoreMode on SourceForge
In this repo on GitHub is the latest dev build as well (at dist/UltraHardCoreMode.jar)
On SourceForge are all stable versions.
Any versions on these servers have NOT been approved by BukkitDev staff. Use them at your own risk.
Visit my IRC Channel #DaGardner on freenode.net for support and the like.
I' ll answer your question by copy&pasting sentences of the description:
Features: Dis-/enable "Ban on Death" Ban a player only for the world he/she died in Support (dis- or enable plugin in specific world(s))
The first two points are configurable in the config.yml file near to the bottom. They are called: ban-on-death and permit-world-access.
For the disabling of the plugin in a specific world you can have a look in at the comments below or checkout a little tutorial in the wiki: https://github.com/ChristianGaertner/UltraHardCoreMode/wiki/Examples
I do not think that I want to implement your last suggestion, simply because I want to keep my plugin compatible with all multiworld plugins and do not want to build my own system. This would not work to well with other multiworld plugins, like MultiVerse (which modt servers use anyway)
Do you think you can make it so there's an option so you could disable the ban. And there would be an option so that the UHC mode would only work on 1 world this would make it so it's multiworld compatible. And when the player dies it would disable the player from entering the world. Also if you do make it multi world compatible if you can add a command like /UHC worldcreate (world name) and /UHC tp (world name)
@dkgiles
Could you send me the information via PM?
@Shalasax Scroll down the comments. I' ve explained it already and it' s written down in the wiki at GitHub.
Hi, I was wondering how would I prevent UHC from being active in specific worlds? The plugin is working fine, but it spans all my worlds. My uhc map is called UHC. Its not the biggest problem since I can just /uhc-toogle global but a fix would be nice:)
@DaGardnerDev
Okay /uhc-toogle is now working and always was - I was using /uhc-toggle :)
However I am still unable to prevent myself (as op) from bypassing the plugin. Is there a way as op I can configure uhc.bypass to false?
I have noticed that banned players are not being written to /data/bannedworlds.yml I've checked both after the ban is applied while the server is still up, after a reload and restart - still nothing is written to /data/bannedworlds.yml and upon either a reload or restart the user is able to re-enter the world. Note that the world name is uhc and is configured as such in the worlds.yml file.
Additionally I've discovered as op I'm unable to issue the /uhc-heal command for myself. The server responds: You do not have permission to perform this command! Normal players are able to use the command and it works perfectly.
I can provide a copy of my permissions config.yml if that helps.
dkgiles,
If you have the permission "uhc.bypass" then you will bypass the plugin, so health regen works and you won' t get banned on death. Perhaps you have given yourself all permissions... In order to play UHC simply subtract uhc.bypass
To your second point: No banned players are listed here: /data/bannedworlds.yml In the file you mentioned are players stored which are toogled of using /uhc-toogle <player>
HOWEVER: Editing these files would only work while the server is stopped. On every reload will the plugin store the current data into these files and overwrites your edit. In order to pardon a player from a world issue the command /uhc-pardon <player> <world>
The uhc-toogle command works like this:
/uhc-toogle This will toogle UHC for the player who issued the command Needs permission: "uhc.toogle.self" /uhc-toogle <player> This will toggle UHC for the given player Needs permission: "uhc.toogle.remote" /uhc-toogle global Needs permission: "uhc.toogle.remote" This will disable UHC completly
You should never get an unknow command when executing "/uhc-toogle". I' ve tested every single bit of this plugin and never run into this plugin... Could you send me a piece of the log, where you are executing "/uhc-toogle"?
What is the correct usage of the uhc-toggle command?
I am using it as admin but am getting an unknown command message. Equally as admin I'm unable to be banned from a uhc enabled world in multiverse (perhaps this is by design...).
Additionally I'm assuming players who were 'banned/disabled' in a given world are written to Ultrahardcore/data/disabled/players.yml I've tested this with a test player who was unable to use a MV portal to return to the uhc world however their name had not been written to players.yml. The side effect of this is that after a reload or a server restart the "banned/disabled" player was then able to go through the MV portal to the uhc world.
I'm running CB 1.5.1 on CentOS.
This already exists, and is the plugin officially supported by Mindcrack. http://dev.bukkit.org/server-mods/ultra-hardcore/
I' ve already started to create wiki on GitHub btw.
To follow your example:
1.) Open up the worlds.yml file at plugins/UltraHardCoreMode/worlds.yml 2.) Change the value "whitelist" from "false" to "true" 3.) Replace "world_name_here" with "ultra" 4.) Start/Restart/Reload Server 5.) Enjoy
However I would recommend you to make further changes! In the config.yml set "ban-on-death" to "false" (this near the bottom of the file). In addtion to that you have to specify a respawn location after death in the world "ultra". At the very bottom of the config.yml file is a section called "tp" this will be the respawn location! For example to respawn a player simply choose as world "world" and enter the coords for the location. You can find them via F3-Menu or (if you have Essentials installed) by /getpos.
I' ll going to write all this with more indepth explanition in the GitHub Wiki very soon!
Love the multiverse support you added.. Now I can run this plugin :) Just very confused on the config and lack of documentation.. How exactly do you limit it to just 1 world?
Lets say main world is called world and ultra world is called ultra.
working hard on it... Everything works fine, BUT the world check on respawn... see GitHub for all the commits...
Can't Wait :D
Okey I' ve added this feature into v1.1 (already on GitHub, Sourceforge and here soon) Now you have a worlds.yml file, which can act as both white- and blacklist! Problem: you still get banned from the server. Will be fixed in v1.2!
Well, people are using MultiVerse now...
@wrecktify80 That's a good idea. Added to the TODO list!
Would be cool to add multi-world support so servers with multiverse could have a hardcore world and just prevent players from using that world for a specified time.