How to make Client must install a mod(which is installed on Server) to join in Server?
FeelingBored opened this issue · 10 comments
I have Reigster a Entity Type(and Renderer, Model for it) and SoundEvent for the new Entity which I make, and a Item.
I remap the jar and put it in my server's "mods" folder.(It works in client.)
and then I wonder if I can join in the server without installing this mod in my Minecraft Launcher.
the result is that I can join in without installing the mod, and can use summon to spawn the new Entity.
But what made me confused is that the new entity's model is the PigEntityModel(I guess the renderer same).
And then I create the new Item with command "give".Show the message"给予 玩家xxx xxx".But cannot seen anything in my inventory(but actually the itemstack exists.cannot seen and select or anything.)
I wonder if there exists a way to make sure the client which connect to the server must have installed the specific mod or refuse to connect like forge
?
I try to search for some relative message form the english wiki and 中文(Chinese)wiki of fabric.
and read about the fabric.mod.json
nothing was found but my sadness.(it takes so long time :( )
Help me please!Thanks. :)
I think pig was the result since the entity type registry will by default select the Pig entity type. If your server was running in dev, different rules may apply there with connecting clients. A real server (whether integrated or dedicated) with fabric's registry sync installed should be kicking the client if the client does not understand the registry sync packet.
Not exactly. Fabric has some mechanisms to to prevent vanilla clients from joining on a real modded server. Some of these mechanisms might not be enabled in dev.
I havent got that mean...
I try to installed a mod which add a lot of item on curseforge on my real server and dont install it on my client like before.
But it still can join in the real server.
i dont know how to enable the mechanisms about "prevent vanilla clients from joining on a real modded server" you told me
could you tell me?please..!
the "vanilla" is translated as "香草醛", I couldnt got it real meanings.
after asking my friend.I got what "vanilla client" is. =_=|||
Hmm, maybe registry sync doesn't enforce registry mismatches with vanilla clients. Not 100% sure on that. There are plans for a future "mod handshake" system which would give mods control on allowing or denying clients based on missing items, mod versions or other arbitrary things.
Hmm, maybe registry sync doesn't enforce registry mismatches with vanilla clients. Not 100% sure on that. There are plans for a future "mod handshake" system which would give mods control on allowing or denying clients based on missing items, mod versions or other arbitrary things.
OK.I got you.
I try to use the custom packet to prevent the mod uninstalled client to connect the real server, before the future coming.
Thank you~ : )
Not exactly. Fabric has some mechanisms to to prevent vanilla clients from joining on a real modded server. Some of these mechanisms might not be enabled in dev.
I dont know how to explain the "real server" when I sent this issue.
But when I read this reply, I got it.
All the "server" I speak means "real modded server"
sorry for I dont know how to explain the word so that make you misunderstand that I dont test in a real modded server. ;-;
I think pig was the result since the entity type registry will by default select the Pig entity type. If your server was running in dev, different rules may apply there with connecting clients. A real server (whether integrated or dedicated) with fabric's registry sync installed should be kicking the client if the client does not understand the registry sync packet.
Did you mean that I need to send a custom packet to the client?
I dont know what "Fabric's registry sync" is. :(
where could I find about it?
Not exactly. Fabric has some mechanisms to to prevent vanilla clients from joining on a real modded server. Some of these mechanisms might not be enabled in dev.
May I ask a off-topic question here?
Does Fabric do some kind of client-side mod check? Can we have a mod that does not register anything to registries but still need to be installed on both sides?
So since this is the purpose of #463 can someone close this please ?