matso · Master of Patches


Last Active
Members, Forum Moderators, NS2 Developer, Constellation, NS2 Playtester, Squad Five Blue, Squad Five Silver, Squad Five Gold, Reinforced - Shadow, NS2 Community Developer


  • Ah, you need to hack the engine a bit. Not very difficult - the interp buffer is already a variable so you just need to add some support to actually set it from lua.

    Oh, and you need to tell the server how much interp buffer each move is…
  • The rule is simple - the more lagged you are, the more aggressive you must play. If _you_ move around the corner and surprise the opponent, then _you_ have the "total latency + 200"ms before they can react. If you wait behind the corner ... well.
  • The part of the healing code that decides if something should be healed is ... a bit weird, to say the least. The reason you get double healed as a gorge is that the gorge is always in the list of entities to be healed ... and then the weird part of…
  • I find it useful to split player retention in two parts; The Bounce is how many new players "bounce off" after trying. The Leak is players that stops playing the game after a long time.

    Some game have a low Bounce but a high Leak. You pl…
    in NS3+UE4 Comment by matso December 2015
  • Mmm... "The Bounce And The Leak" is the terms I use for new player bouncing off after trying and experienced players quitting, respectively.

    Nice to notice that you did not bring up performance.

    Things are improving.
  • (Quote)

    The problem isn't really lack of ideas ... it's more a lack of people skilled and interested enough in implementing them (and priorities; not much use trying to attract people to NS2 before the engine can run the game well en…
    in NS3+UE4 Comment by matso December 2015
  • (Quote)
    Mm... relevancy distance is 40m, so the engine offloads entities beyond that range. There is a reason why there are usually large crates breaking long sight distances - mappers have to hide that.

    That, bw, is a performa…
    in NS3+UE4 Comment by matso December 2015
  • While performance can still be increased, all of the easy and most of the not-so-easy stuff has been done. Getting more performance out of the engine is certainly "possible" - if you include stuff like re-architecting the engine and rewriting most o…
    in NS3+UE4 Comment by matso November 2015
  • This MAY actually be related to NAT mapping; ie the same problem as described in http://forums.unknownwo…
  • Yea, DC_Darkling supplied me with the log. The crucial part here is these two lines:

    Client connecting (
    [17632.463] Main : : Ack 225 outside sequence window 255 - 127

    This shows …
  • Can you upload the log? The stuff before the ack-spam starts may contain a lead to what the issue is.
  • The game_setup.xml file it is looking for should be the one in the ns2 directory (ie a path like ".../steamapps/commons/Natural Selection 2 Dedicated Server/ns2/game_setup.xml").

    If that file is present, the only thing I can think of tha…
  • (Quote)
    Backup servers are there to ensure that clients have somewhere to download the mods a server uses; servers don't use them.

    Servers uses steam to ensure that their mods are uptodate, but should not really be affected by …
  • Mmm... yea, for AI units or structures (which are in the same timeline as the elevator), having the elevator move them is probably simplest - though I guess you can get results where the elevator pushes a structure into another structure; maybe that…
  • Up until 275, the render thread has never been the bottleneck in actual gameplay; when the frames got low, the UpdateWorld thread was always been the culprit.

    Which means that the render thread have never been optimized.

    in 275 Feedback Comment by matso July 2015
  • You really don't want the elevator to be the active entity; you want the player to know that stuff around him is moving and adjust his movement accordingly.

    And sorry, I don't really know of an easy way to get a generic model collision w…
  • Yea, you have to modify the base move mixin to make it work. There is also a bunch of other code that interferes; there is the step-movement code that resets vertical velocity to zero when you touch the ground which leads to the player falling down …
  • (Quote)
    What I have been looking at is manipulating the _velocity_ of players rather than their position. It solves the problem of elevators shifting players into geometry (because you are not changing the position of the player) and it al…
  • (Quote)
    The problem with lag compensated games and moving elevators is that each player shown has its own timestamp; when you watch a player you are not seeing the player where the player is now, but where he was some time ago.

  • Hmm... maybe being able to call for a "Keep Uneven Teams" (KUT) vote if skills are too uneven?

    Like a reversed FET vote - the FET is done if the vote _fails_. So rookies/afks automatically vote the right way.
  • Most of the time when that many mines are blown up at the same time, the server tick interval hits into the multi-second range and then recovers... sometimes it takes a minute or two.

    But I did manage to actually trigger something that l…
  • oops :-)
  • Tried to repro that, but I must have blown up upwards 100k mines now without getting any hc ... could you take a video showing how you do it so I can be sure we are doing the same thing?

  • Thanks! A repro for the hc will pop it straight up to the top of my todo list... it has been occupying the top spot on my "I really should be looking into this but I don't know where to start list" for quite a while now.

  • (Quote) Hmm says 214 players average last month. 14 days of  214 players produced about about 72000 hours, so spreading that over 14000 players says …
  • Yea, that's what I meant when I said "great version control". You need to be able to evolve NS2 while still allowing people to run mods on old versions of the game. Not easily done though; you would basically have to keep stable snapshots of complet…
  • Modding never really took off because the whole modding system was never fully implemented/supported.

    Granted, _fully_ implementing/supporting a mod system (in which I include great tools, great documentation and great version control) w…
  • (Quote)
    Never denied that there were something wrong with it - too many videos showing that - but as noone could find a way to reliably reproduce it, finding it was just too hard.

    Also, as the game has good enough hitreg to be …