Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'Network protocol error' for all players when multiple player are connected at same time #167

Open
EnderNon opened this issue Dec 14, 2024 · 0 comments

Comments

@EnderNon
Copy link

I set this server up using MCHPRS and Velocity. I have ViaVersion plugin on Velocity so that I can use 1.21 for a certain mod that only supports 1.21. My issue is that, with one player, I can join. When my friend joins to test it, both of us get kicked with a "Network protcol error" and something about a zombie villager. Not sure why that's happening.

For reference, MCHRPS is at 127.0.0.1:25565 and Velocity is facing outwards at 0.0.0.0:25566. Both of us are connecting directly via (ipv4Address):25566.

Error log

---- Minecraft Network Protocol Error Report ----
// I'm sorry, I don't speak that language

Time: 2024-12-14 21:44:40
Description: Packet handling error

java.lang.IllegalStateException: Invalid entity data item type for field 17 on entity class_1641['Zombie Villager'/1, l='ClientLevel', x=125.28, y=8.66, z=129.02]: old=0(class java.lang.Integer), new=127(class java.lang.Byte)
	at knot//net.minecraft.class_2945.method_12785(class_2945.java:126)
	at knot//net.minecraft.class_2945.method_12779(class_2945.java:117)
	at knot//net.minecraft.class_634.method_11093(class_634.java:553)
	at knot//net.minecraft.class_2739.method_11808(class_2739.java:54)
	at knot//net.minecraft.class_2739.method_11054(class_2739.java:12)
	at knot//net.minecraft.class_2600.method_11072(class_2600.java:27)
	at knot//net.minecraft.class_1255.method_18859(class_1255.java:162)
	at knot//net.minecraft.class_4093.method_18859(class_4093.java:23)
	at knot//net.minecraft.class_1255.method_16075(class_1255.java:136)
	at knot//net.minecraft.class_1255.method_5383(class_1255.java:121)
	at knot//net.minecraft.class_310.method_1523(class_310.java:1240)
	at knot//net.minecraft.class_310.method_1514(class_310.java:882)
	at knot//net.minecraft.client.main.Main.main(Main.java:256)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
	at knot//net.minecraft.class_2945.method_12785(class_2945.java:126)
	at knot//net.minecraft.class_2945.method_12779(class_2945.java:117)

-- Incoming Packet --
Details:
	Type: clientbound/minecraft:set_entity_data
	Is Terminal: false
	Is Skippable: false
Stacktrace:
	at knot//net.minecraft.class_2600.method_59803(class_2600.java:56)
	at knot//net.minecraft.class_8673.method_60882(class_8673.java:136)
	at knot//net.minecraft.class_8673.method_59807(class_8673.java:113)
	at knot//net.minecraft.class_2600.method_11072(class_2600.java:32)
	at knot//net.minecraft.class_1255.method_18859(class_1255.java:162)
	at knot//net.minecraft.class_4093.method_18859(class_4093.java:23)
	at knot//net.minecraft.class_1255.method_16075(class_1255.java:136)
	at knot//net.minecraft.class_1255.method_5383(class_1255.java:121)
	at knot//net.minecraft.class_310.method_1523(class_310.java:1240)
	at knot//net.minecraft.class_310.method_1514(class_310.java:882)
	at knot//net.minecraft.client.main.Main.main(Main.java:256)
	at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:480)
	at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:74)
	at net.fabricmc.loader.impl.launch.knot.KnotClient.main(KnotClient.java:23)
	at org.prismlauncher.launcher.impl.StandardLauncher.launch(StandardLauncher.java:105)
	at org.prismlauncher.EntryPoint.listen(EntryPoint.java:129)
	at org.prismlauncher.EntryPoint.main(EntryPoint.java:70)

-- Connection --
Details:
	Protocol: play
	Flow: CLIENTBOUND
	Server type: OTHER
	Server brand: Minecraft High Performance Redstone (Velocity)


-- System Details --
Details:
	Minecraft Version: 1.21.1
	Minecraft Version ID: 1.21.1
	Operating System: Linux (amd64) version 6.12.4-zen1-1-zen
	Java Version: 21.0.3, Eclipse Adoptium
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium
	Memory: 3868540752 bytes (3689 MiB) / 5117050880 bytes (4880 MiB) up to 17179869184 bytes (16384 MiB)
	CPUs: 20
	Processor Vendor: GenuineIntel
	Processor Name: 13th Gen Intel(R) Core(TM) i5-13500
	Identifier: Intel64 Family 6 Model 191 Stepping 2
	Microarchitecture: unknown
	Frequency (GHz): -0.00
	Number of physical packages: 1
	Number of physical CPUs: 14
	Number of logical CPUs: 20
	Graphics card #0 name: AD106 [GeForce RTX 4060 Ti]
	Graphics card #0 vendor: NVIDIA Corporation (0x10de)
	Graphics card #0 VRAM (MiB): 8224.00
	Graphics card #0 deviceId: 0x2803
	Graphics card #0 versionInfo: unknown
	Virtual memory max (MiB): 28220.83
	Virtual memory used (MiB): 15001.61
	Swap memory total (MiB): 12287.99
	Swap memory used (MiB): 27.36
	Space in storage for jna.tmpdir (MiB): <path not set>
	Space in storage for org.lwjgl.system.SharedLibraryExtractPath (MiB): <path not set>
	Space in storage for io.netty.native.workdir (MiB): <path not set>
	Space in storage for java.io.tmpdir (MiB): available: 15893.34, total: 15932.84
	Space in storage for workdir (MiB): available: 269765.50, total: 642514.00
	JVM Flags: 2 total; -Xms512m -Xmx16384m
	Fabric Mods: 
		architectury: Architectury 13.0.8
		betterf3: BetterF3 11.0.3
		bsvsb: Better Sodium Video Settings Button 4.0.0-alpha.0
		clearview: clearview 1.0.0
			midnightlib: MidnightLib 1.6.4
		cloth-config: Cloth Config v15 15.0.140
			cloth-basic-math: cloth-basic-math 0.6.1
		continuity: Continuity 3.0.0+1.21
		cullleaves: Cull Leaves 3.4.0
		debugify: Debugify 1.21.1+1.0
		dynamic_fps: Dynamic FPS 3.7.7
			net_lostluma_battery: battery 1.3.0
		enhancedblockentities: Enhanced Block Entities 0.10.2+1.21
		entity_model_features: Entity Model Features 2.2.6
		entity_texture_features: Entity Texture Features 6.2.8
			org_apache_httpcomponents_httpmime: httpmime 4.5.10
		entityculling: EntityCulling 1.7.2
		fabric-api: Fabric API 0.110.0+1.21.1
			fabric-api-base: Fabric API Base 0.4.42+6573ed8c19
			fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.70+b559734419
			fabric-biome-api-v1: Fabric Biome API (v1) 13.0.30+be1ed2d719
			fabric-block-api-v1: Fabric Block API (v1) 1.0.22+0af3f5a719
			fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.10+6573ed8c19
			fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.52+0af3f5a719
			fabric-client-tags-api-v1: Fabric Client Tags 1.1.15+6573ed8c19
			fabric-command-api-v1: Fabric Command API (v1) 1.2.49+f71b366f19
			fabric-command-api-v2: Fabric Command API (v2) 2.2.28+6ced4dd919
			fabric-commands-v0: Fabric Commands (v0) 0.2.66+df3654b319
			fabric-content-registries-v0: Fabric Content Registries (v0) 8.0.18+b559734419
			fabric-convention-tags-v1: Fabric Convention Tags 2.1.2+7f945d5b19
			fabric-convention-tags-v2: Fabric Convention Tags (v2) 2.9.2+e60e56d419
			fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.29+0af3f5a719
			fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.4.0+da19b51a19
			fabric-data-generation-api-v1: Fabric Data Generation API (v1) 20.2.24+16c4ae2519
			fabric-dimensions-v1: Fabric Dimensions API (v1) 4.0.0+6fc22b9919
			fabric-entity-events-v1: Fabric Entity Events (v1) 1.7.0+2122d82819
			fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.7.13+ba9dae0619
			fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.53+6ced4dd919
			fabric-item-api-v1: Fabric Item API (v1) 11.1.1+d5debaed19
			fabric-item-group-api-v1: Fabric Item Group API (v1) 4.1.6+6823f7cd19
			fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.47+0af3f5a719
			fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.45+df3654b319
			fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.5.0+01d9a51c19
			fabric-loot-api-v2: Fabric Loot API (v2) 3.0.15+3f89f5a519
			fabric-loot-api-v3: Fabric Loot API (v3) 1.0.3+3f89f5a519
			fabric-message-api-v1: Fabric Message API (v1) 6.0.13+6573ed8c19
			fabric-model-loading-api-v1: Fabric Model Loading API (v1) 2.0.0+fe474d6b19
			fabric-networking-api-v1: Fabric Networking API (v1) 4.3.0+c7469b2119
			fabric-object-builder-api-v1: Fabric Object Builder API (v1) 15.2.1+40875a9319
			fabric-particles-v1: Fabric Particles (v1) 4.0.2+6573ed8c19
			fabric-recipe-api-v1: Fabric Recipe API (v1) 5.0.13+6508971219
			fabric-registry-sync-v0: Fabric Registry Sync (v0) 5.2.0+34f5d91419
			fabric-renderer-api-v1: Fabric Renderer API (v1) 3.4.0+c705a49c19
			fabric-renderer-indigo: Fabric Renderer - Indigo 1.7.0+c705a49c19
			fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.68+df3654b319
			fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.48+73761d2e19
			fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.1.6+1daea21519
			fabric-rendering-v0: Fabric Rendering (v0) 1.1.71+df3654b319
			fabric-rendering-v1: Fabric Rendering (v1) 5.0.5+df16efd019
			fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 4.3.0+8dc279b119
			fabric-resource-loader-v0: Fabric Resource Loader (v0) 1.3.1+5b5275af19
			fabric-screen-api-v1: Fabric Screen API (v1) 2.0.25+8b68f1c719
			fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.88+b559734419
			fabric-sound-api-v1: Fabric Sound API (v1) 1.0.23+6573ed8c19
			fabric-transfer-api-v1: Fabric Transfer API (v1) 5.4.2+95bead5f19
			fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 6.2.0+45b9699719
		fabric-language-kotlin: Fabric Language Kotlin 1.13.0+kotlin.2.1.0
			org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 2.1.0
			org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 2.1.0
			org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 2.1.0
			org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 2.1.0
			org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.26.1
			org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.9.0
			org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.9.0
			org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.6.1
			org_jetbrains_kotlinx_kotlinx-io-bytestring-jvm: kotlinx-io-bytestring-jvm 0.6.0
			org_jetbrains_kotlinx_kotlinx-io-core-jvm: kotlinx-io-core-jvm 0.6.0
			org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.7.3
			org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.7.3
			org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.7.3
		fabricloader: Fabric Loader 0.16.9
			mixinextras: MixinExtras 0.4.1
		fallingleaves: Falling Leaves 1.16.4
		ferritecore: FerriteCore 7.0.2-hotfix
		forgeconfigapiport: Forge Config API Port 21.1.2
			com_electronwill_night-config_core: core 3.8.0
			com_electronwill_night-config_toml: toml 3.8.0
		fzzy_config: Fzzy Config 0.5.9+1.21
			blue_endless_jankson: jankson 1.2.3
			fabric-permissions-api-v0: fabric-permissions-api 0.3.1
			net_peanuuutz_tomlkt_tomlkt-jvm: tomlkt-jvm 0.3.7
		immediatelyfast: ImmediatelyFast 1.3.3+1.21.1
			net_lenni0451_reflect: Reflect 1.3.4
		inhibitor: Inhibitor 1.0.1
		iris: Iris 1.8.1+mc1.21.1
			io_github_douira_glsl-transformer: glsl-transformer 2.0.1
			org_anarres_jcpp: jcpp 1.4.14
			org_antlr_antlr4-runtime: antlr4-runtime 4.13.1
		isiwiw: I shall install whatever I want 1.2+fabric-1.21
		java: OpenJDK 64-Bit Server VM 21
		lambdynlights: LambDynamicLights 3.1.4+1.21.1
			pride: Pride Lib 1.2.1+1.21
			spruceui: SpruceUI 5.1.0+1.21
		languagereload: Language Reload 1.7.1+1.21.1
		lithium: Lithium 0.14.3-snapshot+mc1.21.1-build.92
		minecraft: Minecraft 1.21.1
		modmenu: Mod Menu 11.0.3
		morechathistory: More Chat History 1.3.1
		moreculling: More Culling 1.0.1
			conditional-mixin: conditional mixin 0.6.3
			mixinsquared: MixinSquared 0.2.0
		no-telemetry: No Telemetry 1.8.0
		nochatreports: No Chat Reports 1.21.1-v2.9.1
		noxesium: Noxesium 2.3.3+d22848f
			com_noxcrew_noxesium_api: api 2.3.3+d22848f
			org_khelekore_prtree: prtree 1.5
		particle_core: Particle Core 0.2.4+1.21
		placeholder-api: Placeholder API 2.4.1+1.21
		reeses-sodium-options: Reese's Sodium Options 1.8.0+mc1.21.3
		skinlayers3d: 3d-Skin-Layers 1.7.3
		sodium: Sodium 0.6.3+mc1.21.1
		sodium-extra: Sodium Extra 0.6.0+mc1.21.1
		sodiumextrainformation: Sodium Extra Information 2.3
		sodiumextras: Sodium Extras 1.0.5
		sodiumleafculling: Sodium Leaf Culling 1.0.0
		sodiumoptionsapi: Sodium Options API 1.0.8
		sound_physics_remastered: Sound Physics Remastered 1.21.1-1.4.6
		sspb: Sodium Shadowy Path Blocks 4.0.0
		tcdcommons: TCD Commons API 3.12.4+fabric-1.21
		visiblebarriers: Visible Barriers 2.0.16
		vmp: Very Many Players 0.2.0+beta.7.169+1.21.1
			com_ibm_async_asyncutil: asyncutil 0.1.0
		wynntils: Wynntils 2.4.7
		yet_another_config_lib_v3: YetAnotherConfigLib 3.6.2+1.21-fabric
			com_twelvemonkeys_common_common-image: common-image 3.12.0
			com_twelvemonkeys_common_common-io: common-io 3.12.0
			com_twelvemonkeys_common_common-lang: common-lang 3.12.0
			com_twelvemonkeys_imageio_imageio-core: imageio-core 3.12.0
			com_twelvemonkeys_imageio_imageio-metadata: imageio-metadata 3.12.0
			com_twelvemonkeys_imageio_imageio-webp: imageio-webp 3.12.0
			org_quiltmc_parsers_gson: gson 0.2.1
			org_quiltmc_parsers_json: json 0.2.1
		zoomify: Zoomify 2.14.2+1.21.1
			com_akuleshov7_ktoml-core-jvm: ktoml-core-jvm 0.5.2
	Loaded Shaderpack: (off)

configurations.

MCHPRS config file

Config.toml
bind_address = "127.0.0.1:25565"
motd = "testing redstone server fr"
chat_format = "{username}: {message}"
max_players = 64
view_distance = 8
whitelist = false
schemati = false
block_in_hitbox = true
auto_redpiler = true

[velocity]
enabled = true
# This is the secret contained within `forwarding-secret-file` from your velocity config,
# NOT the path to the file.
secret = "THIS IS CENSORED"

Velocity config file

velocity.toml
# Config version. Do not change this
config-version = "2.7"

# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25565.
bind = "0.0.0.0:25566"

# What should be the MOTD? This gets displayed when the player adds your server to
# their server list. Only MiniMessage format is accepted.
motd = "<obfuscated><color:#7F00FF>fr</color></obfuscated> frfrnocap redstone testing grounds <obfuscated><color:#7F00FF>fr</color></obfuscated>\n<obfuscated><color:#7F00FF>no</color></obfuscated>   Incomprehensible stuffs inbound    <obfuscated><color:#7F00FF>cp</color></obfuscated>"

# What should we display for the maximum number of players? (Velocity does not support a cap
# on the number of players online.)
show-max-players = 64

# Should we authenticate players with Mojang? By default, this is on.
online-mode = true

# Should the proxy enforce the new public key security standard? By default, this is on.
force-key-authentication = true

# If client's ISP/AS sent from this proxy is different from the one from Mojang's
# authentication server, the player is kicked. This disallows some VPN and proxy
# connections but is a weak form of protection.
prevent-client-proxy-connections = false

# Should we forward IP addresses and other data to backend servers?
# Available options:
# - "none":        No forwarding will be done. All players will appear to be connecting
#                  from the proxy and will have offline-mode UUIDs.
# - "legacy":      Forward player IPs and UUIDs in a BungeeCord-compatible format. Use this
#                  if you run servers using Minecraft 1.12 or lower.
# - "bungeeguard": Forward player IPs and UUIDs in a format supported by the BungeeGuard
#                  plugin. Use this if you run servers using Minecraft 1.12 or lower, and are
#                  unable to implement network level firewalling (on a shared host).
# - "modern":      Forward player IPs and UUIDs as part of the login process using
#                  Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
player-info-forwarding-mode = "modern"

# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
# The file is expected to be UTF-8 encoded and not empty.
forwarding-secret-file = "forwarding.secret"

# Announce whether or not your server supports Forge. If you run a modded server, we
# suggest turning this on.
# 
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
# instead for a nicer display in the server list.
announce-forge = false

# If enabled (default is false) and the proxy is in online mode, Velocity will kick
# any existing player who is online if a duplicate connection attempt is made.
kick-existing-players = false

# Should Velocity pass server list ping requests to a backend server?
# Available options:
# - "disabled":    No pass-through will be done. The velocity.toml and server-icon.png
#                  will determine the initial server list ping response.
# - "mods":        Passes only the mod list from your backend server into the response.
#                  The first server in your try list (or forced host) with a mod list will be
#                  used. If no backend servers can be contacted, Velocity won't display any
#                  mod information.
# - "description": Uses the description and mod list from the backend server. The first
#                  server in the try (or forced host) list that responds is used for the
#                  description and mod list.
# - "all":         Uses the backend server's response as the proxy response. The Velocity
#                  configuration is used if no servers could be contacted.
ping-passthrough = "DISABLED"

# If not enabled (default is true) player IP addresses will be replaced by <ip address withheld> in logs
enable-player-address-logging = true

[servers]
# Configure your servers here. Each key represents the server's name, and the value
# represents the IP address of the server to connect to.
mchprs = "127.0.0.1:25565"

# In what order we should try servers when a player logs in or is kicked from a server.
try = [
    "mchprs"
]

[forced-hosts]
# Configure your forced hosts here.
"mc.frfrnocap.men" = [
    "mchprs"
]

[advanced]
# How large a Minecraft packet has to be before we compress it. Setting this to zero will
# compress all packets, and setting it to -1 will disable compression entirely.
compression-threshold = 256

# How much compression should be done (from 0-9). The default is -1, which uses the
# default level of 6.
compression-level = -1

# How fast (in milliseconds) are clients allowed to connect after the last connection? By
# default, this is three seconds. Disable this by setting this to 0.
login-ratelimit = 1500

# Specify a custom timeout for connection timeouts here. The default is five seconds.
connection-timeout = 10000

# Specify a read timeout for connections here. The default is 30 seconds.
read-timeout = 30000

# Enables compatibility with HAProxy's PROXY protocol. If you don't know what this is for, then
# don't enable it.
haproxy-protocol = false

# Enables TCP fast open support on the proxy. Requires the proxy to run on Linux.
tcp-fast-open = false

# Enables BungeeCord plugin messaging channel support on Velocity.
bungee-plugin-message-channel = true

# Shows ping requests to the proxy from clients.
show-ping-requests = false

# By default, Velocity will attempt to gracefully handle situations where the user unexpectedly
# loses connection to the server without an explicit disconnect message by attempting to fall the
# user back, except in the case of read timeouts. BungeeCord will disconnect the user instead. You
# can disable this setting to use the BungeeCord behavior.
failover-on-unexpected-server-disconnect = true

# Declares the proxy commands to 1.13+ clients.
announce-proxy-commands = true

# Enables the logging of commands
log-command-executions = false

# Enables logging of player connections when connecting to the proxy, switching servers
# and disconnecting from the proxy.
log-player-connections = true

# Allows players transferred from other hosts via the
# Transfer packet (Minecraft 1.20.5) to be received.
accepts-transfers = false

[query]
# Whether to enable responding to GameSpy 4 query responses or not.
enabled = false

# If query is enabled, on what port should the query protocol listen on?
port = 25565

# This is the map name that is reported to the query services.
map = "frfrnocap"

# Whether plugins should be shown in query response by default or not
show-plugins = false

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant