DocumentationPacket-based module blocking

Packet-based module blocking

Public packet format for server-controlled Flarial module restrictions.

For Server owners and developers

Overview#

A Bedrock server can send Flarial a ScriptMessagePacket that temporarily prevents selected modules from being enabled. This gives server owners a documented way to communicate feature policy to players using Flarial.

Restrictions apply only for the current server session. Servers should send the complete policy when a player connects or moves between server contexts.

Packet format#

Send a ScriptMessagePacket with this message ID:

flarial_client_event:restrict_features

The message body is a JSON object. Entries under flarial_client_modules identify modules and whether they should be blocked.

{
  "server_name": "Example Server",
  "notification_message": "This feature is disabled on this server.",
  "flarial_client_modules": {
    "module.freelook.name": {
      "block": true,
      "restriction_reason": "Freelook is disabled on this server."
    },
    "module.full_bright.name": {
      "block": true,
      "restriction_reason": "Fullbright is disabled on this server."
    }
  }
}

Examples#

Block one module#

{
  "server_name": "Example Server",
  "notification_message": "Disabled by this server.",
  "flarial_client_modules": {
    "module.zoom.name": { "block": true }
  }
}

Clear packet restrictions#

{
  "server_name": "Example Server",
  "flarial_client_modules": {}
}

Module keys#

Use the recommended keys below rather than copying labels from the in-game interface. UI names can change without changing the public packet key.

125 blockable module keys
ModuleRecommended keyAccepted aliases
Motion Blurmodule.motion_blur.namemotion_blur, module.motion_blur.name, motionblur
Deepfrymodule.deepfry.namedeepfry, module.deepfry.name
Saturationmodule.saturation.namesaturation, module.saturation.name
PatarHDmodule.patarhd.namepatarhd, module.patarhd.name
DVD Screenmodule.dvd_screen.namedvd_screen, module.dvd_screen.name, dvdscreen
FOV Changermodule.fov_changer.namefov_changer, module.fov_changer.name, fovchanger
Zoommodule.zoom.namezoom, module.zoom.name
Upside Downmodule.upside_down.nameupside_down, module.upside_down.name, upsidedown
ClickGUImodule.clickgui.nameclickgui, module.clickgui.name
Medsmodule.meds.namemeds, module.meds.name
FPSmodule.fps.namefps, module.fps.name
CPSmodule.cps.namecps, module.cps.name
IP Displaymodule.ip_display.nameip_display, module.ip_display.name, ipdisplay
Reach Countermodule.reach_counter.namereach_counter, module.reach_counter.name, reachcounter
Combomodule.combo.namecombo, module.combo.name
Ping Countermodule.ping_counter.nameping_counter, module.ping_counter.name, pingcounter
Pot Countermodule.pot_counter.namepot_counter, module.pot_counter.name, potcounter
Arrow Countermodule.arrow_counter.namearrow_counter, module.arrow_counter.name, arrowcounter
Item Trackermodule.item_tracker.nameitem_tracker, module.item_tracker.name, itemtracker
Entity Countermodule.entity_counter.nameentity_counter, module.entity_counter.name, entitycounter
Clockmodule.clock.nameclock, module.clock.name
Memorymodule.memory.namememory, module.memory.name
Fullbrightmodule.fullbright.namefullbright, module.fullbright.name, full_bright
Keystrokesmodule.keystrokes.namekeystrokes, module.keystrokes.name
Toggle Sneakmodule.toggle_sneak.nametoggle_sneak, module.toggle_sneak.name, togglesneak
Toggle Sprintmodule.toggle_sprint.nametoggle_sprint, module.toggle_sprint.name, togglesprint
Hitboxmodule.hitbox.namehitbox, module.hitbox.name
Hurt Colormodule.hurt_color.namehurt_color, module.hurt_color.name, hurtcolor
Block Hitmodule.block_hit.nameblock_hit, module.block_hit.name, blockhit
Fire Heightmodule.fire_height.namefire_height, module.fire_height.name, fireheight
Better Inventorymodule.better_inventory.namebetter_inventory, module.better_inventory.name, betterinventory
Dynamic Lightingmodule.dynamic_lighting.namedynamic_lighting, module.dynamic_lighting.name, dynamiclighting
Nametagmodule.nametag.namenametag, module.nametag.name
Java Dynamic FOVmodule.java_dynamic_fov.namejava_dynamic_fov, module.java_dynamic_fov.name, javadynamicfov
SnapLookmodule.snaplook.namesnaplook, module.snaplook.name
Fog Colormodule.fog_color.namefog_color, module.fog_color.name, fogcolor
ArmorHUDmodule.armorhud.namearmorhud, module.armorhud.name
Time Changermodule.time_changer.nametime_changer, module.time_changer.name, timechanger
Movable Paperdollmodule.movable_paperdoll.namemovable_paperdoll, module.movable_paperdoll.name, movablepaperdoll
MC GUI Scalemodule.mc_gui_scale.namemc_gui_scale, module.mc_gui_scale.name, mcguiscale
Render Optionmodule.render_option.namerender_option, module.render_option.name, renderoption
Glint Colormodule.glint_color.nameglint_color, module.glint_color.name, glintcolor
Item Physicsmodule.item_physics.nameitem_physics, module.item_physics.name, itemphysics
Tab Listmodule.tab_list.nametab_list, module.tab_list.name, tablist
Weather Changermodule.weather_changer.nameweather_changer, module.weather_changer.name, weatherchanger
Nickmodule.nick.namenick, module.nick.name
FreeLookmodule.freelook.namefreelook, module.freelook.name, free_look
Auto Perspectivemodule.auto_perspective.nameauto_perspective, module.auto_perspective.name, autoperspective
Auto GGmodule.auto_gg.nameauto_gg, module.auto_gg.name, autogg
Text Hotkeymodule.text_hotkey.nametext_hotkey, module.text_hotkey.name, texthotkey
Speed Displaymodule.speed_display.namespeed_display, module.speed_display.name, speeddisplay
CPS Limitermodule.cps_limiter.namecps_limiter, module.cps_limiter.name, cpslimiter
Break Progressmodule.break_progress.namebreak_progress, module.break_progress.name, breakprogress
Animationsmodule.animations.nameanimations, module.animations.name
Block Outlinemodule.block_outline.nameblock_outline, module.block_outline.name, blockoutline
Command Hotkeymodule.command_hotkey.namecommand_hotkey, module.command_hotkey.name, commandhotkey
No Hurt Cammodule.no_hurt_cam.nameno_hurt_cam, module.no_hurt_cam.name, nohurtcam
Inventory HUDmodule.inventory_hud.nameinventory_hud, module.inventory_hud.name, inventoryhud
Hive Utilsmodule.hive_utils.namehive_utils, module.hive_utils.name, hiveutils
Hit Pingmodule.hit_ping.namehit_ping, module.hit_ping.name, hitping
Opponent Reachmodule.opponent_reach.nameopponent_reach, module.opponent_reach.name, opponentreach
View Modelmodule.view_model.nameview_model, module.view_model.name, viewmodel
Faster Inventorymodule.faster_inventory.namefaster_inventory, module.faster_inventory.name, fasterinventory
PotionHUDmodule.potionhud.namepotionhud, module.potionhud.name
Movable Scoreboardmodule.movable_scoreboard.namemovable_scoreboard, module.movable_scoreboard.name, movablescoreboard
Movable Titlemodule.movable_title.namemovable_title, module.movable_title.name, movabletitle
Movable Bossbarmodule.movable_bossbar.namemovable_bossbar, module.movable_bossbar.name, movablebossbar
Movable Chatmodule.movable_chat.namemovable_chat, module.movable_chat.name, movablechat
Clear Scoreboardmodule.clear_scoreboard.nameclear_scoreboard, module.clear_scoreboard.name, clearscoreboard
Clear Chatmodule.clear_chat.nameclear_chat, module.clear_chat.name, clearchat
Movable Coordinatesmodule.movable_coordinates.namemovable_coordinates, module.movable_coordinates.name, movablecoordinates
Movable Hotbarmodule.movable_hotbar.namemovable_hotbar, module.movable_hotbar.name, movablehotbar
Movable Day Countermodule.movable_day_counter.namemovable_day_counter, module.movable_day_counter.name, movabledaycounter
Mouse Strokesmodule.mouse_strokes.namemouse_strokes, module.mouse_strokes.name, mousestrokes
Java Hotkeys Fixmodule.java_hotkeys_fix.namejava_hotkeys_fix, module.java_hotkeys_fix.name, javahotkeysfix, java_hotkeys, module.java_hotkeys.name
Inventory Offhand Hotkeymodule.inventory_offhand_hotkey.nameinventory_offhand_hotkey, module.inventory_offhand_hotkey.name, inventoryoffhandhotkey
Hive Statisticsmodule.hive_statistics.namehive_statistics, module.hive_statistics.name, hivestatistics
Waypointsmodule.waypoints.namewaypoints, module.waypoints.name
Null Movementmodule.null_movement.namenull_movement, module.null_movement.name, nullmovement
Modern Handlingmodule.modern_handling.namemodern_handling, module.modern_handling.name, modernhandling
Custom Crosshairmodule.custom_crosshair.namecustom_crosshair, module.custom_crosshair.name, customcrosshair
Wailamodule.waila.namewaila, module.waila.name
Skin Stealermodule.skin_stealer.nameskin_stealer, module.skin_stealer.name, skinstealer
Raw Input Buffermodule.raw_input_buffer.nameraw_input_buffer, module.raw_input_buffer.name, rawinputbuffer
Low Healthmodule.low_health.namelow_health, module.low_health.name, lowhealth
Player Notifiermodule.player_notifier.nameplayer_notifier, module.player_notifier.name, playernotifier
Zeqa Utilsmodule.zeqa_utils.namezeqa_utils, module.zeqa_utils.name, zeqautils
Mumble Linkmodule.mumble_link.namemumble_link, module.mumble_link.name, mumblelink
Shader Loadermodule.shader_loader.nameshader_loader, module.shader_loader.name, shaderloader
Minimal View Bobbingmodule.minimal_view_bobbing.nameminimal_view_bobbing, module.minimal_view_bobbing.name, minimalviewbobbing
Lewismodule.lewis.namelewis, module.lewis.name
Coordinatesmodule.coordinates.namecoordinates, module.coordinates.name
Experience Infomodule.experience_info.nameexperience_info, module.experience_info.name, experienceinfo
Disable Mouse Wheelmodule.disable_mouse_wheel.namedisable_mouse_wheel, module.disable_mouse_wheel.name, disablemousewheel
Java Debug Menumodule.java_debug_menu.namejava_debug_menu, module.java_debug_menu.name, javadebugmenu
DirectionHUDmodule.directionhud.namedirectionhud, module.directionhud.name
Locator Barmodule.locator_bar.namelocator_bar, module.locator_bar.name, locatorbar
Java View Bobbingmodule.java_view_bobbing.namejava_view_bobbing, module.java_view_bobbing.name, javaviewbobbing
Death Loggermodule.death_logger.namedeath_logger, module.death_logger.name, deathlogger
Twerkmodule.twerk.nametwerk, module.twerk.name
Cinematic Cameramodule.cinematic_camera.namecinematic_camera, module.cinematic_camera.name, cinematiccamera
Chunk Bordermodule.chunk_border.namechunk_border, module.chunk_border.name, chunkborder
Compact Chatmodule.compact_chat.namecompact_chat, module.compact_chat.name, compactchat
Message Loggermodule.message_logger.namemessage_logger, module.message_logger.name, messagelogger
Totem Countermodule.totem_counter.nametotem_counter, module.totem_counter.name, totemcounter
Item Countermodule.item_counter.nameitem_counter, module.item_counter.name, itemcounter
Delux Overlaymodule.delux_overlay.namedelux_overlay, module.delux_overlay.name, deluxoverlay
Better Hunger Barmodule.better_hunger_bar.namebetter_hunger_bar, module.better_hunger_bar.name, betterhungerbar
Particle Multipliermodule.particle_multiplier.nameparticle_multiplier, module.particle_multiplier.name, particlemultiplier
Bow Sensitivitymodule.bow_sensitivity.namebow_sensitivity, module.bow_sensitivity.name, bowsensitivity
Subtitlesmodule.subtitles.namesubtitles, module.subtitles.name
Sens Multipliermodule.sens_multiplier.namesens_multiplier, module.sens_multiplier.name, sensmultiplier
Stopwatchmodule.stopwatch.namestopwatch, module.stopwatch.name
Depth Of Fieldmodule.depth_of_field.namedepth_of_field, module.depth_of_field.name, depthoffield
Crystal Optimizermodule.crystal_optimizer.namecrystal_optimizer, module.crystal_optimizer.name, crystaloptimizer
TNT Timermodule.tnt_timer.nametnt_timer, module.tnt_timer.name, tnttimer
Inventory Lockmodule.inventory_lock.nameinventory_lock, module.inventory_lock.name, inventorylock
Audio Controllermodule.audio_controller.nameaudio_controller, module.audio_controller.name, audiocontroller
Pitch Displaymodule.pitch_display.namepitch_display, module.pitch_display.name, pitchdisplay
Durability Warningmodule.durability_warning.namedurability_warning, module.durability_warning.name, durabilitywarning
Camera Testmodule.camera_test.namecamera_test, module.camera_test.name, cameratest
Notebotmodule.notebot.namenotebot, module.notebot.name
Minimapmodule.minimap.nameminimap, module.minimap.name
Doommodule.doom.namedoom, module.doom.name
Discord RPCmodule.discord_rpc.namediscord_rpc, module.discord_rpc.name, discordrpc

Client behavior#

  • A blocked module is disabled if it is currently active.
  • The player cannot enable it again while the server restriction is active.
  • Restrictions clear when the client leaves the server session or receives an empty replacement policy.
  • A replacement policy should include every restriction that must remain active.

Implementation notes#

  • Use the exact message ID shown above and send valid JSON.
  • Keep the payload small and do not resend an unchanged policy every tick.
  • Send the policy when a player connects and whenever the relevant server or world context changes.
  • Provide a short, user-facing restriction_reason when possible.
  • Clear restrictions explicitly by sending an empty flarial_client_modules object.