GuestMode

- For a better Preview click here -

GuestMode is a Plugin inspired by the "Guest"-Permission of Minecraft Bedrock Edition and used by my own Server which denies Players from Building or Breaking Blocks by default.

If installed GuestMode simply cancels any Crafting, Inventory (Chest), Item Looting, Item Dropping, Crop Trampling, Redstone usage and so on for Players without the "guestmode.play"-Permission set. (I can recommend LuckPerms for Permissions because it's easy to use with it's online Editor)
 
This Plugin comes with a simple Config you can alter to your needs. Just take a look at the "Config-Files"-section in this Post!
 

Latest-Update-Video:

 

How to Install?

- Download the Plugin

- Drop the Plugin into your plugins Directory (on your desired Server)

- Use /plugman (re-)load GuestMode or restart/reload your Server

- (If not done already) Create a "Member" Group on your Permissions ... This Plugin requires to have some Permission system running otherwise your Players are unable to do Stuff!

- Add the guestmode.play-Permission to the "Member" Group (or whatever it's called on your Server)

- Run /unguest <Player> (e.g. /unguest D3thw0lf) to unguest Players or manually add them to your Members Group so they can play. Make sure you've edited the "commands to run"-section in your Config.

Done!

  

Config-Files (if you messed it up)

 
config.yml

# Config file for GuestMode.
# This file was originally created by version 1.9.0 (SNAPSHOT)
#
#
# Heal Guests - Enables that Guests get healed while they're moving.
#               This CAN be very stressfull for your Server on a high Playercount (if you have small Hardware for example) so this is default off.
#
# Gamemode on Join - The Gamemode a Guest gets on Login
#                     '' = disabled
#                     Valid Gamemodes: Survival, Creative, Adventure, Spectator
#
# CommandsToRun - Commands running on /unguest <Player>
#                 guestmode.unguest Permission required
#                 [] = disabled
#
# CommandsOnJoin - Commands running on Join for unguested Players
#                  (default this is empty just build a list like on CommandsToRun)
#                  [] = disabled
#
# RunCommandsAs - Choose if the Current Player or the Console should run the Commands
#                 Allowed Values: Player | Console
#
HealGuests: false
GamemodeOnJoin: 'Adventure'
CommandsToRun:
- 'lp user <Player> permission set group.member true'
- 'lp user <Player> permission unset group.default'
- 'gamemode survival <Player>'
CommandsOnJoin: []
RunCommandsAs: Console

#
# Particles
#
#
# BlockedActionParticles - The Particles shown if any blocked Action was performed.
#                          '' = disabled
#
# BlockedActionParticleAmount - The Amount of Particles to spawn.
#                               0 = just one Particle
#
# BlockedWorlds - List of Worlds you want GuestMode to be active
#                 [] = enable in all
#
# List of valid Particles:
#                               [ BARRIER, BLOCK_CRACK, BLOCK_DUST, BUBBLE_COLUMN_UP, BUBBLE_POP, CAMPFIRE_COSY_SMOKE, CAMPFIRE_SIGNAL_SMOKE,
#                               CLOUD, COMPOSTER, CRIT, CRIT_MAGIC, CURRENT_DOWN, DAMAGE_INDICATOR, DOLPHIN, DRAGON_BREATH, DRIP_LAVA, DRIP_WATER,
#                               DRIPPING_HONEY, ENCHANTMENT_TABLE, END_ROD, EXPLOSION_HUGE, EXPLOSION_LARGE, EXPLOSION_NORMAL, FALLING_DUST, FALLING_HONEY,
#                               FALLING_LAVA, FALLING_NECTAR, FALLING_WATER, FIREWORKS_SPARK, FLAME, FLASH, HEART, ITEM_CRACK, LANDING_HONEY, LANDING_LAVA,
#                               LAVA, LEGACY_BLOCK_CRACK, LEGACY_BLOCK_DUST, LEGACY_FALLING_DUST, MOB_APPEARANCE, NAUTILUS, NOTE, PORTAL, REDSTONE, SLIME,
#                               SMOKE_LARGE, SMOKE_NORMAL, SNEEZE, SNOW_SHOVEL, SNOWBALL, SPELL, SPELL_INSTANT, SPELL_MOB, SPELL_MOB_AMBIENT, SPELL_WITCH,
#                               SPIT, SQUID_INK, SUSPENDED, SUSPENDED_DEPTH, SWEEP_ATTACK, TOTEM, TOWN_AURA, VILLAGER_ANGRY, VILLAGER_HAPPY, WATER_BUBBLE,
#                               WATER_DROP, WATER_SPLASH, WATER_WAKE ]
#
#
BlockedActionParticles: 'SMOKE_NORMAL'
BlockedActionParticleAmount: 0
BlockedWorlds:
- world
- world_nether
- world_the_end

#
# Block Command Usage - If enabled, Players without Permission are unable to use any Command (except the ones you're allowing)
#
# Allowed Commands - The List of Commands that a Guest is able to use (requires that BlockCommandUsage = true)
#                    [] = disabled
#
BlockCommandUsage: false
AllowedCommands:
- spawn

#
# Blocking Types
# Just disable what you don't need or want to be enabled.
#
# true = blocked
#
# BlockedMaterials - List all Materials (Item/Blocks) Guests should be unable to use.
#                    NOT case sensitive but I recommend it for better readability ;)))))
#                    Legacy Materials are also blocked if you list the not so legacy (srsly... don't list the legacy ones...) versions of them... ;)))))
#
BlockPlacement: true
BlockBreak: true
Interact: true
PhysicalInteract: true
BucketFilling: true
BucketEmptying: true
OpenInventories: true
BlockDamage: true
EntityDamage: true
TargetByEntitys: true
ItemPickup: true
DropItemsFromInventory: true
DragItemsFromInventory: true
Elytra: true
BlockedMaterials:
- FLINT_AND_STEEL
- FIREWORK_ROCKET
- SPLASH_POTION
- LINGERING_POTION
- ELYTRA
- LEVER
- DAYLIGHT_DETECTOR
- CROSSBOW
- BOW
- TRIDENT
- LEAD
- SHEARS
- FISHING_ROD
- SNOWBALL
- FIRE_CHARGE
- ENDER_PEARL
- ENDER_EYE
- END_CRYSTAL
- SWEET_BERRY_BUSH
- BELL
- TNT
- JUKEBOX

 

messages.yml

# Config file for GuestMode.
# This file was originally created by version 1.7.0 (SNAPSHOT)
#
# Default (en_us, de_de & es_es) Translation by D3thw0lf | https://twitch.tv/woweepaw
# <Translation> <YourNameHere> | <YourWebsite>
#
# Language Codes: https://minecraft.gamepedia.com/Language
#
##############################################################################################
#
# UnguestMessage - Message shown if someone allowed is using /unguest <Player>
# '' = disabled
#
# NoPermissionMessage - Message shown if someone not allowed is using /unguest <Player>
# '' = disabled
#
# MessageOnPlayerJoin - The Message shown to Guests when they're joining. Use \n for new Lines
# '' = disabled
#
# BlockedActionMessage - The Message shown if any blocked Action was performed.
# '' = disabled
#
#
# default - The Language used if the clients selected language is not added/supported (yet)
#
default: en_us
lang:
en_us:
UnguestMessage: '&a<Player> is no longer in GuestMode'
NoPermissionMessage: '&cYou don''t have permission to run that Command.'
MessageOnPlayerJoin: '&e&lYou''re in GuestMode.\n&9&lPlease contact an &c&lAdmin&9&l to get permissions.'
BlockedActionMessage: '&c&lGuests can''t do that. Please contact an Admin to get permissions.'
de_de:
UnguestMessage: '&a<Player> ist nicht länger im GuestMode'
NoPermissionMessage: '&cDu hast keine Berechtigung für diesen Befehl.'
MessageOnPlayerJoin: '&e&lDu befindest dich im Gastmodus.\n&9&lBitte kontaktiere einen &c&lAdmin&9&l um freigeschaltet zu werden.'
BlockedActionMessage: '&c&lGäste können dies nicht tun. Kontaktiere einen Admin um freigeschaltet zu werden.'
es_es:
UnguestMessage: '&a<Player> ya no está en modo invitado'
NoPermissionMessage: '&cNo tiene permiso para ejecutar ese comando.'
MessageOnPlayerJoin: '&e&lEstás en modo invitado.\n&9&lPóngase en contacto con un &c&lAdministrador&9&l para ser desbloqueado.'
BlockedActionMessage: '&c&lLos invitados no pueden hacer eso. Póngase en contacto con un administrador para obtener permisos.'

 

So... why GuestMode?

I made this Plugin because I'm hosting a small survival Minecraft Server listed on some public Serverlists and wanted to keep the Whitelist off so that Players can join the World, play or just hang out with us. This ended up in some Grief (oh wonder) so "GuestMode" was born to at least have some "first" protection that don't require a(nother) big plugin, Worldguard rules (mess) or thousands of permissions to work. Simple as that.
 
I think my plugin can maybe be helpful to such Servers that want a simple but effective way keeping new Players in a sort of "Guestmode" first before approval (e.g. small Survival Communitys allowing Friends to invite Friends but don't trust anyone new joining). ^^
 
You can try the Plugin or play with us on pawsome.kaefgames.com (or paws.kaefgames.com:25577, mainly a German speaking Server but English is fine, too). :)
 
 

Ideas for future Updates

  • *Done since 1.2.0* Configurable Particles on blocked Action
  • *Done since 1.2.0* Configurable Message on blocked Action
  • *Done since 1.3.0* Per World Usage
  • *Done since 1.4.0* Gamemode for Guests (on join)
  • *Done since 1.5.0* Blocking Command usage (with exceptions in Config) | Suggested by DeadX
  • *Done since 1.6.0* Enable Players to Unguest others (requires Permissions)
  • *Done since 1.7.0* Multilanguage Messages
  • *Done since 1.8.0* Block more Items | Partly Suggested by RabidHuman
  • *Done since 1.9.0* Run Commands on Join | Suggested by RabidHuman
  • *Done since 1.9.0* Move the blocked Materials part from Code to Config so everyone is able to add new materials (items/blocks) on their own. :)
  • *Done since 1.9.0* Run Commands from Config as-Option (e.g. Console, Player etc.)
  • Guests can't leave regions | Suggested by DeadX
  • Eating more Cookies... Drinking some Ko-fi
 

List of Servers using my Plugin:

PawsomeMC (paws.kaefgames.com:25577)
World of Apollo (worldofapollo.com)
- MinecraftersWorld (54.211.32.88:25565)
- No other yet. Let me know if you do and want to get listed. :3
 

Feedback? Suggestions? Problems?

Support is mostly given over Discord so I would prefer this Method but you can ofc. write your Ideas, Problems etc. into the Comments section. I would love to read about them (hopefully no Problems ofc. ^^)
 
If you like, just give some Ko-fi ;3 ... every Ko-fi counts (at least that's what I heard ^^).

Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    361711
  • Created
    Feb 7, 2020
  • Last Released File
    Aug 2, 2020
  • Total Downloads
    532
  • License

Categories

Members

Recent Files