{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreihnnkgqrfwiygpxznl4pmhfxwetdf4cboupvvtccr7oqaeced6q4i",
    "uri": "at://did:plc:dxjzgxe7cvirxkwfjr2tjspt/app.bsky.feed.post/3mi4ih23wnwh2"
  },
  "path": "/t/networked-zay-es-optimization/49441#post_1",
  "publishedAt": "2026-03-28T07:19:39.000Z",
  "site": "https://hub.jmonkeyengine.org",
  "textContent": "I’m using networked zay-es for an RTS game, and I’ve noticed the server memory usage is running amok for the few components and states I have. I’m in the middle of debugging/optimizing and noticed one thing that I need to address.\n\nI try to roughly follow the architecture of MonkeyTrap and recently switched from NetworkedEntityData to a RemoteEntityData object. It’s server authoritative, and the client sends regular network messages, as requests.\n\nFor the GUI, I have an EntitySet for the units. In the GuiAppState, I check:\n\n`if(!units.applyChanges()) {`\n` return;`\n`}`\nIt’s also throttled.\n\nIf there are updates, I check entityData for some additional components, that may or may not be there:\n\n`CloseCombat combat = entityData.get(entityId, CloseCombat.class);`\n\nI noticed that this yields a lot of error messages (Udp or Tcp):\n`ERROR [com.jme3.network.kernel.udp.UdpConnector@7e87465f] (RemoteEntityData.java:679) - Received component data but no request is pending, id:0`\n\nI assume this is bad practice.\n\nWould it be better to create a state/component that contains this information? I guess I just answered my own question, especially since I could reuse that information in other places.\n\nLeaving it for posterity, and possibly confirmation",
  "title": "Networked zay-es optimization"
}