Chickynoid, server authoritative character replacement

Are you using aimlock = 1 for your custom character?

Where is it located? I can’t find the value anywhere

See the /examples/ folder for how to make a custom character. In the player simulation constants, set aimlock = 1

Are you able to give an in depth explanation of the bitbuffer module? I know it can encode and decode information really well, but how can I write custom code to apply it to other situations, for example updating entities.

How would this work with vehicles, planes, etc? I always implemented vehicles with VehicleSeat by calculating everything on client.

Hello, I have decided to use your tool for developement for my game, It seems stable enough and has enough features to make a propper game with, Im really amazed with the work everyone did for this system I believe it has the future of roblox on it’s hands, I have been reading the code trying to understand what everything does and how physics are simulated recently.

But an issue I find yet is that this tool is hard to use, but not because it wasn’t designed forr begginers, because simply it lacks documentation, It has been hard to even spawn a player because of how many things you need to do which theres almost no information on how to, regardless pretty good system I already even started modding it to support R6 and to be compatible with my game.

Looking foward to this tool, people should start using chickynoid more. And again thank you MrChickenRocket and everyone who was involved on it’s developement for writing this its an impressive technical masterpiece

image
might need to modify it to support server sided characters for limb dammage lol.

2 Likes

I think this is explained on the Chickynoid talk, keep in mind this video is long and goes in depth into complex terms (Not even I could fully understand it) Code - Seminar 22 - Peter McNeill (MrChickenRocket) on networking in ChickyNoid - YouTube

1 Like

I feel like this could be usefull if anyone else is developing on chickynoid, if you need a meshpart to have collisions for some odd reason, you can do this, To do this you must install the plugin Mesh Editor - Roblox then with this plugin you will be able to import your model as a bunch of wedges into studio, which then you can utilize as a collider to put inside your meshpart

Do not do this with really complex meshes like these too much as it can get very expensive to simulate collisions for these kinds of objects specially the way the tool does, try and use simple colliders for any of your meeshparts and only use this technique when absolutely necesary

2 Likes

Sometimes the module just completely bugged me without telling me of any error when I added more bridges. It’s annoying to debug this.

1 Like

Hope you find a fix for your problems.
I have also been having some issues with it, like the interpolation code making other players who are constantly jumping look like they are flying,
Or character movement by camera not replicating to the server or other clients which is very annoying because games that rely on first person movement like mine, look absolutely weird like this.

And it’s most likely these issues will not get resolved since from what I heard this module’s developement is done and not much progress will be done on it since the whole Rift failure situation, so its up to the users to rewrite and fix issues like these.

(I would like to state that it is not the dev’s responsability to fix these issues, the module itself is impressive and even if it’s truly done I am gratefull it exists, I just made this comment to point out some issues)

I strongly agree. I would love to use Chickynoids in my games, but I don’t even know how to use it’s features. Documentation would help so much! I’ve been following Chickynoids for a while lately, I hope to see some tutorials or docs for it in the near future!

4 Likes

is this still getting updated? @MrChickenRocket

Feature wise it’s paused, but there are a couple of scheduled changes that will happen once roblox releases new features:

  • (confirmedish) shapecasts
  • (confirmedish) unreliable remotes
  • (unconfirmed) steppable humanoids

I will update the documentation at some point, and if I have a personal project that requires updates to it, I’ll commit those, too.

2 Likes

Thanks for staying commited to this project I really love it

Do you think you could add camera looking replication for characters?, when players move their character on first person, I have noticed this isnt replicated, for now I guesss I can write my own code for this as a mod for chickynoid but I would like it to support for this officially to make it more secure

Also custom netcode for chickynoid ive been making for my game to play animations on all clients for the character model :fire: (Also yes this saves server performance a lot)

1 Like

If you need all other players to see your view angles, that data is already in the command structure - we use it for gun aim. If you need additional data the correct thing to do is to write that data to the command structure sent to the server every frame. You’re free to append anything you want in there.

Also, chickynoid already uses local animation playing for all clients: that’s handled via the CharacterData object. You should probably add events to trigger bespoke events to the command structure via a client mod, and then have the server mod trigger the animation, vs going around what’s already meant to happen - otherwise you’re just undoing the security.

2 Likes

The issue is i dont think the current way to play anims “from the server” is cool because from what i could understand theres no wait to do stuff like :Wait() animation from the server or connect any other events, And I mean this makes sense considering they still need to be played from everyone’s clients on their character copies.

Also the way I utilized does not go arround the security everything is still managed by the server and does not gives the client any sort of control

And thanks for the view angles ill deffinetely use it for player camera movement and if needed i will interpolate it

@MrChickenRocket Yo uhhh sorry for annoying you today if asking a question does but I have a few questions regarding the server raycasting for weapons, it seems I read further and found out about it but not sure what it does

Is this a raycast/hitscan from the server that works only for chickynoids?
Is this a hitscan that is lag compensated for server sided hitboxes? (Because if so I was planning on actually scripting a lag compensated hitbox for my game but if it already has one I should prob use it)
What exactly does it do and how does it works?

Is this a raycast/hitscan from the server that works only for chickynoids?

Yes

Is this a hitscan that is lag compensated for server sided hitboxes?

Yes

What exactly does it do and how does it works?

It predicts weapons locally on the client. It has support for both instant-hit weaponry and projectile-travels-over-time weaponry.

On the server, it keeps track of where everyone was at the time you fired your weapon, and does your hit detection against that.

Omg lets go thats awesome.
Yeah honestly I was looking to do a system like this since like what, 4 months ago but kept having issues because I would not be able to get rid of roblox’s deffault interpolation and buffer issues which caused it to misspredict so much only using the current player’s ping, which then lead me to custom humanoids, which ended up in me finding about chickynoid.

Im gonna read how it works to be able to do my own system if possible, since my weapons require a bit more than just hit scan since they are like a hit scan melee but they have a sphere and raycast “scan” for making aiming with them more easier
image

Go for it!
As long as you timestamp your attacks on the client, it’s pretty easy to do your hit detection on the server at the “correct” time.
Check out antilag.lua for some ideas.

1 Like