ARK: Survival Evolved

ARK: Survival Evolved

View Stats:
Verdinato May 21, 2015 @ 10:40am
A Question about Servers and Mods.
Hello, I've done a bit of question answering, but now I have a question myself!

So, I am going to use Don't Starve Together as my example case here, simply because I love how they do mod/server interaction, but since I type too much as it is, I am just going to shorten it to DST. =)

SO, my question is: How will custom servers with mods enforce mod use?

For example, in minecraft, if you don't have the mods the server uses, you simply can't join the server, which, well sucks to be quite honest. However is DST, the server downloads all mods used by the server host to the clients, meaning you don't have to play "hunt the mod" anytime you want to join a server. One things DST DOESN'T (and I wish it did) is tell you what mods are downloaded from the server, so that I know exactly what I am getting into. It doesn't have to give a description of the mod (though a properly titled mod should be a good description), but just the name and *bonus points* a link to the workshop page for you to see for yourself.

If you have an answer already to this problem I would be happy to hear it, if not hopefully my dreams come true and you use mine? XD

Also feel free to discuss other mod-handling concerns here as well, As I feel this is kinda a large elephant in the room that needs to be discussed in more detail. Should a server be able to ban certain mods from being played on it? How does it do so? When mods conflict between the server and client (i.e. server want all T-rexes to be pink and you want them all rainbow), who should priority go to? Questions like these, while not important right now as modding won't come till a little after EA release, I feel should be discussed before it -becomes- a problem. =)
< >
Showing 1-10 of 10 comments
Apop85 May 21, 2015 @ 10:42am 
Hey Verdinato

Maybe this one could answer some of your question:

Originally posted by Wildcard Jat:
Some game server companies may choose to host their own, however we'll have some dedicated running that you guys can connect to! As to what sort of server you'll need to host, this is what one of the Developers has to say:

Originally posted by Drake:
Yep, you can host your own dedi servers, and you have super control over the administration of them (ban lists, white lists, passwords, and tons of game options), as well as hosting mod maps (with dynamic in-game downloading using Steam Workshop).

However, the requirements to host a full-scale server are pretty high currently (we expect to do much optimization in this area post-EA launch):

For ~100 players, you're looking at approximately 4 GB RAM per game instance, about 20 GB storage (since we don't do a separate content build for the dedi server it has all the client content unnecessarily included, at least for now), and the CPU speed is sufficient but you can expect 1 core to be fully utilized 100% by the game thread, with another core approximately 30% utilized (physics and networking and async I/O).

Hope that helps!

-Drake


So if they've got the hardware to, then yeah they could.


Greetings Apop85
Verdinato May 21, 2015 @ 10:48am 
Ok, so it does appear that dynamic downloading of mods appears to be a go, so that is good, but still the question remains how much control a server owner will have over what mods are played on their server. Can they ban them actively (simply clicking a box next to a mod and saying "ignore any changes this mod makes") or will they have to police players, and ban people who they suspect is using an illegal mod. Will server owners be able to see what mods people are using when they connect? or will they simply have to guess a mod is in use by a player's actions?

Because since the client is told to not be trusted by the anti-cheat, how does one even make use of "personal" (i.e. only I see the effects of the mod, no everyone else) mods in the first place?
Last edited by Verdinato; May 21, 2015 @ 10:50am
Apop85 May 21, 2015 @ 10:58am 
Some more quotes ;D :
Originally posted by Drake:
Indeed oXYnary, VAC is very little protection, though it's better than nothing. The only true protection is complete server authority on all player movement, gunfire, all inputs. Clients just sending inputs to the server. Also you need aimbot detection (which VAC can help with as well as some server-side algorithms). ARK has all of the above, at EA launch (this makes our server applications rather RAM and CPU expensive, but that is the price of security) -- and we will be ever vigilant :)
Originally posted by TheRightHand:
It's difficult, because for the most part, unless you've worked on games, or at least worked inside of a client+server architecture, the words "server-authoritative" are meaningless to you; it's even still a bit esoteric when you hear "the client just inputs commands to the server", or "the server just replays the movements and sends them to the client", because people don't really understand the consequences of this kind of architecture.

Essentially, the way our game is structured, is such that your client, the thing you use to play the game, anything you input from your computer has to talk to our server, and our server serves as a referee.

We set the rules, of course, on our server. On games like Rust, H1Z1, etc, they have their server "trust" the client with some things. For instance, it may trust the client to tell it where your character's position is in the world, or what direction your character is facing. It might "trust" the client to tell it how fast your character is moving, or it might "trust" the client to tell it when damage is taken.

This architecture (Client+Server authoritative) makes it possible for hackers to "lie" to the server, because the server trust the client. So the hacker can make the client tell the server "I did not take damage" any time that the player takes damage, and so the server "trusts" the client, and just accepts that the player did not take damage, even if they did.

With a server authoritative architecture (the kind we use), we do not trust the client about ANYTHING. The client does not get to say if you took damage, or how fast you are moving, or what direction your character is facing, etc. The client can only send your inputs to the server, so if you say "I'm flying", the server does not trust you, so you simply cannot fly. If you say "I did not take damage!" the server does not trust you, so you will still take damage. All of this information is calculated on the server, which is under our control (at least on official servers.)

When you press "W", though, the server gets a notification that you pressed "W" and then goes ahead and moves your character in the way that pressing "W" would move your character, and then tells your client that you moved in a specific way.

If you tell the server that you just fired your gun, and your target was someone who was behind you, the server will know that that action was impossible, and will simply ignore your impossible action. Afterall, the client is not to be trusted, so if the client SAYS it did something, but the server disagrees, the server is always right. Always.

So, after we've established that nobody can convince the server to do anything that's impossible inside the game (such as flying, or shooting people through walls, or shooting them from a million miles away, or preventing fall damage, etc.) we've got to acknowledge that there are hacks that can directly target your software: Aim bots, edits that remove trees/bushes/walls/etc. The effect of these can be mitigated by the server-authoritative architecture (such that, for instance, if someone shoots at you from across the map while you are in the jungle, and they can see you, they still can't actually stop the trees that would be in the way from existing (server says they exist, server is always right.) so their bullet will be calculated by the server as having hit a tree, and that's that.

But we will have VAC! And VAC is extremely good at catching people who use these software-based hacks. These kinds of hacks, while impossible to prevent in an active way, can be dealt with passively (with bans by VAC and by server admins, and us!).

So, these two things together will make it very difficult for people to gain any substantial advantage through hacking.

Naturally, we'll be keeping an eye on this, and encourage users in Early Access to not just attempt to hack our game, but to tell us if they succeed, and to reveal their methods so that we can patch anything that might come up or be possible to prevent on our end. We'll probably offer bounties or other such encouragement to get people who enjoy hacking who decide to come to us with their methods, as well.

Hope that helps :)

- The Right Hand

Apop85 May 21, 2015 @ 11:04am 
But i really don't know how the menu is looking like or what you have to do to banish them. I think you will only be able to play with the mods the server tells you.
Last edited by Apop85; May 21, 2015 @ 11:04am
Verdinato May 21, 2015 @ 11:12am 
Ok, I mean, i had read all these before, I had just never looked at them in the light of what it means for non-malicious mods. Basically from what I can glean the only way to make a personal mod would be to translate the description the server was giving to the client ( i.e the trees are green) into what you want (the trees are yellow) before displaying the results graphically. This would (if i am assuming this to be true, client-server architecture is not something I am familiar with) also mean it would be possible for someone to disable things such as custom skins from the server if they were given the option to do so, as it would simply be a matter of translating what the server wants you to see (the trees are yellow) back to what you want to see (the trees are green).

Please feel free to correct me if i am wrong, I do enjoy using only the correct information =)
Apop85 May 21, 2015 @ 11:14am 
Originally posted by Verdinato:
Ok, I mean, i had read all these before, I had just never looked at them in the light of what it means for non-malicious mods. Basically from what I can glean the only way to make a personal mod would be to translate the description the server was giving to the client ( i.e the trees are green) into what you want (the trees are yellow) before displaying the results graphically. This would (if i am assuming this to be true, client-server architecture is not something I am familiar with) also mean it would be possible for someone to disable things such as custom skins from the server if they were given the option to do so, as it would simply be a matter of translating what the server wants you to see (the trees are yellow) back to what you want to see (the trees are green).

Please feel free to correct me if i am wrong, I do enjoy using only the correct information =)
i would like to know this by my self :)
Apop85 May 21, 2015 @ 11:30am 
I was thinking about it and i really hope that this is not possible :) because people will start to create transparent textures to look trough walls and "turn off" grass
Verdinato May 21, 2015 @ 11:38am 
Originally posted by Apop85:
I was thinking about it and i really hope that this is not possible :) because people will start to create transparent textures to look trough walls and "turn off" grass
oh true, and those to me fall under "malicious" mods. I am curious however if they don't allow such methods of creating personal mods, the what point (other than making a single player server) would non-server-owning players have of even browsing the workshop? unless there was a way for mod pages to list what servers used them...
Keter Dec 12, 2017 @ 6:27pm 
I got a question how can you put a mod to a multiplayer server right now im using extinction core server
heroicidiot Dec 12, 2017 @ 6:28pm 
Originally posted by talasiladitya:
I got a question how can you put a mod to a multiplayer server right now im using extinction core server
...you necroed a thread you could of just made one yourself specific to your question.
< >
Showing 1-10 of 10 comments
Per page: 1530 50

Date Posted: May 21, 2015 @ 10:40am
Posts: 10