Xonotic Forums
URGENT: 0.5 compatibility with recent development versions - Printable Version

+- Xonotic Forums (https://forums.xonotic.org)
+-- Forum: Community (https://forums.xonotic.org/forumdisplay.php?fid=6)
+--- Forum: Xonotic - News (https://forums.xonotic.org/forumdisplay.php?fid=2)
+--- Thread: URGENT: 0.5 compatibility with recent development versions (/showthread.php?tid=2454)



URGENT: 0.5 compatibility with recent development versions - Samual - 12-18-2011

Hey guys,

I have something rather important to tell you -- Recently we have finally completed a working client-side networked players system... Essentially, the player entities are controlled on the client instead of the server, allowing the client to do things like control the animation of the model and various other things. I'll quickly go over the problems of this system, and then tell you what it brings to the game/future of Xonotic.

It breaks compatibility with 0.5 clients in a few ways... The biggest way though is movement prediction - See, in order for this feature to work properly, the engine needed updates which 0.5 just does not have. So, if you play with an old engine on a server with CSQC players enabled, you will not have client side movement prediction, and movement will feel very laggy or broken.

On the plus side, lets take a look at what this achievement actually brings us: For now, the biggest new features are "forcemodels" and client-side playermodel LOD for better performance.
  • Forcemodels allows you to force all other player models to your own model, so for example: If a server doesn't have fullbright skins on, you can simply select them and force them upon all the other enemies regardless of what the server has.
  • Client side playermodel LOD works similar to the old LOD, however now it doesn't interrupt the animation, so it is MUCH more seamless and fluent.
  • Additionally, this opens many more possibilities in the future than just this... potentially including: Ragdolls, player damage effects like fire/plasma, animation blending/smoothing/segmentation, dual weapon wielding, client side weapons (no latency when firing/attacking), etc etc etc... of course, those all need the work put in to implement them: but still they're possible now.
Upon/soon after the next release (0.6), this system will become entirely mandatory -- however right now, git server owners have a choice. You can disable CSQC players with the cvar shown below... If you run a server from git which is a tournament or public server, I would recommend disabling it, simply to keep your players able to play the game uninterrupted. However, we also do need testing on this to ensure the next release is as stable as possible... so please do keep that in mind.

Code:
set sv_use_csqc_players 1 "set to 0 to disable CSQC players for better Xonotic 0.5 compat"

It should be noted that disabling CSQC players on a server DOES mean a loss of some functionality, like server-side LOD no longer works (so we don't have duplicated code) -- but it should function pretty much the same for most people.

Thanks everyone, and please spread the news, we'd like to avoid as many "OMG WHAT'S WRONG WITH THE PHYSICS ON THIS SERVER" bug reports as possible.


RE: URGENT: 0.5 compatibility with recent development versions - nilyt - 12-18-2011

there are quite a few people I believe, who run without client-side movement prediction anyhow if their connection allows,
since more exact player positions means better hit chances.

great stuff this is Smile
I can see <insert next point release number here> coming up!


RE: URGENT: 0.5 compatibility with recent development versions - Lee_Stricklin - 12-18-2011

Not a server owner, so I aint gonna vote. However I think it would be smarter to keep everything set up to work with stable releases first and unstable releases (autobuild, git, etc.) second. With that said, I think most servers should disable CSQC players while only a handful of test servers keep it. Maintaining compatibility with the stable clients right now is especially important, because I've noticed the game's small player count increasing quite a bit, even if it's only one or two guys there's almost always someone online somewhere when I check and lately there's actually been new players from North America getting into the game.


RE: URGENT: 0.5 compatibility with recent development versions - Mepper - 12-18-2011

I have autobuild. Does this mean that this new stuff already works for me?


RE: URGENT: 0.5 compatibility with recent development versions - Sepelio - 12-18-2011

Sounds very interesting, although I've been playing quite rarely.


RE: URGENT: 0.5 compatibility with recent development versions - D_W - 12-18-2011

Well this makes me excited for 0.6!


RE: URGENT: 0.5 compatibility with recent development versions - Sless - 12-19-2011

I'd remove this CSQC thingy on my server.

If it aint compatible with any previous Version you can download, or even the official 0.5 release - it simply makes no sense to "outcast" new players.

The playerbase on public servers isnt that good anyway - by making servers "laggy" for newbies or "original 0.5" users would be just ... *ew* Undecided


When this comes with a new offical Xonotic number (like 0.6 or so ;-) ) I'll update my server. Otherwise ... no.


Btw.: Whats about having the "new version" installed as player (client updated) , but the server runs "pure" 0.5 (server not-upgraded)?
Will the game lag as well, or will there be no visible difference ?


RE: URGENT: 0.5 compatibility with recent development versions - Lord Canistra - 12-19-2011

Wonderful news. Yet I don't see how this is a big problem. Why not release an intermediate update (0.5.1 or so) with this and some other stable features?


RE: URGENT: 0.5 compatibility with recent development versions - asyyy - 12-19-2011

(12-19-2011, 04:24 AM)Lord Canistra Wrote: Wonderful news. Yet I don't see how this is a big problem. Why not release an intermediate update (0.5.1 or so) with this and some other stable features?

Would be a great option if possible. 0.5 is way behind + most server are running a git version anyway.


RE: URGENT: 0.5 compatibility with recent development versions - Samual - 12-19-2011

We're decently close to 0.6 anyway, regardless of the fact that 0.5.1 or 0.5.5 isn't really an appropriate name for our progress.... additionally, most players still wouldn't update to a minor release like that, a lot of them stick with the original medium version until next release.

Anyway, let me clarify some things:
  • New clients playing on 0.5 servers are unaffected by this, they will function just like 0.5 without CSQC players perfectly fine.
  • If you use autobuild or git system, then yes you have the new features already functioning.
BTW, we can understand that Sless, but it's not totally game breaking -- it's just like having cl_movement 0 - It would be a major problem if and only if a client LITERALLY cannot play on the server. Of course i'm fine with you disabling it on your server(s), but still it's not THAT bad.


RE: URGENT: 0.5 compatibility with recent development versions - nifrek - 12-19-2011

Would a client only updating the engine still be affected? I'll be using git anyway, but just curious as that's an easy enough fix if it works for other people that don't want to use git or redownload everything. As in, the engine is a pretty small download.


RE: URGENT: 0.5 compatibility with recent development versions - Samual - 12-19-2011

Yes, if you replace the engine of a 0.5 client, that works too... that could be a fix for some people.


RE: URGENT: 0.5 compatibility with recent development versions - asyyy - 12-19-2011

Do people still get that "client version and server version are compatible" message when connecting with a 0.5 client to a latest-git server?


RE: URGENT: 0.5 compatibility with recent development versions - Samual - 12-19-2011

Yes, that does not change -- again, the clients are still technically compatible/playable. ^_^


RE: URGENT: 0.5 compatibility with recent development versions - asyyy - 12-20-2011

Technically right or not, it's gonna make xonotic look like a laggy crapgame to new players. Let's test it in pickup games instead where everyone is on irc and can be helped out on how to update their client. You'll also receive more detailed feedback that way.