Some recommendation for a good wiki provider?
Today shio and I focused on testing maps with a large amount of doors. Found some unlovely behaviors and bugs related to the increased entity and submodel count. The VM and the engine limit the entity count to 1022 and the submodel count to 256. In the old version of client-dependent entities this amounts were reached quiet fast. A map with 100 touchable doors was producing 200 entities per client (100 doors and 100 door-triggers). So basically the entitiy limit was reached with 5 clients (not to mention that there are other entities). Also each door of each client used a submodel-slot so the third client could only see 56 doors instead of 100. This was fixed today (I guess it took me 7-8 hours). Now the submodels are shared between all client-doors so the amount of clients will not affect the limit. And the door-triggers are only spawned once per door. We also have the plan to realize door-touching without an additional trigger-entity (the base q3 code simply spawns a trigger-entity around the door!) to reduce the entity limit more further. Of course this would be introduced as a spawnflag to be compatible with existing maps. Any change we make takes care of compatibility.
Moreover it is planned to make the new trains client-dependent too and maybe other func-entities and items.
Some other things happened the last days: I improved the shooters and doors to make them more useful for maps. For example now even shooters can interact with client-dependent doors in a correct way. Client-dependent doors can be reset (e.g. closed) when the player dies. This will also be possible for trains. In that way maps could be retried without the need of a complete map restart (which is painful on servers
).
We also plan an intelligent behavior for client-login if client-dependent entities are enabled. Consider the case that 20 clients connect to a server with a map with 100 doors. The server will shut down because the entity limit is reached. This isn't very joyful or desirable. It would be cooler if the VM detects that the next login of a client would lead to an entity limit exceeding and force the new client to be a spectator instead. Moreover client-dependent entities will not spawn when a client connects but if the client spawns as a non-spectator. You could have unlimited spectators on the map and won't be able to crash the server by connecting too much clients to a map with client-dependent entities.