Multiplayer game logic setup! (not asking for code)

Hey everyone!

I have been learning about network programming and as I theorize about how I would implement the networking code for a game I had a few questions.

I know that a good amount of game logic should be server side (to prevent easy cheating) and the game client will be mostly for rendering the game and other players/objects. I also learned how to use Ashley, and wondering now how did I ever not use that for my other more complicated projects (not game related). This got me thinking…

Would it be wise to have Ashley on both the server and client? The server could handle spawning of various entities (including other players) in the game world and I could send this data and have the game client use Ashley to manage rendering these entities. To maximize the efficiency of the server, I was wondering if I could use Ashley without libgdx. I have heard of a “headless version” of libgdx that doesn’t include the rendering code, is this a better option?

EDIT: Also I have heard of Netty and Kryo libraries. I see Kryo isn’t being updated any more and Netty still is. Would you guys recommend me using a networking library for stability and ease of use?

Also if you have any other advice about structuring my server side logic, please let me know!

Thank you!