Jump to content
Koumei & the Five Fates: Share Bug Reports and Feedback Here! ×

Saving in warframe


(PSN)AC_CORVO
 Share

Recommended Posts

36 minutes ago, FrostedMike said:


 

I think the information is kept with the server because of two reasons:
1. A failed migration causes all clients to lose progression.
2. When the server makes a relocation in a successful migration, there is a loading screen. It makes me to believe that there is a lot of data to trasnfer, mainly the clients progression.

I have no idea where the world state  data is saved in WF.  What I do know that successful migrations can occur when there is NO WAY the remaining clients could pull the data from the departing host (The game hard crashed, their internet died etc). I have been in these groups and successfully migrated where I know what happened to the original host from either being in a party chat with them, or actually being on the phone with them.

That means that at least some - sufficient to continue - of the data is saved or retrievable from a central location (existing WF/Xbox/PS) server OR actually stored on the some of the clients.

Given the above, it would be reasonable to request that that mechanic be flushed out, patched, or otherwise enhanced to ensure a "successful" migration even if that means that success is defined by each remaining player ending up playing by themselves.

 

Link to comment
Share on other sites

15 hours ago, (XB1)Tucker D Dawg said:

I have no idea where the world state  data is saved in WF.  What I do know that successful migrations can occur when there is NO WAY the remaining clients could pull the data from the departing host (The game hard crashed, their internet died etc). I have been in these groups and successfully migrated where I know what happened to the original host from either being in a party chat with them, or actually being on the phone with them.

That means that at least some - sufficient to continue - of the data is saved or retrievable from a central location (existing WF/Xbox/PS) server OR actually stored on the some of the clients.

Given the above, it would be reasonable to request that that mechanic be flushed out, patched, or otherwise enhanced to ensure a "successful" migration even if that means that success is defined by each remaining player ending up playing by themselves.

 

It's not the mission data that is saved on the client, but the referense for the server is. Each player have his own referense to the server because each player have his own instance (making 4 "servers", one for each player in the squad) and a flag for if this client is the host (only one can be).

Think about it as each player in the session is actually playing single player (this is an instance), each instance have an object to sync between those seperate worlds (this is the server). So technicly speaking, there are 4 servers (one for each client) but only one of the servers is flagged as host and active to prevent useless syncs, the game just won't be playable if all 4 are active for many reasons. A player can "pull" this server to himself when a host migration occur because only the instance of the host is gone, but the server object for each player still exists because each player is actually playing "single player". Because the other 3 "servers" still exists, all it needs now is to choose the new host, update the server object of each instace, and the result should point to the same instance, making a new host. If the result is different, this is how you sometimes ends up alone.

In short, the data is saved for each player, but only the host is active.

The problem Warframe have is just bugs and the fact the host migration "problem" is actually impossible to be fixed, only to refine, this is why not all migrations are successful. Why impossible? Because this problem comes from a source that the game have no control on - client's input, or in other words - internet connection, power to the computer and the user behind the keyboard (you). Host migration is a tool to prevent problems, not the problem.
I tried to make a multyplayer game myself and the host migration is probably the bane of every programmer that works with these kind of servers...

Edited by FrostedMike
Link to comment
Share on other sites

21 hours ago, Shalath said:

But wait! Surely this can be solved by all clients all having the mission status/reward info! Well yes, but only at the cost of increased bandwidth between clients (as much as 4x) which would likely increase lag for all concerned at least on slower connections. Look at some of the backlash from toaster users when the Earth remaster happened or PoE dropped and their toasters couldn't keep up anymore. Lots of rural America and much of Australia have poor connections due to having cables run over so much distance so lots of those will be too laggy to play anymore to say nothing of those who can only play on metered connections and are chewing through their bandwidth 4 times faster now.

I'm not saying the situation can't be improved but any improvement is going to mean somebody takes the hit and more frequent sharing of the missions data is probably the best shot at improving it so those with limited bandwidth or low speeds are going to be those that do.

 

Why not keep meta-data in .txt files locked inside of DE's equivalent of a .bsa file? Basically, why not store temporary mission information--rewards, kills, etc--in a text file on the client-side that is locked and only openable by the game client, with tamper-proof coding? That way, if you get disconnected, the game client can then access your meta-data, see what your rewards would have been up to that point, and then reward you accordingly? Also, this would have to have a built-in ping test to ensure that the disconnection was caused by host migration/disconnection. That way, you would only get the rewards recorded in the meta-data IF the ping determined it was a no-fault disconnection on the server side. This wouldn't affect if you turned off your PS4 yourself because the loss of power would be shown to be on your end, not DE's, but at least this way, in cases of genuine server-side error or host migration, your loss of xp and whatnot would be slightly mitigated. Moreover, these files could be given a time limit, say, 24 hours, before they get deleted, or they delete the next time you fire up Warframe, or whatever. That would at least give you enough time to get DE's attention.

Another thing that could possibly be incorporated is a Report button that can be deployed mid-mission. Mission glitches out? Report button! The way I envision it, you would hit this button and it would generate an instant txt file with meta data about the mission your in, recording all the important variables and rewards, and then when you abort the mission because it's stuck, you get a dialogue pop-up box that asks you if you want to send the report to DE, and that way, DE would be able to have a better idea of glitches/bugs. Yes, I know you can send them the ee logs or whatever they're called--if you're on PC. PS4 players do not have this option, it seems. But the in-mission Report button would be a snapshot that would provide DE with more info. 

Both scenarios above are predicated upon the idea of small txt files that don't eat up a lot of bandwidth and don't take long to upload, even if it's a few Mb. 

Edited by TwoWolves
Link to comment
Share on other sites

5 minutes ago, TwoWolves said:

Why not keep meta-data in .txt files locked inside of DE's equivalent of a .bsa file? Basically, why not store temporary mission information--rewards, kills, etc--in a text file that is locked and only openable by the game client, with tamper-proof qualities? That way, if you get disconnected, the game client can then access your meta-data, see what your rewards would have been up to that point, and then reward you accordingly? Also, this would have to have a built-in ping test to ensure that the disconnection was caused by host migration/disconnection. That way, you would only get the rewards recorded in the meta-data IF the ping determined it was a no-fault disconnection on the server side. This wouldn't affect if you turned off your PS4 yourself because the loss of power would be shown to be on your end, not DE's, but at least this way, in cases of genuine server-side error or host migration, your loss of xp and whatnot would be slightly mitigated. Moreover, these files could be given a time limit, say, 24 hours, before they get deleted, or they delete the next time you fire up Warframe, or whatever. That would at least give you enough time to get DE's attention.

Another thing that could possibly be incorporated is a Report button that can be deployed mid-mission. Mission glitches out? Report button! The way I envision it, you would hit this button and it would generate an instant txt file with meta data about the mission your in, recording all the important variables and rewards, and then when you abort the mission because it's stuck, you get a dialogue pop-up box that asks you if you want to send the report to DE, and that way, DE would be able to have a better idea of glitches/bugs. Yes, I know you can send them the ee logs or whatever they're called--if you're on PC. PS4 players do not have this option, it seems. But the in-mission Report button would be a snapshot that would provide DE with more info. 

Both scenarios above are predicated upon the idea of small txt files that don't eat up a lot of bandwidth and don't take long to upload, even if it's a few Mb. 

Well first off you have the additional ping test checking if a disconnection happened taking up extra bandwidth and to populate your little text files all 4 clients need to be receiving and sending that data which quadruples the bandwidth each client uses in a mission. Quadruple bandwidth requirements is going to hit some hard as I posted before.

There is also the problem that these files can only be opened by the game client and have tamper-proof qualities. On PC that simply isn't going to happen as if the game client can open it some enterprising "enthusiast" will figure out a way of doing it as well. These files, even encrypted, would be an attack vector.

Link to comment
Share on other sites

I'm not saying someone with too much time on their hands wouldn't figure out a way into the locked masterfile. However, any tampering by anything other than the game engine would leave a digital fingerprint showing that, yeah, hey, this file was opened on this date by this source--and it's not the game engine. Bam. Insta-ban, adios, hacker, go to the nexus if you want to play with game registry files and be a modder, you're never playing Warframe again from that IP. This is the way that Steam handles tampering with the .bsa files and uploading them as a mod. Absolutely verbotten.

Also, the client's game engine talks with the server when initializing the game anyway. This would just be an extra 1-2mb that gets uploaded, so it wouldn't eat up bandwidth, just take an extra second to load up. The game engine pings the client computer anyway; this would just be the equivalent of the client computer pinging back with some small packets of info that are nothing but text. Even huge volumes of text don't amount to more than a couple of megabytes. Warframe regularly transmits/receives gigabytes of data, so a few megs should be no problem.

And what about the Report/Snapshot button in mid-mission idea? There has to be a better solution, and I really think if this was given some attention, this could be worked into a solution.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...