Carpet

Carpet

2M Downloads

Can't now use /player <name> spawn in version 1.18

whes1015 opened this issue · 31 comments

commented

IMG_20211207_142214

commented

IMG_20211207_142731
IMG_20211207_142713

commented

Your client and server are in Chinese. Can you try setting them both to English and retesting?

commented

Carpet is currently incompatible with Geyser

commented

Carpet is currently incompatible with Geyser

What's you mean? Just can't use command in Geyser?

commented

Your client and server are in Chinese. Can you try setting them both to English and retesting?

An unexpected error occurred when trying to execute the instruction

By the way, console didn't display any error

commented

This is a duplicate of #1142. Same cause, a common dependency between geyser/floodgate and tabtps.

If you are having this issue because of tabtps, Carpet also has that feature, setting /carpet defaultLoggers tps will give you the server's TPS on the tab overlay. If it's because of geyser, it still has to be resolved.

commented

Edit: See below, caused by TabTPS

Can confirm on a dedicated server (without Geyser):

/player Steve spawn returns "An unexpected error occurred trying to execute that command".

Server console shows this: Steve[local] logged in with entity id 913 at (224.5, 68.0, -190.5)

No actual player gets spawned.

commented

What exception do you get in the log when you run the following:

kill Steve
carpet superSecretSetting true
player Steve spawn
commented

Likely same exception as #1142

commented

What exception do you get in the log when you run the following:

kill Steve
carpet superSecretSetting true
player Steve spawn

kill Steve
[Server] [00:23:01] [Server thread/INFO]: No entity was found
carpet superSecretSetting true
[Server] [00:23:26] [Server thread/INFO]: superSecretSetting: true, [change permanently?]
player Steve spawn
[Server] [00:23:39] [Server thread/INFO]: Steve[local] logged in with entity id 805 at (-80.0, 69.0, 80.0)
[Server] [00:23:39] [Server thread/ERROR]: Command exception: player Steve spawn
[Server] java.lang.NullPointerException: Cannot invoke "io.netty.channel.Channel.attr(io.netty.util.Attributel
[Server] at net.minecraft.class_3244.handler$zzg000$adventure$initTracking(class_3244.java:2161) ~[int]
[Server] at net.minecraft.class_3244.(class_3244.java:202) ~[intermediary-server-1.18.jar:?]
[Server] at carpet.patches.NetHandlerPlayServerFake.(NetHandlerPlayServerFake.java:15) ~[fabric-]
[Server] at net.minecraft.class_3324.redirect$zdf000$replaceNetworkHandler(class_3324.java:2477) ~[int]
[Server] at net.minecraft.class_3324.method_14570(class_3324.java:169) ~[intermediary-server-1.18.jar:]
[Server] at carpet.patches.EntityPlayerMPFake.createFake(EntityPlayerMPFake.java:65) ~[fabric-carpet-1]
[Server] at carpet.commands.PlayerCommand.spawn(PlayerCommand.java:316) ~[fabric-carpet-1.18-1.4.56+v2]
[Server] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:263) ~[brigadier-1.0]
[Server] at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:177) ~[brigadier-1.0]
[Server] at net.minecraft.class_2170.method_9249(class_2170.java:262) ~[intermediary-server-1.18.jar:?]
[Server] at net.minecraft.class_3176.method_13941(class_3176.java:340) ~[intermediary-server-1.18.jar:]
[Server] at net.minecraft.class_3176.method_3813(class_3176.java:325) ~[intermediary-server-1.18.jar:?]
[Server] at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:823) ~[intermediary-]
[Server] at net.minecraft.server.MinecraftServer.handler$zbo000$modifiedRunLoop(MinecraftServer.java:3]
[Server] at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:663) ~[intermediary]
[Server] at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) ~[intermediary]
[Server] at java.lang.Thread.run(Thread.java:833) [?:?]
[Server] [00:23:39] [Server thread/INFO]: An unexpected error occurred trying to execute that command

commented

Likely same exception as #1142

I took away GeyserMC it still happend(The problem)

commented

What exception do you get in the log when you run the following:

kill Steve
carpet superSecretSetting true
player Steve spawn

I use the same command in game,got the same response

commented

I did some digging, this is caused by tabtps. I assume it does not handle fake players.

commented

I did some digging, this is caused by tabtps. I assume it does not handle fake players.

I use tabtps and carpet in 1.17.1,it work

commented

I did some digging, this is caused by tabtps. I assume it does not handle fake players.

The problem just appear in version 1.18

commented

I just confirmed it works as intended with a fresh dedicated server running only Fabric and Carpet.
This is a TabTPS compatibility issue (and maybe a secondary issue with Geyser, not sure).

commented

Likely same exception as #1142

I took away GeyserMC it still happend

Check the stacktrace, it will now point to adventure, which is a lib used by TabTPS.

commented

For reference:

java.lang.NullPointerException: Cannot invoke "io.netty.channel.Channel.attr(io.netty.util.AttributeKey)" because the return value of "net.kyori.adventure.platform.fabric.impl.accessor.ConnectionAccess.getChannel()" is null
        at net.minecraft.class_3244.handler$zzg000$adventure$initTracking(class_3244.java:2161) ~[intermediary-server-1.18.jar:?]
        at net.minecraft.class_3244.<init>(class_3244.java:202) ~[intermediary-server-1.18.jar:?]
        at carpet.patches.NetHandlerPlayServerFake.<init>(NetHandlerPlayServerFake.java:15) ~[fabric-carpet-1.18-1.4.56+v211130.jar:?]
        at net.minecraft.class_3324.redirect$zdg000$replaceNetworkHandler(class_3324.java:1977) ~[intermediary-server-1.18.jar:?]
        at net.minecraft.class_3324.method_14570(class_3324.java:169) ~[intermediary-server-1.18.jar:?]
        at carpet.patches.EntityPlayerMPFake.createFake(EntityPlayerMPFake.java:65) ~[fabric-carpet-1.18-1.4.56+v211130.jar:?]
        at carpet.commands.PlayerCommand.spawn(PlayerCommand.java:316) ~[fabric-carpet-1.18-1.4.56+v211130.jar:?]
        at carpet.commands.PlayerCommand$$Lambda$4529/0x00000000aea80700.run(Unknown Source) ~[?:?]
        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:263) ~[brigadier-1.0.18.jar:?]
        at com.mojang.brigadier.CommandDispatcher.execute(CommandDispatcher.java:177) ~[brigadier-1.0.18.jar:?]
        at net.minecraft.class_2170.method_9249(class_2170.java:262) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_3244.method_14370(class_3244.java:1228) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_3244.method_31286(class_3244.java:1212) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_3244.method_12048(class_3244.java:1195) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_2797.method_12115(class_2797.java:30) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_2797.method_11054(class_2797.java:7) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_2600.method_11072(class_2600.java:21) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_2600$$Lambda$5769/0x0000000000445380.run(Unknown Source) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_3738.run(class_3738.java:18) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_1255.method_18859(class_1255.java:151) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_4093.method_18859(class_4093.java:23) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_24306(MinecraftServer.java:780) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_18859(MinecraftServer.java:162) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_1255.method_16075(class_1255.java:125) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer.java:762) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_16075(MinecraftServer.java:756) [intermediary-server-1.18.jar:?]
        at net.minecraft.class_1255.method_5383(class_1255.java:110) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer.java:740) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.handler$zbp000$modifiedRunLoop(MinecraftServer.java:3365) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:663) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:270) [intermediary-server-1.18.jar:?]
        at net.minecraft.server.MinecraftServer$$Lambda$5291/0x00000000aebe8fb8.run(Unknown Source) [intermediary-server-1.18.jar:?]
        at java.lang.Thread.run(Unknown Source) [?:?]

net.kyori.adventure.platform.fabric.impl.accessor.ConnectionAccess.getChannel() comes from https://github.com/KyoriPowered/adventure-platform-fabric which is a library used by TabTPS.

commented

Even if you only use fabric api and carpet, you can still repeat this error 100%

commented

I just confirmed it works as intended with a fresh dedicated server running only Fabric and Carpet. This is a TabTPS compatibility issue (and maybe a secondary issue with Geyser, not sure).

I have no idea

commented

This is a duplicate of #1142. Same cause, a common dependency between geyser/floodgate and tabtps.

If you are having this issue because of tabtps, Carpet also has that feature, setting /carpet defaultLoggers tps will give you the server's TPS on the tab overlay. If it's because of geyser, it still has to be resolved.

I use /carpet defaultLoggers tps and still can't solve problem

I use Geyser+carpet,it work

Use Geyser+carpet+tabtps,has problem

commented

Agree. Same issue, vanilla + carpet 1.18

commented

I too have the same issue without TabTPS and Geyser/Floodgate Fabric. (I do have Geyser/Floodgate on a Velocity Proxy, but sure that cannot mess with Carpet can it?

commented

The actual mod that is incompatible is adventure-platform-fabric, a library used by an increasing number of mods (like blockbot, mods command, and probably more). If it's not loaded in your logs and the issue also happens please make a new issue.

I doubt it's the proxy.

commented

The actual mod that is incompatible is adventure-platform-fabric, a library used by an increasing number of mods (like blockbot, mods command, and probably more). If it's not loaded in your logs and the issue also happens please make a new issue.

I doubt it's the proxy.

What time will pull request be merged

commented

@altrisi I tried your fork and the issue still persists. The only mods I could think that use that lib is Krypton and possibly Fabric Proxy Lite.

commented

I’ll send logs when I get home

commented

Ok, if you turn on superSecretSetting before running the command the logs will likely contain more info.

commented

its because another person named whes1015 is already on the server
try something like steve or herebrine

commented

its because another person named whes1015 is already on the server try something like steve or herebrine

No,You can try it

commented

its because another person named whes1015 is already on the server try something like steve or herebrine

It's not a name problem,That just I want to prove the mod is working