Is there an engine that supports clients using different CSQC code than the server? If not, would this be feasible to implement?
Announcement
Collapse
No announcement yet.
Separate CSQC on clients
Collapse
X
-
its pretty trivial to enable this. particuarly in demos (even when the server did not have any csqc at all).
the issue is with compatibility. ssqc sends messages to the csqc that only the csqc can parse. different versions of the csqc and you get different message, resulting in 'illegible server messages'.
plus it potentially opens up the door to cheats (which is why its blocked except for demos).
so no, there is no real merit in supporting csqc that does not match the server.
it would be feasable to restrict such an incorrect csqc module from being able to see any entities (basically blacklist a whole load of builtins), such that it wouldn't be usable to create an aimbot. however, there are other cheats that could be made with it, and there's also the whole compatibility nightmare. Plus if the ssqc does send mod-specific things then the whole thing explodes.
fte does allow addon progs to be loaded within the same qcvm, but this typically requires the server's csprogs to call the 'addprogs' builtin, hence why its allowed, it can also easily devolve into hacks.
fte's csaddon.dat feature thing (which contains fte's rtlight editor etc) is special only in that the engine does the addprogs thing itself (in all other ways, csaddon.dat is just a renamed csprogs.dat that can also act as a 'hostile' addon) - however the client only loads it when cheats are allowed (including singleplayer), hence why its supported.
Comment