#1 | Crossplay multi version compatible Minecraft Java and Bedrock server with GeyserMC
๐ Index
Using PaperMC as backend server (version 1.14.4) and Velocity as proxy with "modern" forwarding.
Tested on Exaroton and standalone.
Source: https://support.exaroton.com/hc/en-us/articles/4404724229137-Using-Minecraft-proxies-on-exaroton
Geyser only works with Java 16+. Paper 1.14.4 only works with Java 8. That's why is necessary to use a proxy in this case.
Check out Paper requirements. Geyser requirements and Floodgate requirements for more information.
TIP: If you want to set up a Paper 1.16.5+ server, you can do all of this without proxy! Is so much easier.
-
Plugins:
-
๐
/velocity/velocity.toml:show-max-players = 10 # Only visual. online-mode = false # Depends on you. player-info-forwarding-mode = "modern" # Use this if using PaperMC. [servers] # Servers to forward. main = "<address>:<port>" try = ["main"] # First server to forward when player joins. [advanced] show-ping-requests = true # Show when clients ping the server. announce-proxy-commands = true # Necessary for tab autocomplete.
-
Your
PROXY_TOKENis in/velocity/forwarding.secret.
-
Plugins:
- ViaVersion
ViaVersion.jar(multi-version support)
ViaVersion permits newer Minecraft versions to join old Minecraft Server versions. For example: Minecraft 1.19-1.18-1.17 can join Minecraft 1.17 Server, but Minecraft 1.16 can't.
If you want older Minecraft versions to join newer Minecraft Server versions, you need ViaBackwards.
- ViaVersion
-
๐
/paper/spigot.yaml:settings: bungeecord: false # Must disable if using Velocity proxy with "modern" forwarding. commands: send-namespaced: true # "<plugin>:<command>" style commands.
-
๐
/paper/paper.yaml:settings: velocity-support: # Modify this section only if using Velocity proxy. enabled: true # Enable this for "modern" forwarding. online-mode: false # Must match proxy's online-mode configuration. secret: <PROXY_TOKEN> # Paste your secret here.
In Paper 1.19+ those settings are located in
/paper/config/paper-global.yml/. -
๐
/paper/commands.yml:aliases: icanhasbukkit: - [] # Disable command. ?: - minecraft:help # Vanilla-style help command. help: - minecraft:help # Vanilla-style help command.
-
๐
/paper/server.properties:online-mode = false # Must disable if using proxy.
These settings apply even if you aren't using proxy.
-
๐
/velocity/plugins/geyser-velocity/config.yml:remote: auth-type: floodgate # Tell Geyser to use Floodgate. passthrough-motd: true # Use motd set in servrer/proxy. passthrough-player-counts: true # Use player count set in server/proxy. show-cooldown: title # Show the MC 1.8 style cooldown to Bedrock players. show-coordinates: true # Show coordinates to Bedrock players. emote-offhand-workaround: "no-emotes" # Let Bedrock players swap offhand items with emotes.
-
๐
/velocity/plugins/floodgate/config.yml:username-prefix: "." # Prefix for non-linked Bedrock players.
If Bedrock player called
Stevejoins, they will be renamed as.Steve.If your server is in
online-mode=false, you may want to use a local database for linking data..
-
๐
/paper/commands.yml:aliases: advancements: - geyser advancements offhand: - geyser offhand
Add these Java arguments for Minecraft Server (PaperMC):
-XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true
Source: https://docs.papermc.io/paper/aikars-flags
Use if your proxy and backend servers are hosted in Exaroton. It can be installed on proxy only. This is optional.
-
๐
/velocity/plugins/exaroton/config.toml:[auto-start] enabled = false # Enable/Disable. servers = ["example.exaroton.me:port"] # Servers will autostart when proxy is online. [auto-stop] enabled = false # Enable/Disable. servers = ["example.exaroton.me:port"] # Servers will stop when proxy is shut down.
Use this when using online-mode = false on server/proxy.
Must install SQLite Floodgate plugin to work: download floodgate-sqlite-database.jar inside /velocity/plugins/floodgate/ folder. DO NOT PUT IT IN /velocity/plugins/.
-
๐
/velocity/plugins/floodgate/config.yml:player-link: enable-own-linking: true # Enable local database. allowed: true link-code-timeout: 60 # Only 1 minute to link account for security. type: sqlite enable-global-linking: false # Disable online database from Floodgate servers.
Linking data will be on
linked_players.dbfile inside/velocity/plugins/floodgate/.
Apply this inside world configs on each dimension. Read this.
- Overworld:
anticheat:
anti-xray:
enabled: true
engine-mode: 2
hidden-blocks:
- copper_ore
- deepslate_copper_ore
- raw_copper_block
- diamond_ore
- deepslate_diamond_ore
- gold_ore
- deepslate_gold_ore
- iron_ore
- deepslate_iron_ore
- raw_iron_block
- lapis_ore
- deepslate_lapis_ore
- redstone_ore
- deepslate_redstone_ore
lava-obscures: false
max-block-height: 64
replacement-blocks:
- chest
- amethyst_block
- andesite
- budding_amethyst
- calcite
- coal_ore
- deepslate_coal_ore
- deepslate
- diorite
- dirt
- emerald_ore
- deepslate_emerald_ore
- granite
- gravel
- oak_planks
- smooth_basalt
- stone
- tuff
update-radius: 2
use-permission: false- Nether:
anticheat:
anti-xray:
enabled: true
engine-mode: 2
hidden-blocks:
- ancient_debris
- bone_block
- glowstone
- magma_block
- nether_bricks
- nether_gold_ore
- nether_quartz_ore
- polished_blackstone_bricks
lava-obscures: false
max-block-height: 128
replacement-blocks:
- basalt
- blackstone
- gravel
- netherrack
- soul_sand
- soul_soil
update-radius: 2
use-permission: false- End:
anticheat:
anti-xray:
enabled: falseRun the commands below.
/scoreboard objectives add health_score health "ยงcโค"
/scoreboard objectives setdisplay belowName health_score
If you're looking for a seamless crossplay experience between Minecraft Java and Bedrock, using GeyserMC is the way to go! It allows players from different versions to connect and play together effortlessly.
For an enhanced gameplay experience, check out Jennyโs Modโa fun addition that brings new elements to your Minecraft world! ๐๐ฎ