Logo
MINECRAFTBIBLE
Items
Items

All game items

Blocks
Blocks

Building blocks

Mobs
Mobs

Creatures & monsters

Biomes
Biomes

World biomes

Structures
Structures

Generated structures

Recipes
Recipes

Crafting guides

Advancements
Advancements

Achievements

Loot Tables
Loot Tables

Drop rates

Tags
Tags

Item groupings

All Versions
View all data →
Capes
Cape ArchiveNEW

Browse rare Minecon capes, OptiFine capes, and custom capes from players worldwide

Browse

Player Database
Player DatabasePopular

Search any player

Skin Browser
Skin Browser

Browse & download skins

Cape Gallery
Cape GalleryNEW

Minecon & OptiFine capes

Seed Vault
Seed Vault

Curated seeds

Learn

Guides
GuidesNew

Tutorials & tips

Blog
Blog

News & updates

Community

Community Hub
Community HubHub

Posts, discussions & more

All Versions
View community →
Seed Analyzer
Seed Analyzer

World seed analysis

Loot Explorer
Loot Explorer

Drop rates

Crafting Calculator
Crafting Calculator

Material planning

Enchant Calculator
Enchant Calculator

Probability math

Redstone Lab
Redstone Lab

Signal timing

Trading Profit
Trading Profit

Villager ROI

All Versions
View all tools →
Mods
Mods

Browse all mods

Plugins
Plugins

Server plugins

Resource Packs
Resource Packs

Textures & sounds

Shaders
Shaders

Visual enhancements

Datapacks
Datapacks

World logic

Scanner
Mod Intelligence

Scan & analyze any mod

All Versions
View all mods →
Loading...
IntroductionIntroductionVersion HistoryVersion HistoryGuidesGuidesBlog & NewsBlog & News
ItemsItemsBlocksBlocksMobsMobsRecipesRecipesBiomesBiomesStructuresStructuresAdvancementsAdvancementsLoot TablesLoot TablesTagsTags
ModsModsPluginsPluginsResource PacksResource PacksShadersShadersDatapacksDatapacks

MinecraftBible

The Ultimate Wiki

Logo
MINECRAFTBIBLE

The ultimate Minecraft reference. Every item, block, mob, and recipe documented with precision.

Community

  • Player Database
  • Skin Browser
  • Cape Gallery
  • Community Hub
  • Seed Vault

Database

  • Items
  • Blocks
  • Mobs
  • Recipes
  • Biomes
  • Structures

Tools

  • Seed Analyzer
  • Mod Intelligence
  • Crafting Calculator
  • Enchant Calculator

Mods & Packs

  • Mods
  • Plugins
  • Resource Packs
  • Shaders
  • Datapacks

© 2026 MinecraftBible. Not affiliated with Mojang or Microsoft.

PrivacyTermsContact
Virtual Host Command Plugin
PluginApache-2.0

Virtual Host Command Plugin

Ever thought of having different domains/subdomains for the same Minecraft/Bukkit server and depending on the domain a player joins offer different settings? This plugin is a bit like apache virtual hosts, for Minecraft servers

171
Downloads
7
Followers
2 years ago
Updated
📦
1
Versions
managementbukkitpaperspigot
Download Latestv0.9.4View on Modrinth

📖About Virtual Host Command Plugin

Virtual Host Command Plugin for Bukkit/Minecraft

Ever thought of having different domains/subdomains for the same Minecraft/Bukkit server and depending on the domain a player joins offer different settings?
This plugin is a bit like apache virtual hosts, detecting the host name of the Minecraft server the player used (CNAMEs). You can configure what commands to run on joining the server depending on the host name. E.g. you can have a server with multiverse and subdomains hub.example.com and pvp.example.com and then send the player directly to the hub-world or the arena-world depending on the domain they used to connect to the server.

Note: Bedrock proxy with geyser does not supply the host name on join – so it's not working for vhosts. It only supplies the IP address, so you need a different IP address for each domain connecting via geyser/proxy.
FIX add the following to you geyser config.yml:

  # Forward the hostname that the Bedrock client used to connect over to the Java server
  # This is designed to be used for forced hosts on proxies
  forward-hostname: true

Note: We heavily rely on the supplied hostname. This is not always given in PingServerList list event, so motd and icon per vhost does not always work on all server implementations. For paper-mc we added a workaround to get the hostname used for the ping.

Here is an example of four vhosts running on the same server with the same IP address but accessed using different vhosts via different CNAMEs:

Example Minecraft Server List

Update 0.9.2

  • minor fixes, cleanup, housekeeping
  • added ifInWorld and ifNotInWorld conditions (see example config)

Update 0.9.3

  • small fixes
  • added motd and icon config for vhosts (see example config)

Example Config

see up2date file in plugins/VirtualHostCommandPlugin/config.yml

# Example config file for VirtualHostCommand bukkit plugin
# Location: plugins/VirtualHostCommandPlugin/config.yml

vhosts:
  host_example:
    # the hoostname is matched agains the joining hostname via starts-with, so parts work as well
    # you can also add the port, sub.domain.com:port
    # it's mandatory, and always case-insensitive
    hostname: example.com
    # (optional) only run if player joined this world(s) 
    ifInWorld: "world_some_regex"
    # (optional) only run if player did not join this world(s)
    # if ifInWorld and ifNotInWorld present, they must be both true
    ifNotInWorld: "world_some_regex"
    # (optional) MOTD for this vhost
    # NOTE: this only works if you server implementation returns a hostname in the ping event, many don't :(
    #       for  paper-mc we have added a workaround to fetch the vhost hostname pinged via reflection.
    motd: "some colorfull MOTD server message\nmultiline if you like!"
    # (optional) server icon filename, format like server-icon.png, same root directory
    # NOTE: same restrictions as for 'motd' config option apply 
    icon: server-icon-example.png 
    # List of commands to be executed if joining via this hostname    
    commands:
      # he following placeholders are allowd:
      # %player% , %hostname% and %port%
      - some command ...
      - another cmmand with %player% to replace with player name
      - msg %player% haha it works from %hostname%

  host_example2:
    # example with an IP
    hostname: "123.45.67.89"
    commands:
      - some command ...
      - another cmmand with %player% to replace with player name
      - msg %player% haha it works

  host_hub:
    hostname: hub.myworld.com
    ifNotInWorld: "^world_hub"
    commands:
      - gamemode %player% survival
      - msg %player% crazy shit
      - mv tp %player% world_hub

see https://github.com/cgaffga/mc-vhost/tree/main/docs

Source

Source code can be found at https://github.com/cgaffga/mc-vhost/

Download

  • Builds in https://github.com/cgaffga/mc-vhost/tree/main/dist/
  • Spigot https://www.spigotmc.org/resources/virtualhostcommandplugin.113311/
  • Bukkit https://legacy.curseforge.com/minecraft/bukkit-plugins/virtualhostcommandplugin
  • Modrinth https://modrinth.com/mod/virtual-host-command-plugin

👥 Team & Contributors

C
cgaffgaOwner
The_MinePro
The_MinePro
Member

⚙️ Compatibility

Environment
🖥️ Server-side
Loaders
bukkitpaperspigot
Minecraft Versions
1.20.21.20.31.20.41.20.51.20.61.211.21.11.21.2+6 more

🔗 Links

Modrinth Page