Ultimate World Guard

@DarkIce I know worldguard is sk89q’s plugin. Im not asking for a port of it. Im asking for a plugin that can finally give us security against modded items and blocks. Something that has been lacking and has to be a joint effort between mod authors and plugin makers and server software. I truly think that sponge is the future and would like it to live up to its dreams of finally connecting client and server modding.

1 Like

That is kind of a port because in Bukkit there wasnt ever a need to protect something against modders (truely i know what you mean; this forgebukkit or something like this which allows mods to install in bukkit. However its not official and therefor wasnt supported by sk89q). Sponge includes this feature already and maybe the author has planed already to add the feature to his plugin.

1 Like

forgebukkit aka Cauldron, was supported, but after the bukkit dcma no one wants anything to do with support. But trust me the ultimate goal of an awesome server is to have tons of mods and loads of plugins that offer utilities, economies, player warps. Commands that dont require OP cause you have permission plugins. Its the best of both worlds that we strive for and I am just hoping that forge/client side mod authors will get on board with sponge and figure out a way for us to feel safe on our own servers.

I dont agree with that if you want to have a successful server you need minigames and plots from plotme.
However a highly modded server is only nice if you are playing with few friends which means you can trust them and dont need to protect anything.
If you like it to have both plugins and mods you should first think of these questions.
How you want to pay a server which has ~100 mods and ~100 players(needs at least 64 GB RAM)?
What if someone crashes the server?
What if someone finds a glitch like mining turtles on a other players region (no system is perfect safe) ?

No hate i am often playing with friends modpacks but with FRIENDS !!!

Maybe its not a requirement, but wouldnt it be nice to finally be able to have a public modded server. And as for your system specs I currently have a server with 254 mods and 52 plugins (Cauldron) and I run it with 25 players online @ 18-20 fps with no problem (10GB allocated with an i7 cpu)

If someone crashes the server a simple restart script akes care of that. And having a good staff ensures problems are handled quickly and efficiently.

Not saying that bugs and glitches wont still remain.so the necessity of having a good backup system is still needed.

What has the FPS amount to do with the stabilitiy of a Server ?

He probably misspelled it for TPS.

2 Likes

I wish it was that simple on 1.4.7 servers. Examples of bugs (get ready bro’s):

  1. Players getting their inventory wiped completely.
  2. Player clones when the chunk doesn’t load correctly. So you could end up with 27 clones of thomas15v. What also means that if you kill 1 clone. They all drop stuff. And you lose or duplicate it.
  3. Chunks sometimes like to completely regen. But not using the normal generator. Get ready for a 100% solid stone chunk.
  4. 1.4.7 (repatched 1.6.2 actually) Force-Op exploit: Took me 8 months to figure out how they did it. We had people joining as Hitler and Yew. And ya know what they did… . (hitler killing yew constantly and spamming death messages that way.)
  5. When people set up their pipes wrong the server freezes. It simply forces down the TPS until it goes to 0.1. So no crash. I actually never figured this one out.
1 Like

Forgebukkit is NOT cauldron they are separate projects

1 Like

WG 6+ does block basically everything it doesn’t know about, including every left/right click, but as some people said, not all mod/custom items can be blocked because no events are fired. WG can’t, for example, protect against WorldEdit without changes to WorldEdit because WorldEdit (and most mods) make these changes without telling anything else (in the case of WE though, it was not feasible to send Bukkit events for every block changed).

Another issue has been, even if you wanted to fire events for your mod, there may not actually be suitable events to fire. For example, WorldEdit makes mass changes to the world, but Bukkit and Forge only have (or had? I’ve been away) single-block change events. We fixed this in Sponge though, although there is still difficulty trying to figure out what blocks are being changed ahead of time in some cases (i.e. with /fixwater in WorldEdit, WorldEdit does not know what blocks will be changed before the code has run).

There’s some pretty cool logic in WG 6+ to detect who’s doing what, even if it’s a piston or a sapling that is the source. It’s useless when no events are fired though.

3 Likes

Alright, how you came up with this is clear. But lets say I want to protect my FTB infinity server. It currently uses about 160 mods. Here are only A FEW examples of events you would have to check:

BigReactorsExplosion (comes in future)
QuarryCreation (if land marks are all yours / etc)
QuarryMining
– same for ender quarry –
– same for turtles –
AutonomousClickerPlaceBlockEvent
AutonomousClickerInteractBlockEvent
AutonomousClickerBreakBlockEvent
MythcraftWorldCreation
RFToolsWorldCreation
TinkersConstructAEODamageEvent
DraconicEvolutionAOEDamageEvent
Thaumcraft/WitchcraftSpellDamageEvent
DraconicEvolutionTeleportationEvent
RFToolsTeleportationEvent
IC2ReacotrExplosionEvent
MFRHarvesterEvents
MFRPlanterEvents
MFRFertilizerEvents

and so on…

Do you really think every ModDeveloper will create special events? Even if that would be absolutely amazing, lets say all events are implemented except the MFRHarvesterBreakBlockEvent you would not be able to build on your plot without using stone which SU**S.

I hope you DO understand that this is a great fancy idea but its just near to impossible to do it.

Actually it is not impossible to do. In case of sponge (and cauldron to actually). All a forge mod had to do was call the events, to fix the griefings. And even if forge mods would make their own events. So far I know Sponge plugins can listen on them to :smile: (correct me if I am wrong).

1 Like

Honestly the negative attitude about addressing this issue is tremendous. Its a long standing problem that should have been dealt with a long time ago. There is such a communication disconnect between the server community and the modding community that it seems like they have blinders on and cannot seem to realize that they work together. Now more than ever since single player mods are essentially server mods as well seeing as they are one in the same (blah blah except client side stuff like macros/minimaps/gui’s etc). So really lets not nay say, and begin requesting and petitioning mod authors to try and hook a few events in their future 1.8 releases so that way finally we can stop spending hours of application process to weed out griefers. Or even more countless hours of rollbacks to undo what some jerk has done. I understand some things, like large area edits from WE feasibly cannot do this. But things like quarries can check first if its target area lands inside protected regions.

Aidancbrady has modified Mekanism code to fire Forge’s BlockEvent.BreakEvent!

Sure, it IS possible but Id rather call one event than going with seperate BlockBreaks. FTB infinity is barely able to let 2 players explore the server using angel wings and a draconic chestplate at the same time no matter how much resources you invest. IDK maybe Iam completely wrong here but I think its more complicated than one does think as its not only about the handling. If you run a server with over 150 mods there will always be an exploid or something similar and I cant think of a server where 100% security is given constantly even if that would be absolutely amazing! But I would be amazed if somebody would proof me wrong! :wink:

@Joe_Schmo2840

Its not that I think its a waste of time or something… Iam just being realistic here. If YOU are willing to contact the thousands of moddevelopers out there and convince every single of them to add support for events / etc… that be amazing!

Why would people need to create their own events? A BlockChange, BlockInteract, etc. event is more than sufficient to cover every case.

2 Likes

As explained above I think 157383 BlockBreak events would harm the performance instead of just using:
DraconicEvolutionBlockBreak containing 2 Vectors with minpoint, maxpoint and a facing maybe

FTB for example lags hard on its own… creating tons of plugins which check for permissions and such… aaah well idk

And this is why I have spent the last week contacting many major mod authors to try and get them to use forges block break event like buildcraft does here with their BlockMiner:

BuildCraft/BlockMiner.java at 6.5.x · BuildCraft/BuildCraft · GitHub

So that way the plugin wouldnt have to listen for hundreds of events :smile:

With Sponge’s scheme, you can still have hundreds of events and still only need to listen to one. It’s hierarchical and we designed it specifically to handle every case:

If you listen for BlockChangeEvents, you actually get FloraGrowEvents, BlockPlaceEvents, and so on.

Forge’s event hierarchy is kind of a mess and ideally they’d move towards our scheme, but that requires some pretty big breaking changes in their API.

3 Likes

@Difayth Thousands are an over statement. As I have said before I use 254 mods in the resonant rise modpack. Out of all of those maybe a dozen mods make blocks changes in large scales. And to reiterate there ceartainly will never be 100% security. However as it stands, if you let me on your modded server and I turned sour. I could make your spawn, your bases, your arena’s anything I wanted disappear with a single ender quarry. So its not to prevent all grief, just the big stuff. In any case to reduce the amount of rollbacks and moderation needed to fix grief.