Chickynoid, server authoritative character replacement

to answer your question, no chickynoid doesn’t has a way to use the model for limb damage or headshots or anything like that, Rift Royale did had it but the current version of chickynoid even states as a “Todo” for that kind of stuff.

So yeah its only the hitbox for now :(, also make sure to use antilag for the lag compensation when registering hits.

Does this prevent administrative commands such as Adonis’ :fly command from working?

I will probably never use this/never even be ABLE to use it because there is no documentation on it and you have to learn by looking at its code.

1 Like

The simple answer is: Most likely.

anything that you coded for default roblox humanoids, will not work here, it’s all custom, No tools, no player scripts, no server sided model replication, no roblox physics,no nothing!.

You must manually create a lot of systems yourself, and suffer!

3 Likes

Chickynoid V2, still for some reasons does not flags changes for other anim channels changing nor does it plays animations from other anim channels, despite characterData literally replicating records with other animChannel data included.

So I decided to update my CharacterModel script fork once again so people can utilize other animChannels once again on chickynoid V2.0

Enable other animChannel support for Chickynoid - Resources / Community Resources - Developer Forum | Roblox

1 Like

I’m struggling to find out how the CharacterData.serialized is updated from the server.

The "event"s that are passed through the UnreliableRemoteEvents seem to mainly consist of frame numbers, syncing, and the direction that my character is facing, but no animation/serialized related stuff.

Is there a main way that all data is replicated to each client?

The whole state should just be there magically. The reason it seems minimal is that its doing a lot of work to only send deltas.

1 Like

Did it not work out in the end?

Yep.

We could barely get 64 players running well with this due to high server cpu demand when we shipped. Most of that time was spent managing packing buffers for clients, funnily enough.

So we went back to roblox with a list of things we’d like to get fixed and added to the engine before we’d try doing something like this again.

They were:

  1. UDP
  2. Shapecasts with margins
  3. Faster buffer packing operations
  4. Better actor performance for multithreading
  5. Ability to force players to render the world to a certain level of fidelity (graphics setting 1 players couldn’t see who were shooting them, even if their fps were high)

Since the closure, roblox have added 2 of those (udp and buffer), with shapecasts+margins coming soon.
Native Luau replaces the need for the better actor performance, actors in their current state are not usable.
Nothing is going to happen for #5, apparently.

So, once we had native luau, udp, and buffer, I went and updated chickynoid to 2.0, which was a significant rewrite that could probably handle 120 players pretty comfortably now.

But I don’t know if easy are going to release rift again.

7 Likes

Er, steady on there. They invested in this project so it wouldn’t have happened if they didn’t!

6 Likes

i’m currently having an issue where giant parts take an absurd amount of memory; i currently use a 1536x128x1536 part as a baseplate but it takes up roughly 13mb of vector data on both the server and client for some reason and even making it 1536x16x1536 or something still takes up about 3.4mb

edit: increasing fatGridSize in CollisionModule heavily reduced memory usage to a few kb but i feel like this’ll have problems elsewhere

1 Like

Is there any way to make Chickynoid easier to integrate? The only thing keeping me, and various others from using it in our own games. The structure is too complex to work with. If it was more flexible and allowed different code structures, like a framework, it would be more widely used.

(I have followed this project very closely for years)

I think Chickynoid does allow for different code structures or a framework. You don’t have to do everything through Chickynoid. Yes, player movement, and weapons need to be handled partially or fully by Chickynoid, but pretty much anything else you can handle however you want to.

What are you specifically struggling with? Keep in mind that you don’t have to use a large chunk of the base project if it doesn’t suit your needs or isn’t implemented how you like.

1 Like

I did a little bit of research on what sweeping the player meant, And I discovered what a swept collision was, it basically prevents objects from clipping after calculating their new position, since it calculates their whole trajectory instead.

So as a cool experiment to showcase the coolness of chickynoid, I pushed myself with a velocity of 100,000 through a jump pad, into a ceiling that’s 0.125 studs thin, and would you look at that, I did not clip through!
image

Very good physics engine.

3 Likes

The real answer to the question isn’t chickynoid sadly, authoritative framework must be done at the roblox’s engine side with just a single switch of a boolean value. What is done there is pretty good, rep to easy.gg team and to the author of the chickynoid, but honestly it’s just that what you can achieve without access to the engine side (not much, in terms of performance and compatibility, even though it seems not bad in the current state). I hope one day there will be possibility to have 500+ players with authoritative movement.

1 Like

roblox humanoids run horribly on 100 player servers and their physics aren’t even calculated by the server, yet somehow chickynoids runs way faster with 100 players.

Humanoids are just horrible, and I don’t think I can ever go back to using them.

1 Like

That’s actually reassuring. I’m yet to make ~200+ players game and I thought that humanoid can handle that. I suppose you’re pretty good at chickynoid (cus I’ve seen your replies a lot of times in this thread), can you give me advice(s) how to minimize use of server resources? I only need x,y,z movement without jump / physics, so I’ve thought there’s a way to do that.

im not that good with chickynoid tbh, i still don’t understand it to it’s full extent, but regardless.

Use a MoveType to script your movement, you can ready the MoveTypeWalking script to read how the default chickynoid scripts work (on new version this code is found as method in the Simulation Class script)

esentially you just read the cmd and simulation and create your own character controller, you calculate the velocity your character gets pushed on, and use ProjectVelocity to step the simulation foward.

2 Likes

Do other players replicate to the local player when it is not able to see them through a wall or are behind it to prevent esp and save performance?

Is there a first person type of movement system for this?

1 Like