User Tag List

Results 1 to 6 of 6

Thread: Question for Coders/Devs

  1. #1
    Senior Member
    Join Date
    Jan 2019
    Posts
    172
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question for Coders/Devs

    What is the biggest 'thing' that takes up the server's processing power?


    I'm curious because I'm wondering if I should make a gitlab to remove some stuff, but TBH I need more information, what's causing all the lag?


    Here are the things I know that cause lag:

    1: Connections, input, and feedback (A.K.A Player-base) this is ... well ... unavoidable and not really fixable, lol
    2: Decals and 'flavor' sprites. Can be solved by some sort of auto-cleanup
    3: Statistics tracking (I've noticed it's been more lag filled since it's been added over these couple months) TBH, the only thing worth 'tracking' IMO is medals, not bullets or how many times I hit or missed or killed or FF'ed.


    ... is there anything else?
    Is an Ambidexterous marine and xeno main.

    Anekcahap "Kneecap" Volkov
    Agent X41833N

    "Some of the best words are never said, but are rather understood."


  2. #2
    Senior Member
    Join Date
    Jan 2019
    Posts
    159
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    It's probably best to wait until open source comes to CM13 and look through the code for redundancies/poor programming practices and post the PR yourself.

  3. #3
    Member
    Join Date
    Nov 2019
    Posts
    79
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Have devs said they were going to make the game open source? I always thought the CM staff adamantly opposed becoming open source.

  4. #4
    Primordial Member
    Join Date
    Dec 2018
    Posts
    1,902
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Rocco Ward View Post
    Have devs said they were going to make the game open source? I always thought the CM staff adamantly opposed becoming open source.
    Furscord says just that.

    Whole "closed source" shtick was just archaic shit from Apop era. Finally came the time of realization, that you can't restrain your grease monkeys with some silly oaths. Time of realization, that its the only way.

  5. #5
    Senior Member
    Join Date
    Apr 2019
    Posts
    137
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I'm not a developer for this server, but I am a software developer. I can provide some answers, or at least some educated guesses.

    1: Dealing with large user bases is all about scalability. It is actually fairly avoidable and fixable. Lots of software avoids it but putting a cap on the server population. The problem is then solved by having more servers. Google handles the thousands or millions of requests they receive per second by having a ton of servers. They just shuffle each request to an appropriate server.
    The other way to help with this is to shuffle the work from the server side to the client side. The most recent change log notes that they changed how bodies are rendered on screen so that they are assembled client side. It was a small change, but I can only assume it was meant to help with lag.
    Yet another way to help deal with a growing user base is to throw more/better hardware at the problem. That's what they did at my last company. The problem with that is that it quickly becomes prohibitively expensive. Also, a quick Google search informed me that the SS13 engine is not setup to take advantage of multiple threads when running, which would really limit this approach.

    2: I can't say much about this. It does seem to help when they cleanup the map.

    3: Statistics tracking shouldn't add too much overhead. Computers are good at the type of math involved with that tracking, adding numbers whenever X event happens. I'm only guessing that they have that offloaded to another server too, since this is one of the things that could be fairly easily offloaded.

    Given all of that though, the biggest hangup is without a doubt that byond isn't setup to run using multiple threads. There are feature requests going back to 2008 asking for multithreading support. I mentioned that throwing more hardware at a problem is a legitimate if somewhat expensive way to solve scalability issues. Byond is setup so that it really isn't possible to use extra hardware at all. Only being able to run in a single thread bottlenecks the game by the processor speed. The fastest processors that are available right now (that I'm aware of at least) would have problems running the game without lag once the player count gets up there. That's why the switch to SS14 is so exciting.
    Last edited by UnwaveringGrey; 03-17-2020 at 07:37 PM.

  6. #6
    Senior Member
    Join Date
    Jan 2019
    Posts
    172
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you UnwaveringGrey.

    ... this explains a great deal, so there's nothing much, or at least substantial to be done code-wise is there?


    Thank you for the response.
    Is an Ambidexterous marine and xeno main.

    Anekcahap "Kneecap" Volkov
    Agent X41833N

    "Some of the best words are never said, but are rather understood."


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •