• Guest, we are doing a new map (refresh) for Herocraft. Gather your friends and get ready! Coming next Friday, 06/28/24 @ 7PM CT play.hc.to
    Read up on the guides and new systems! Here.
    View the LIVE Map here @ hc.to/map
    Stuck or have a problem? use "/pe create" to to open a ticket with staff (There are some known issues and other hotfixes we will be pushing asap)
  • Guest, Make sure to use our LAUNCHER! Read more here!

Keybind mods?

Mumfrey

Retired Staff
Joined
Feb 8, 2012
Location
United Kingdom
So we'll need the permission-system and it'll be golden from there to disable the bad things? I think Danda was doing a large amount of testing on this.

The permissions allow you to lock it down to just basically keybinds, any script functions that only change local settings (for example VOLUME and GAMMA) and the GUI functionality. The bonus being of course, that you can lock down everything for the masses, but give elevated permissions to for example moderators, and no restrictions at all for admins.

The current permissions allow control any exploitable script commands and all events except for onJoinGame (which runs before the permissions are replicated anyway and isn't really exploitable for cheating purposes anyway) and onChat (which is basically usable for the same kind of things that Improved Chat is, eg matching certain messages and storing vars to be used in later messages, eg. for quick-reply and the like).

If you discover a feature that you want to lock down that doesn't have a corresponding permission, I will happily bundle it into an update for you, you can then use the min-required-version functionality in the plugin to kick users that try to use the deprecated version (it physically kicks them from the server until they update). I'm very keen to work with server admins on this to provide the best capabilities for players and the best control for admins, so any feedback is much appreciated. You seem to have a good community here which is why I'm particularly keen to engage and provide something to suit.

I'm away from tomorrow until Sunday but if you have anything to discuss I'm happy to vent/ts at some point next week.

EDIT: I should also mention, my aim is for this system to be adopted on a wider scale by other mods which are "useful but prone to exploitation" like rei's minimap.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
The permissions allow you to lock it down to just basically keybinds, any script functions that only change local settings (for example VOLUME and GAMMA) and the GUI functionality. The bonus being of course, that you can lock down everything for the masses, but give elevated permissions to for example moderators, and no restrictions at all for admins.

The current permissions allow control any exploitable script commands and all events except for onJoinGame (which runs before the permissions are replicated anyway and isn't really exploitable for cheating purposes anyway) and onChat (which is basically usable for the same kind of things that Improved Chat is, eg matching certain messages and storing vars to be used in later messages, eg. for quick-reply and the like).

If you discover a feature that you want to lock down that doesn't have a corresponding permission, I will happily bundle it into an update for you, you can then use the min-required-version functionality in the plugin to kick users that try to use the deprecated version (it physically kicks them from the server until they update). I'm very keen to work with server admins on this to provide the best capabilities for players and the best control for admins, so any feedback is much appreciated. You seem to have a good community here which is why I'm particularly keen to engage and provide something to suit.

I'm away from tomorrow until Sunday but if you have anything to discuss I'm happy to vent/ts at some point next week.

EDIT: I should also mention, my aim is for this system to be adopted on a wider scale by other mods which are "useful but prone to exploitation" like rei's minimap.
Yeah sounds good. I'm a little out of it, wheres the download link? :)
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven

Mumfrey

Retired Staff
Joined
Feb 8, 2012
Location
United Kingdom
Cool, also, granted you coder on our forums ;)
Cool, thank you.

Once you get a chance to have a closer look at things let me know if there's anything you would like to have changed. Of course on the server side you have the plugin source so you could entirely rebuild the plugin if you so wished, as long as the protocol/payload is unchanged the implementation is pretty flexible.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
Cool, thank you.

Once you get a chance to have a closer look at things let me know if there's anything you would like to have changed. Of course on the server side you have the plugin source so you could entirely rebuild the plugin if you so wished, as long as the protocol/payload is unchanged the implementation is pretty flexible.
It should be virtually no load on the cpu/server - right?[DOUBLEPOST=1354168581,1354153246][/DOUBLEPOST]It's implemented - gotta restart for the configured options and -Macros
 

Mumfrey

Retired Staff
Joined
Feb 8, 2012
Location
United Kingdom
It should be virtually no load on the cpu/server - right?[DOUBLEPOST=1354168581,1354153246][/DOUBLEPOST]It's implemented - gotta restart for the configured options and -Macros
Correct, it's basically just a simple proxy for permissions. The query only happens when the player logs in and at intermittent intervals thereafter (around 5 mins for client refresh although clients can do a manual refresh when required). The only Bukkit API it uses is Player::hasPermission() which is a very lightweight function designed to be called a lot.
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
Correct, it's basically just a simple proxy for permissions. The query only happens when the player logs in and at intermittent intervals thereafter (around 5 mins for client refresh although clients can do a manual refresh when required). The only Bukkit API it uses is Player::hasPermission() which is a very lightweight function designed to be called a lot.
Need to hire you for our client in Spoutserver :p
 

Kainzo

The Disposable Hero
Staff member
Founder
Adventure Team
Joined
Jan 7, 2011
Location
The 7th Circle of Heaven
I'm not a big fan of Spout for various reasons, what kind of development work do you guys do for it?
Well... we're looking at branching out Herocraft into a custom Minecraft game - so to speak. Spout-server/engine will give us the ability to change almost anything we want. We want to have a custom client to have people download (may or may not cost $$$).

It's just the logical step in our development to being an MMORPG server.

Unrelated to Minecraft, Herocraft development is working on an Indie project code named "Project Hero", right now its based on the Unity3D engine but I cant go much more into that.
 

Mumfrey

Retired Staff
Joined
Feb 8, 2012
Location
United Kingdom
Well... we're looking at branching out Herocraft into a custom Minecraft game - so to speak. Spout-server/engine will give us the ability to change almost anything we want. We want to have a custom client to have people download (may or may not cost $$$).

It's just the logical step in our development to being an MMORPG server.
Ah I see. I'm more averse to spout on an idealogical level than any technical level. It sounds like it would definitely be worth having a chat though, I'm a big proponent of providing server-enhanced client features and the techniques required to bring these about. For example prior to the introduction of Packet 250 I had already developed a client/server communication framework that worked seamlessly with both vanilla and modded clients - unlike ModLoaderMP at the time which would crash vanilla clients that tried to connect to modded servers.

I can't really help you where spout is concerned but if you're looking to achieve a smoother transition from partly-modded (enhanced only) to fully modded then I may be able to help you a lot.

Unrelated to Minecraft, Herocraft development is working on an Indie project code named "Project Hero", right now its based on the Unity3D engine but I cant go much more into that.

Sounds interesting, I've not had any experience with Unity personally, all my modding prior to Minecraft was on the Unreal engine. I shall definitely keep an eye out for your project though.
 

what777

Max Legacy Supporter
Joined
Feb 5, 2012
For guide purposes, so is it allowed now? Got multiple questions about this, would like to know.

UPDATE: Kainzo told me it's legal
 
Top