Welcome to Keen Software House Forums! Log in or Sign up to interact with the KSH community.
  1. You are currently browsing our forum as a guest. Create your own forum account to access all forum functionality.

Yet Another Linux Server Thread

Discussion in 'Multiplayer' started by scroll_tro0l, May 18, 2017.

Thread Status:
This last post in this thread was made more than 31 days old.
  1. scroll_tro0l Trainee Engineer

    Messages:
    48
    Dear KSH,

    I know this discussion has been beaten to the ground but it's important enough to be worth bringing up, again. This post includes Medieval Engineers.

    Questions:

    Why are there still no plans for Linux? Specifically for servers.

    What are the specific reasons why KSH has removed Linux from the table? Is it too difficult to do so because of the engine? Is KSH lacking in resources or expertise in those environments? If one obstacle could be, magically, removed to make way for Linux, what would it be?

    What would it make it worthwhile for KSH to reconsider?

    What would need to happen for KSH to reconsider their current stance on Linux. Does KSH feel that there is not enough community support for this? Does the MP scene in these games need to be bigger?

    Argument:

    I don’t want to make a lengthy case for Linux because I’m more interested in a discussion with KSH. I want to reiterate a few of the reasons for why it’s a worthwhile venture.

    1. Server maintenance for Linux-based servers is more reliable. This gives server maintainers more time and a better platform so that they can focus on a better server experience.

    2. Servers will be cheaper to maintain. More people will be able to afford (both in terms of money and hardware resources) running an SE server.

    3. KSH will be able to diversify their portfolio and knowledge of working with non-windows platforms.

    4. The challenges of creating a new server may present new angles to addressing current problems.

    The bottom-line of the issue here is that running a SE or ME server is not an enjoyable experience. That experience drives away prospective server admins who would have otherwise been important assets in making both games more enjoyable for MP players.

    Continuing the Discussion:

    I’m interesting in hearing back from both KSH and what my fellow players have to say. Do you agree or disagree with any/all points? Are there some suggestions? Should we create a petition to poll the community’s interest in this? Perhaps with some discussion we could come to a creative and effective solution to this issue.
     
    • Agree Agree x 1
    • Disagree Disagree x 1
  2. rexxar Senior Engineer

    Messages:
    1,530
    Not happening. It is not worth the time and money it would cost to port the entire game for a few thousand users.

    /thread
     
    • Agree Agree x 1
    • Disagree Disagree x 1
  3. scroll_tro0l Trainee Engineer

    Messages:
    48
    I don't want to be rude rexxar but I put some effort in writing this post hoping we could get more than what has already been said in other posts. I'd appreciate it if I could some more of your time in return. Could we get some more details please?

    Furthermore, I emphasized servers in my thread, I don't mean a binary for clients. Right now the game has about "a few thousand users" playing at one time anyways. That represents the entire active playerbase at this moment. Linux binaries for servers will affect all of those few thousands of players.

    Thanks.
     
    • Agree Agree x 1
    • Disagree Disagree x 1
  4. sigma1212 Trainee Engineer

    Messages:
    1
    on the level of a developer that doesn't give a rip about its client base this is a prime example of one!!!
    this man that has been a member for a year LONGER than he rexxar himself asked a extremely relevant in depth question.
    apparently its not worth addressing.

    "its not worth the time and money"

    that's great advice ill pass on to anyone that is looking to purchase the game!!!

    its exactly the kind of effort id expect form an early access game that doesn't want to move forward.
    keep up the good work!!!
     
    • Agree Agree x 1
    • Disagree Disagree x 1
  5. Phoera Senior Engineer

    Messages:
    1,713
    i wrote already, this is not easy task, and it will not do big efford.
     
    • Agree Agree x 1
  6. Kurazarrh Apprentice Engineer

    Messages:
    209

    1. Can you please describe how and why Linux-based servers are more reliable? What, specifically, makes them more reliable? Anecdotally, I've been running various games, SE included, on Windows-based servers since 2010, and I have literally never had the server go down due to my choice of OS.
    1a. "Giving server maintainers more time" is discounting Linux's learning curve. Most of the player base is already familiar with Windows, and learning Linux is a daunting task. If it's going to give YOU more time, that's great, but it sounds like you're already familiar enough with Linux that you skip the desktop and run everything through the terminal. This is not the case for the VAST majority of people, even gamers.
    1b. If your answer is, "These people should just learn Linux!" then my obvious response is going to be, "Maybe you should learn Windows!" So please don't go there.
    2. Possibly, but only by $100 or so, depending on what you plan on doing with your SE server. Running a small server for yourself and a couple friends can be accomplished with a spare PC running Win7Home. The difference in resources used by the OS has next to no impact on SE's performance. If you need a bigger beast, you still really only need to focus on the hardware. There's little reason to go out and buy a server OS for an SE server box, considering SE is so heavily focused on single-core performance.
    3. KSH creates video games. Who plays video games? Windows users. The market for Linux gamers, even for "just" a server port, is so small, that they would, in all likelihood, never recoup the development and support costs. Remember, KSH is a business. Businesses stay open by making money, not blowing it on negative-ROI projects (well, unless you're Tesla, but that's a whole different scale). SE and the server software is written in C#, which does not natively run on Linux. You can sort of get it running (unhappily) with various C# emulation tools, but asking KSH to rewrite their server code with something that is platform-agnostic (or worse, maintaining TWO separate sets of server code) is absolutely ridiculous. That's doubling the maintenance cost of the server code while generating next to no additional revenue.
    3a. By the by, "just" a server port isn't a thing. The server actually runs the game, so the entire game would have to be rewritten from scratch. Not "essentially" from scratch. I mean from absolutely nothing.
    4. Yeah, but it'll create new problems, like blowing all their money and personnel resources on creating and maintaining little-used server code instead of adding new features, fixing bugs that already exist, and improving the rest of the game.

    "Yeah, well that's just like, your opinion, MAN."

    No, but seriously, it is. Similarly, my opinion and experience is that SE server maintenance is probably among the easiest tasks I've dealt with since I started hosting my own servers. I hardly ever touch the thing. It restarts every day at 6am, backs up the way I want it to with a really tiny PowerShell script, runs at near 1.0 sim speed almost all the time, etc. The only time I have to even worry about the server is when there's an update or if I need to restart the box it's on (due to Windows updates... and that's pretty much the only reason I ever take the server down). From my perspective, anyone having trouble maintaining an SE server is probably creating their own problems. But that's just like, my opinion, MAN.

    By the way, in case you weren't aware, @rexxar is working extremely hard to improve the SE server experience. He picked up SE Server Extender back when Dodexahedron dropped the project, and now he's working on Torch, a successor to SESE. SESE already does a ton of awesome stuff to make servers run better and be easier to maintain, so I can't wait to see what's in store for Torch. Sure, maybe the features he's working on should be included in the vanilla DS application. Maybe someday they will be, or maybe KSH will decide (or has decided) that the integration and acceptance testing time is too costly, but honestly, most games I've come across with their own DS servers have additional support from community projects, so it's not that big a deal.

    I want you to know that I'm not saying that a Linux server option would be a bad thing. More options (especially for power users like myself) are generally a good thing. It just happens that SE is not written in code that can just be ported to other operating systems, and even if it could be, it might still be too costly to maintain.
     
    • Agree Agree x 1
  7. rexxar Senior Engineer

    Messages:
    1,530
    There is nothing to be said that hasn't been said ten thousand times already. The entire game must be ported. The only difference between DS and a client is the renderer. You still have to port the entire engine.
     
  8. scroll_tro0l Trainee Engineer

    Messages:
    48
    @rexxar Then why can't we have a discussion about decoupling the server from the game? If this question has been answered "ten thousand times" then surely it's important enough to us that we'd appreciate it being reconsidered. I'm not trying to underplay the difficulty of doing such a thing, I just want to see the issue reevaluated.

    @Kurahzarrh I'm aware of rexxar's contribution, I've been here a while. Also, please note my emphasis of Linux for servers, the contrary is a common misconception. I made it clear that I'm not talking about the game.
     
  9. rexxar Senior Engineer

    Messages:
    1,530
    There is nothing to discuss. It would cost a lot of time and money, and we would not earn it back.
     
  10. Malware Master Engineer

    Messages:
    9,579
    With all due respect; the misconception, it would seem, is yours by thinking there's a significant difference. The server is the workhorse, it runs all the logic, all the physics, everything. Meaning, the only thing really that differs from a client is the lack of a renderer.
     
  11. scroll_tro0l Trainee Engineer

    Messages:
    48
    @Malware How so? I've heard many times that the issue are windows-specific libraries. What non-rendering operations are being done by these windows-specific libraries that don't exist elsewhere? If they're building a game that's reliant on well-written physics, wouldn't they benefit from either doing this in-house or switching over to a better and more universally accessible library?
     
  12. Malware Master Engineer

    Messages:
    9,579
    Switching over to a different physics library is a lot of work. Doing physics in-house requires a lot more work and will introduce interesting new bugs. Also, simply because they say it will be too much and I have no reason to doubt their judgement on their own game.

    Saying that the issue is windows-specific libraries is true, but a bit of a simplification. If this game was created a little later, when the cross-platform .net was closer to what it is today, and created with cross platform in mind from the start, there might have been a chance. Heck, the original game wasn't even created with multiplayer in mind. Now, it's too late. The game is too close to being finished. If you have seen the source at all you know these guys haven't exactly been well-behaved when it comes to code compartmentalization. Any large refactoring will be too large.

    Let it go. We can't win this one. Nagging about it isn't gonna change anything, they already know that many people would like it, but not enough... they have judged it too costly versus potential gain - which, I'm sorry to say, isn't as much as you might think. Your point 1 is irrelevant because the Windows servers themselves have been proven good enough - the server racks themselves haven't been the problem, 3 and 4 are irrelevant because they have no need for the experience. They don't need the non-windows users, there's too few of them to be worth it, so the time used to gain this experience doesn't hold weight. Leaving just 2, which is more of an advantage to server owners than Keen - but requires server owners to learn Linux.
     
  13. ChoMar Trainee Engineer

    Messages:
    93
    It really is a shame. Space Engineers (and a few others) taught me that any Early Access game that doesnt run Linux Servers isnt worth setting up a Server.
    Its a good lession. That money for SE is gone, but following this advice might save you money in the future.
    And it might save your loyal members that use those servers money and headache as well so they hopefully stay loyal members longer.
     
    • Agree Agree x 1
  14. Roxette Senior Engineer

    Messages:
    1,396
    Citation needed. ;)
     
  15. Malware Master Engineer

    Messages:
    9,579
    Why? I don't need to prove anything. Whether you believe what I'm saying or not is irrelevant. You can accept my interpretation or you can choose not to. Either way, they're still not gonna do it :p

    Besides, if you haven't paid attention to what's going on that's your own fault ;)
     
  16. Stradosphere Trainee Engineer

    Messages:
    40
    1) Servers are not more stable than Windows environment. I'm familiar with Ubuntu Servers and Windows as well. I've been using both of them for quite sometime. Linux has it's advantages and disadvantages, same goes for Windows as well. But in this case, i would not prefer Linux and i got couple of reasons for that.

    Linux is free, i get that;but support for every distro is kinda requires knowledge. Even between distros there are couple of problems and i don't wanna get into elitists who literally believes, Linux is the best;but won't contribute a thing because people has to learn it by the hard way. So, that's why Linux does not support many games and sometimes requires Windows through VM, that's tasking as well for beginners...

    2) If we are talking about GSPs, most of them are using virtual environment to run game servers. Some of them allow you to adjust the amount of ram or number of cores, which again are virtual. So if we are talking about those costs, they are using 1 let's say 8 core 16 machine to run several virtual servers. If game requires 4 cores to operate, physical machine may share four of it's cores to run the game. This may be like 4 real cores vs 2c/4t cores, that entirely depends on cpu and it's pinning and virtual environment. So Linux won't change a thing in this case, if game can utilize 6 cores, your servers can use up to 6 cores on both Windows and Linux. And at this point, there will be no "cheaper" choice in the first place. Other than free linux vs paid windows.

    At server side, fixing everything on Windows is a lot easier, compared to terminal Linux. Especially if we are talking about a dedicated server, which requires several values to operate stable. Even now, majority of the player base and those who setup servers, actually using templates on Hosting websites. Few and more experienced ones are using dedicated servers and directly managing their resources, game settings, updates and so on and if you have a spare pc in your house, you can easily setup SE DS in a few minutes. Non-windows platforms requires more support than a popular platform. That's always been the case, that's why Linux or any other non-Windows platforms gets less support compared to Windows. Something free does not mean you can get every bit of information easily or can become an expert in a short amount of time. Non-Windows platforms also include Mac as well.
     
  17. Sirius_Black Trainee Engineer

    Messages:
    2
    SE is Still in the Beta Stages what makes you think its almost finished?
     
  18. 101m4n Apprentice Engineer

    Messages:
    130
    I was on the torch discord earlier today to ask an unrelated question. But best I can tell from chatting with the people over there, the game is drowning in technical debt. I have (albeit limited) experience working on large group software projects, but what I have learned is that beyond a certain point, messy code becomes nearly impossible to maintain or improve in any meaningful way. Kinda like trying to add an extension to a structurally unsound building. Eventually there is little alternative but to tear down most of what you have done and do it all again, avoiding as many previous mistakes as possible. This can work early on in a project, but for massive established multi-year efforts like SE, it's just a non-starter. This pretty much kills any chance of cross platform support (if ever there was any) in the crib.

    It's a shame really, survival/sandbox games like SE live and die by their multiplayer gameplay (think minecraft). They thrive on users being able to quickly whack up a server and play with some friends, but the SE DS is offputtingly obtuse, even with something like torch to take of some of the rough edges. Though the in-game "host my world for mates" feature mitigates that problem somewhat.

    Lastly there's microsoft. The game is developed in VS, uses directx for rendering, and is written in c#. Oh, and it's coming to xb1 too. So to put it bluntly, it's m$'s grubby mits all over it. Make of that what you will.

    So yeah. SE is never coming to linux, ever. Well, maybe a few years to a decade from now when WINE catches up to it ;)
     
  19. mccorkle Trainee Engineer

    Messages:
    26
    <disclaimer>I am a professional Linux Sysop who spent a lot of time getting dedicated server working under wine pre-planets.</disclaimer> With that said, I believe it would be a *much* better investment of Keen's time to continue to experiment with and work to resolve issues around the current platform before they consider branching out to a Linux server at all.

    Best use of your energy is to find a crazy smart network programmer or someone with Havok physics engine experience who likes building code for Linux servers and send them to Keen. Keen is hiring for that job right now. http://www.keenswh.com/jobs.html
     
  20. Danpiel Trainee Engineer

    Messages:
    1
    So there is no plans to decouple gameserver from game engine/textures and migrate it to .NET Core instead of .NET Framework ?
     
Thread Status:
This last post in this thread was made more than 31 days old.