If YOLOL chips are runned client side. Wont everyone see something different in big faction factory cause multiple people will work on it?

TGess

Well-known endo
Joined
Feb 1, 2020
Messages
52
#1
Is YOLOL executed on the client or server?
XCompWizFB (6/07/19): YOLOL is client-side.

And what if every disconects? Does the factory stops? Maybe I understood it wrong.
 

cranky corvid

Well-known endo
Joined
Aug 25, 2019
Messages
67
#2
As I understand the game's network architecture, whenever there's one or more players within render range of a construct, the client of one of those players is assigned as the construct's "technical owner" responsible for simulating that construct and sending updates on its state to other players and the persistence server. As such, there's only ever one authoritative state for a construct, though it is possible for clients rendering it to get desynchronized due to latency from each other.

If no players are in range, the construct goes dormant and its last known state is saved into server memory. In order for an automated factory to run 24/7, it either needs to be in a heavily trafficked area or somebody needs to AFK there.
 

CalenLoki

Master endo
Joined
Aug 9, 2019
Messages
741
#4
There was some talk about "world anchors" that would keep pockets of space running on dedicated servers.
It was just thrown idea, not a plan or promise.

Personally I'd provide special client that can run (simulate) pocket of space of chosen size without rendering it.
So players can run factories on optimized dedicated servers, if they want.
Or even run it from ordinary PC, but thanks to no graphical rendering and possibly much smaller space it would be much lighter than normal client.
 

riley

Learned-to-sprint endo
Joined
Jan 23, 2020
Messages
24
#5
That what was I worry about and I am not sure if I like it this way.
It is designed this way in order to reduce server load. If the world loaders aren't available you could have a secondary account sit afk in a factory to run it. I've seen that on some other games.
 

kevinTOC

Active endo
Joined
Aug 9, 2019
Messages
36
#6
It is designed this way in order to reduce server load. If the world loaders aren't available you could have a secondary account sit afk in a factory to run it. I've seen that on some other games.
I know I wouldn't like this system. this would seriously limit the potential usefulness of actual factories. I very much hope this could be changed at some point.
 

Recatek

Meat Popsicle
Joined
Aug 9, 2019
Messages
286
#7
They're looking at ways to allow players to "world anchor" parts of the universe and keep them running, but that requires an out-of-pocket cost for somebody because someone needs to pay for the computer doing that simulation. An AFK alt is essentially just a version of that.
 

riley

Learned-to-sprint endo
Joined
Jan 23, 2020
Messages
24
#8
They're looking at ways to allow players to "world anchor" parts of the universe and keep them running, but that requires an out-of-pocket cost for somebody because someone needs to pay for the computer doing that simulation. An AFK alt is essentially just a version of that.
Except with an alt you are still doing the computation instead of them. I like the idea of a world anchor but I assume it may be very expensive to get or maintain since they would presumably want as little server load as possible.
 

TGess

Well-known endo
Joined
Feb 1, 2020
Messages
52
#9
Plus even if you have one dedicated pc as a faction it might not be enought to cover whole factory. We dont know how far it goes + it could screew up whole timing of that factory if some parts start working earlier cause the load in earlier. So I hope yolol chips load in memory at once and start working at once. Plus in PVP if my pc is the one running all the simulations and I get low fps cause of that I am gonna be very unhappy.
 

dusty

Moderator
Moderator
Joined
Aug 14, 2019
Messages
78
#10
YOLOL execution range is the same as your render range: 5km. If your factory is larger than that, I'd be impressed. As far as the performance impact, I'd expect a manageable performance hit for a station-based factory.
 

PopeUrban

Veteran endo
Joined
Oct 22, 2019
Messages
140
#11
Except with an alt you are still doing the computation instead of them. I like the idea of a world anchor but I assume it may be very expensive to get or maintain since they would presumably want as little server load as possible.
I own a desktop and a laptop and use a separate office computer at work. My computer is sitting at home alone connected to the internet and online pretty much 24/7. My laptop goes where I go. My work computer lives at the office, but is also sonstantly connected to the internet and constantly on if it needs to be.

This is the situation almost everyone I know is in. They have one or more computers, and their home PC sits at home connected to the internet when they're not using it.

Idling AFK is effectively cost neutral and because of the distributed server model Starbase is using doesn't have the issues you see with it in traditional server-centric games. You going AFK to keep a node online is actually saving frozenbyte server resources and for most people, just using a PC that would be doing nothing to help run their space empire.
 

riley

Learned-to-sprint endo
Joined
Jan 23, 2020
Messages
24
#12
I own a desktop and a laptop and use a separate office computer at work. My computer is sitting at home alone connected to the internet and online pretty much 24/7. My laptop goes where I go. My work computer lives at the office, but is also sonstantly connected to the internet and constantly on if it needs to be.

This is the situation almost everyone I know is in. They have one or more computers, and their home PC sits at home connected to the internet when they're not using it.

Idling AFK is effectively cost neutral and because of the distributed server model Starbase is using doesn't have the issues you see with it in traditional server-centric games. You going AFK to keep a node online is actually saving frozenbyte server resources and for most people, just using a PC that would be doing nothing to help run their space empire.
The world anchor was an in game item someone before proposed that would act link a chunk loader in minecraft. I wasn't criticising the idea of leaving a computer on but I don't think it's flawless. Managing things client side means that it's very hard to make sure players don't alter what they send to servers to give themselves an advantage. For instance minecraft used to have a client side inventory and basically allowed players to spawn in whatever they wanted. If you are flying past an enemy ship that was previously dormant then how are the game servers to know you arent simulating it properly if you tell it to open all doors or something. Those situations would require complex heuristics to stop and even they can't ever be perfect. If they can pull it off though without massive hacks then more power to them but I am skeptical.
 

PopeUrban

Veteran endo
Joined
Oct 22, 2019
Messages
140
#13
The world anchor was an in game item someone before proposed that would act link a chunk loader in minecraft. I wasn't criticising the idea of leaving a computer on but I don't think it's flawless. Managing things client side means that it's very hard to make sure players don't alter what they send to servers to give themselves an advantage. For instance minecraft used to have a client side inventory and basically allowed players to spawn in whatever they wanted. If you are flying past an enemy ship that was previously dormant then how are the game servers to know you arent simulating it properly if you tell it to open all doors or something. Those situations would require complex heuristics to stop and even they can't ever be perfect. If they can pull it off though without massive hacks then more power to them but I am skeptical.

Minecraft did to inventories what most online games do out of the box these days. it put everything not critical to sim performance on the server. In the same way you can easily automate checks for speedhacks you can easily automate checks against this kind of behavior by authenticating player locations. The difference between starbase and a traditional servercentric model is that Frozenbyte isn't actually running the simulation servers, but they're still running central item, world state, and character data servers, and like any traditional MMO when a sim talks to the storage system there's usually a validity check in there somewhere.

Its basically just a really slow version of what all client/server games already do. When you move forward in an online game, you're telling you client "do the thing." and it says to the server "hey I did a thing"

In most online games the server then says "lemme check this thing you did to make sure its legit" and then sends back your new position, inventory, etc. to the client. This is why every game isn't full of item dupes and speedhacks. Your auth server's responsible for knowing the rules of the game and being able to tell when an action looks fishy (for example, 1000000 tons of ore appearing in an inventory without leaving another inventory with no rocks nearby)

The simulation may not be running on the auth server but all the economy and player account data is. Warframe and several other MMO-lite games use exactly the same system. Player clients host every game of warframe, but DE's servers house and authenticate all of the persistant economic, storage, customization, and progression data. Its a pretty well known implementation at this point, though nobody has tried to tie it together to distribute the load of a single persistant universe before, but I get where frozenbyte is going with the idea because it makes a lot of sense.

The secret sauce of starbase will have to be to smoothly transition players between two client nodes in some form, perhaps by using FBs in house servers as a bridge. This is where you see most games that use this approach being weak, if the host drops out everything screeches to a halt as the game slowly sends a snapshot of the current game state, selects another client, and then puts everyone back in place on the newly selected simulation. My assumption here is that Frozenbyte's trying to use in house resources to make that transition smoother, essentially using high performance in house servers as a bridge or a distributed computing mechanism to solve that problem.

If it works well, its a pretty revolutionary trick for running MMOs on the cheap and I'd love to see a whitepaper on the specific implementation. Done well it could actually make the central server model obsolete. Done poorly it could be annoying to play the game but not so much its a dealbreaker. I'm sure everyone would deal with occasional world freezes in exchange for everything else starbase offers.
 
Last edited:

riley

Learned-to-sprint endo
Joined
Jan 23, 2020
Messages
24
#14
Minecraft did to inventories what most online games do out of the box these days. it put everything not critical to sim performance on the server. In the same way you can easily automate checks for speedhacks you can easily automate checks against this kind of behavior by authenticating player locations. The difference between starbase and a traditional servercentric model is that Frozenbyte isn't actually running the simulation servers, but they're still running central item, world state, and character data servers, and like any traditional MMO when a sim talks to the storage system there's usually a validity check in there somewhere.

Its basically just a really slow version of what all client/server games already do. When you move forward in an online game, you're telling you client "do the thing." and it says to the server "hey I did a thing"

In most online games the server then says "lemme check this thing you did to make sure its legit" and then sends back your new position, inventory, etc. to the client. This is why every game isn't full of item dupes and speedhacks. Your auth server's responsible for knowing the rules of the game and being able to tell when an action looks fishy (for example, 1000000 tons of ore appearing in an inventory without leaving another inventory with no rocks nearby)

The simulation may not be running on the auth server but all the economy and player account data is. Warframe and several other MMO-lite games use exactly the same system. Player clients host every game of warframe, but DE's servers house and authenticate all of the persistant economic, storage, customization, and progression data. Its a pretty well known implementation at this point, though nobody has tried to tie it together to distribute the load of a single persistant universe before, but I get where frozenbyte is going with the idea because it makes a lot of sense.

The secret sauce of starbase will have to be to smoothly transition players between two client nodes in some form, perhaps by using FBs in house servers as a bridge. This is where you see most games that use this approach being weak, if the host drops out everything screeches to a halt as the game slowly sends a snapshot of the current game state, selects another client, and then puts everyone back in place on the newly selected simulation. My assumption here is that Frozenbyte's trying to use in house resources to make that transition smoother, essentially using high performance in house servers as a bridge or a distributed computing mechanism to solve that problem.

If it works well, its a pretty revolutionary trick for running MMOs on the cheap and I'd love to see a whitepaper on the specific implementation. Done well it could actually make the central server model obsolete. Done poorly it could be annoying to play the game but not so much its a dealbreaker. I'm sure everyone would deal with occasional world freezes in exchange for everything else starbase offers.
I wasn't aware they used P2P but imo it would make it so much harder to avoid hacking. You can't design a heuristic for determining the result of a program without simulating it yourself so at some point corners will have to be cut in how much work Starbases servers will do. Control at some point is in the hands of the players simulating the universe and that is where they can do as they wish.
 

PopeUrban

Veteran endo
Joined
Oct 22, 2019
Messages
140
#15
I wasn't aware they used P2P but imo it would make it so much harder to avoid hacking. You can't design a heuristic for determining the result of a program without simulating it yourself so at some point corners will have to be cut in how much work Starbases servers will do. Control at some point is in the hands of the players simulating the universe and that is where they can do as they wish.
That's not entirely true. You don't need to model a simulation to check its validity. Much of the time automated checks are used to provide leads to a small number of GMs, flagging them for direct observation. Once you ban the first round of accounts word gets around and that exploit tends to vanish pretty fast.

A simple example is a speedhack test. Lets say the auth server already periodically stores the location of players, but it only does so when those players log out or change zones. Because the server knows the rules of the game state that there is an absolute galactic speed limit, it also checks a max distance when it stores that location. If a player is found to have moved further between logins than the rules of the game would allow, they're flagged and a GM ticket is generated to monitor them next tiem they log in.

Automated reporting tools like this are the secret sauce of GM governance in virtually every MMO. GMs don't just hang out waiting to catch people hacking.

A more complex example:

Ore check I theorized in the previous post doesn't require simulating the game to do cheat detection. It requires things the authoritative server already knows, inventory, environmental state, location of player. It doesn't need to run simulation ticks to be an effective implementation, nor does it need to process physics or damage modeling. It doesn't even need to run that often. Running this sort of integrity check once every few minutes (usually on a low priority thread so it only runs when there's less stuff for that server to do) is a pretty common way for client-centric games that phone home to central account servers to keep their games from becoming playgrounds for hackers.
 
Joined
Aug 14, 2019
Messages
102
#16
the one trouble with the speedhack is it could be used over a small distance so they could have travelled the distance before the system checks again
 

TGess

Well-known endo
Joined
Feb 1, 2020
Messages
52
#17
Speedhacking is honestly super easy even in hight end games. Like CSGO for example. You think server must know that it is not possible to move from plant A to B in 0.5 sec yet people are still able to do it even after 10 years of anticheat developement.
 

PopeUrban

Veteran endo
Joined
Oct 22, 2019
Messages
140
#18
Right. My point is that the Starbase model isn't inherently more vulnerable to hacking than most other online games as a result of utilizing clients to help run the sim. There's always going to be an arms race between cheaters and developers and that's never going to change.
 

riley

Learned-to-sprint endo
Joined
Jan 23, 2020
Messages
24
#19
Right. My point is that the Starbase model isn't inherently more vulnerable to hacking than most other online games as a result of utilizing clients to help run the sim. There's always going to be an arms race between cheaters and developers and that's never going to change.
It is when they are simulating execution of YOLOL. You literally can't check validity without simulating it. Add that with everything else required for simulation and I am still skeptical of its efficacy.
 

Caddrel

Learned-to-turn-off-magboots endo
Joined
Feb 15, 2020
Messages
46
#20
They're looking at ways to allow players to "world anchor" parts of the universe and keep them running, but that requires an out-of-pocket cost for somebody .
The elegant solution would be to simply let the players pay the IRL cost of a "world anchor" through the game, if there is one. People pay for dedicated servers in all sorts of games, and having to pay a tiny monthly fee to run a station 24/7 is nothing.

Having the developer handle the business end lowers the cost for the end user (they can do it far more efficiently in every way). Save the planet by not having everyone running alts off their home machines 24/7.
 
Top