Server Option Possibilities


  • In the FAQ it suggests that the system requirements for a server are based on how large you want the world to be. Does that mean the world is scalability according to the capabilities of the server? Or is there a software limitation?

    I would think that the software should be able to scan the server capabilities and suggest a world size according to the capabilities and the mods enabled, however I'm not entirely sure what server capabilities are required. It says that more CPUs are better, but, for example, would upgrading the GPU make any difference if the server is not going to be used by an active player? Suffice to say, there are many options. For example, one server I found can use 4 Intel Xeon E5 2.10 GHz with 18 cores each (or more GHz and less cores) and 3 TB DDR3 RAM and 4 Gigabit Ethernet ports. Would something like that be overkill though? I mean, no matter how powerful the server is, it's only as fast as the internet connection. Although with 4 Ethernet ports it might be possible to use multiple internet connection lines. Still, how much does the server need to communicate with each user?

    In regards to web server options, what exactly could a private server pass to a web server and what does the web server require to function? Does it need to have it's own IP address, or can it be a shared web server? What could a web server allow the players to do?

    In either case, suppose I run a server. Can I separately play from a computer that connects to that server with server credentials? Or do I have to actually play on the server itself? So suppose I configure a server specifically for handling a a large planet with many users, but configure a separate device with a graphical focus. I would naturally want to long in from the separate device, but still be able to access server settings as required. Is that possible? Or will I need to use a separate license for the server and terminal?

    In regards to installing mods, I really liked the idea of having the server install mods that propagate to all the users, but in regards to texture or graphical mods this could present a problem. Suppose, for example, I were to enable 8k graphical mods at some point in the future. Now suppose a given user just can't handle it. Could I, as the server admin, enable an option of several graphical mods and allow the terminal users to decide which mods to activate on their end? For objects it makes sense to make sure all computers have it, but for graphics and textures there is no reason why the players can't choose a lower quality texture that I make available to them while other players use higher quality textures.

    Oh, and in one of your videos it was pointed out that teachers can set up scenarios for the users. What kind of options can the admin expect to have in setting up the world setting? And could the admin restrict certain government types if the teacher wants to teach the students about a certain social dynamic?

    Lastly, how will users find available servers? Will there be some kind of a central server that all the servers connect through to match players up with worlds? Maybe with some preview of the worlds, world settings, world size, etc? Can worlds be set to invite only and later changed to public?


  • 15
    Posts
    7692
    Views
    Log in to reply


  • Basically how game server hosting works is:
    Game server software usually don't have a graphic interface, the reason is, most servers don't have xorgs installed (graphic interface) It's usually text-based. This is for example how SRCDS (Counter-Strike:Global Offensive server looks like) <img src="http://sejbr.max-play.pl/srcdsserver.png" />
    Only occurrences of server software needing xorgs I've seen is Arma2 since it had to be hosted on wine and had only graphical interface. Otherwise servers use whatever GPU is lying around, just so the monitor can be connected (Can't quite install the operating system and configure the server without the monitor :D).
    Hosting quite a few game servers, including minecraft didn't max out 100mbit ethernet connection with around 400 players. Still depends on the game but 4gbit would be overkill by a long shot. Game Servers usually are most heavy on CPU and RAM, and that also depends on the game but I can't see how it could itself could take more than 4 full cores (cores/ghz depends how much the game scales on multiple cores. If it uses them correctly, more cores the better. If not, more GHz would be better) and 8-16gb ram, even with quite advanced simulations. Poorly optimized Minecraft (Few years back. Now I hear it improved a lot) didn't achieve that much.

    Web server can be on the same machine and ip as the game server. There should not be any problems with that. And as the server has to have external ip to be playable publicly, the webserver would be on the same ip. You'd use it the same way as normal website, but instead using domain (if you don't have one) you'd put the ip in the browser.

    As far as automatically detecting the default size by the server, that wouldn't quite work. What machine has doesn't always equal to what the game server will get. The example would be hosting the server on machine which already has some servers of other games and how much resources they use (which may vary every minute, where more players count towards higher resource use on most servers. Empty CS:GO Server takes close to nothing, and goes to use more than one core and 1gb ram depending on server tickrate and player count).



  • Thanks for the indepth explanation! It's good to hear that it's largely text based! Even better to hear that it could host multiple games at the same time with low bandwidth.

    In regards to DDR4 RAM: Which is better: More RAM or Faster RAM? I know that as the amount of RAM increases the slower that RAM becomes. LRDIMM can go up to 3 TB while RDIMM can go up to 1.5 TB. RDIMM doesn't loose as much speed as LRDIMM, but still has quite a bit of a loss especially at the higher points. So when running one of more game servers which is more important?

    You make a good point about the issue with automatic detection, but I think that it could work with a slight adjustment. For example, the program can look for machine or cluster resources and then ask the user how much of that would be dedicated to being used by the game. The game could then suggest a maximum world size given the features enabled. That would probably be better than having the average user try and guess it, and even better than putting an arbitrarily limit on server size given the technology of today - especially since a cluster of inexpensive obsolete servers could reasonably provide super computing performance.

    Although it's nice to know that the server won't need intensive graphics, I have to wonder how effective the admin can test out and implement graphically intensive mods. Is there some inbuilt way to access all of the server features from a separate computer on the some LAN? I suppose the graphical terminal could be put in a cluster with the CPU and RAM oriented server, but I thought that if the machines don't have the same hardware clusters don't work as well.

    Oh, and if I were to have a new server on a budget, can you refer me to a good product that would work well for hosting, say, this game along with minecraft, Skyrim (with online mod), and some random shooter game to be used with testing a group of VR machines on a LAN? Each game would be running at separate times, so it wouldn't have to run them all at once. I'm just looking to figure out how much it would cost. Although I am only expecting to run 6 virtual reality machines each with their own omnidirectional treadmill to start I am also looking to expand that in the future so I'd like to use the same server with dozens of locally hosted machines. Since I don't need hundreds I doubt I will need "top of the line", but I don't have a good concept of what will actually be needed.



  • I'd like to clarify, that I'm just saying how it generally works. You kinda phrased some sentences like I'm talking about Eco specifically. Just so we're on the same page here :P.

    More RAM for sure. Haven't seen anything that would push RAM to the limits but I have seen a game which would eat RAM like cookies (Minecraft :P). My SysAdmin friend thinks the same.

    That would work but in this case we'd be forcing developers to do extensive testing on variety of hardware so that the script would be accurate. I think It's best to put it up to the hosting party. Hosting is mainly testing and debugging (with plugins or mods) to fix any crashes, incompatibilities and so on. You should test what works best for you. We could write some scripts once servers are available thou. I've seen someone in introduction said that He's writing game server management software for himself, so do I. I figure we could get something working.
    Community will sort this out. Since already I've seen people with VPS/Dedicated machines willing to support the cause, stress testing could go there, and the results put in a management script.

    You're missing the point a bit. Server is what it is - a server. It only calculates stuff that is sent to the client and processes data from the players. Graphic intensive mods doesn't change much on the server side. Graphics are done on the client side. You could mod the game with 16k textures and all the server would do is send them to the player and tell him to show them in specific place. All the rendering will be done by the player. Hence the server don't need fancy graphic cards since the client does all the hard work.

    If you do want to have a server in LAN with another PC, with Linux server you can just install SSH and connect through terminal (Linux->Linux) or Putty (Windows->Linux). Then you'd access the server via "command line" and use it by text. But I guess that question was connected to the graphic mods and I've corrected that above.

    The cheapest remote machines are in OVH at least for my region. But if you do just want to test some things on LAN, I'm not sure why you'd need a dedicated machine. Simply download the servers for windows or your OS and run them on your PC. If you won't have a lot of players it should work just fine and at no cost at all since you probably own the PC.
    Building a dedicated server is almost always as costly as normal PC or even more since servers should use higher quality hardware because of being on a lot more than normal PC would. Even if it doesn't need a graphic card worth $1000 :P. Minecraft might be the only problem because as I said it likes to eat your RAM. But from what you're saying I'm assuming It would be max 20 players. Normal PC should handle it. As for Skyrim Online Mod, seen it. Will wait a while before going in, at least until NPC are synced. But I'm not sure how those server work. If it's external software or if it runs along with the game. If the second one, dedicated machine would have problems due to graphics. But if you do want to build one, check some hosting companies and their machines. All of them list the hardware in specific machines, so you could work something out.



  • Oh, I know that graphics are not handled by the server. The issue is that in one of the demonstration videos it was mentioned that mods are installed by the server which is then propagated to the users. My confusion here is if users can use different graphical mods than the server and if the server can still make these mods available.

    Good point with the server management issue though. I didn't think about it like that. I guess I was just imagining the world size to be a linear scaling where more of X = Y.

    Good thoughts on using the PC as a server initially if it came down to it.



  • I have not any info about client<->server mods. Most likely server mods will be sent to all clients and client mods will be disabled if the server doesn't have them unless it's graphical only mod or something.
    The way it's done in Valve Source Engine Servers, there's a cvar sv_pure, which decides what to do if client has modified data (as, models which are not on the server and will be only visible to that one client) and it can allow client modifications, allow whitelisted modifications and disable client modifications all together.

    "My confusion here is if users can use different graphical mods than the server and if the server can still make these mods available."
    If I understand correctly, you mean allowing client to send a graphical mod to the server so that everyone would see it? Allowing clients to send mods to the server when connecting usually opens wormhole (Assuming wormholes are big xD) size backdoor for exploits. If you mean client having custom graphical mods which would change the same things as server mod, I'd suppose the server mod would have higher priority. Or It could be decided by the server owner in similar matter as the Source Engine one.



  • The issue is that if the server isn't capable of running the mod graphically it would be difficult to implement on the server side without some terminal access. I don't mind confirming on the server work station physically of course.



  • I think we're both missing something elemental in both of our ways of thinking :P. Not sure now if we should continue the matter privately to resolve it faster and without the forum spam, or continue here.
    Server doesn't need to have capability to running the mod graphically since it doesn't. Graphics are usually generated client side and the server is the thinker. Look at this that way, Client is monitor and graphic card. They do the magic of allowing you to see the game as in the trailers. The server is the tower (as in PC Tower) minus the GPU and it is responsible of making the animals kill one another.

    You send the mod files to the server, the server sends them to the client, and the client renders them.

    The other good way of saying it would be webpages. The server sees it like this :
    <code><div class="row">
    <div class="col s12 m12 center">
    <div class="card indigo darken-1">
    <div class="card-content white-text">
    <span class="card-title">TEXT</span>
    </div>
    </div>
    /div>
    </div>
    [... Some more stuff but I won't copy it for space reasons ...]</code>
    //The <.code> doesn't contain the whole text I see?
    And you on your browser see something like that
    <img src="http://sejbr.max-play.pl/webservercode2.PNG" />
    //Don't mind the text. I just enjoy SuperNatural from time to time and I'm sick of lorem ipsum.

    For putting the mod to the server you also wouldn't need any graphics since you'd do it like this:
    <code>cp -r mymodfiles/* server/mods/mymod/*</code> Then run the server, client connects, downloads the mod and there you go.



  • I understand all that. Hmm... how to explain... OK, this is what I mean:

    https://youtu.be/0xnTZZwf_a0

    As you can see in this video, the approach to implementing mods is to implement them on the server first. However, if servers are not graphically oriented, the question is how would one implement these mods.

    More importantly, I would hate to add a mod, have it propagate to all machines, and then realize the mod doesn't work right. I would want to test and configure first. That's why I'm wondering about terminal access to the server.



  • Ah, that's what you meant.

    This is how it usually works.

    Lets say you have two game servers. Closed (development) one and one or more Open (production) servers. Closed one for testing, Open for the users playing. You'd test everything on the closed one, when made sure that everything is working nicely, move it to the production and let everyone in.
    As for how to test these things, you'd install/copy mods onto the closed server (with linux remote ssh access, you'd do that with text commands, for example <code>cp -r mymodfiles/* server/mods/mymod/*</code> , without any graphics), then you'd start the closed server, check the console text output for any visible errors (lets say something like <code>There were X/None errors while loading the mods: More info below</code>), if there are none, you'd open your client (on your PC or specific machine capable on running the game itself since dedicated machines don't usually have strong enough GPU's) and test it in game. I'd assume that when hosting a server, you'd have the game copy to play on it and that's how you'd test it. No need to physically go to the server and test everything on it. Upload/Copy files to the dedicated machine, run it, and test from the warmth of your home with nice big cup of coffee in your hand.
    Since testing is done on closed servers, no one but the people with access to it would download mods which might not work.
    On the other hand, testing on production server (if you don't want or can't have a closed one) would be done with a temporary password and title/name changed to "Server is down for maintenance".



  • You could start the server & client on your pc for testing before enabling it to your actual server for others to use



  • @Scots I kinda missed the most obvious answer :D. Thank you for that xD. Occam's razor.



  • mods are just copy past and config maybe some files if needed .. no need for graphics .. that said i already started working on a graphical server tool application to make its easier for people uncomfortable with that type of control



  • Another question: Can players set up servers that are designed to only be "up" at certain scheduled time frames? If so does the world "pause" during that down time? Or, say a small group of friends wanting to play together, able to shut down the computers and expect the game to figure out what happened during the game time it was shut off?



  • depends on how you can save .. normaly server save on exit the world or at given intervals. but yea you should be able to turn it on and of as you wish


15
Posts
7692
Views
Log in to reply

Internal error.

Oops! Looks like something went wrong!