ID:96539
 
Resolved
BYOND Version:468
Operating System:Windows 7 Home Basic
Web Browser:Chrome 5.0.375.55
Applies to:Games
Status: Resolved (469)

This issue has been resolved.
Descriptive Problem Summary: A lot of the time I log into a game, I have to clear my cache and then remake. This gets really annoying.

Numbered Steps to Reproduce Problem:
Log in to game.

Code Snippet (if applicable) to Reproduce Problem:


Expected Results: Not have to clear cache and remake

Actual Results: Has to clear cache and then remake

Does the problem occur:
Every time? Or how often? Very often, at least once a day.
In other games? Unsure
In other user accounts?Unsure
On other computers? Yes

When does the problem NOT occur? Never.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? (Visit http://www.byond.com/download/build to download old versions for testing.) It did not occur in any versions before 468.

Workarounds:

Is there a specific game this is happening on? Your report was rather bare of details that would help further identify any possible problems.
The problem seems to be caused by savefiles. At some random point I've yet to determine, loading up icon data from savefiles causes some base-level map display abort that neglects to transfer all dynamic resources.
And this is happening only in 468? Please do verify that, as it's extremely relevant.
I haven't quite determined why or when it happens, but the player deleting their savefile remedies the problem and life continues as usual until ... well, until it happens again.

So far I've saved only one of the problematic savefiles, so I'm not certain if its content could be of any use.
Quite certain that it is 468, being that any other version I cannot use. I had to update BYOND before playing.
Does it happen on all games? If not, which games does it happen for? Please provide some specific details as to exactly what you are doing and what is happening. You are the only person reporting this (I don't think Mobius Evalon is referring to the same issue).
Actually, he is, it's the same thing. Because you have to get rid of your save file for the bug to stop.

As for other games, I can't get on them. They won't let me on past the create/log in screen. I have been trying.

And I am still trying and will keep trying to get on another game to find out if it is just the game I play, but I am pretty sure it is not the game, but if it is, I hope the bug dies soon because I only play one game and it is not enjoyable.
Ok, if it's the same bug that is actually very good news, because it seems very specific. What we'd need in this case is a demo to illustrate what is being done.

You still haven't even told us what game you are having problems on, or any other specific details. You can't get into any games at all? That seems to be a bigger issue.
Well, only on Icon Ultima, which is the only game I play. But I have been trying to get on others to test.

If it's the game's fault, and you know how to help, I'm sure Mobius could fix it. But if it is not the game, I hope byond fixes it. Because this game didn't update all that much, just a simple update to make sure RSC extractor either didn't work or is very hard to work. Or whatever byond did to those wretched things that I loathe so much.

I'll comment if it does the same thing on another game, if I can get on them.
Ok, I think we're going to need Mobius Evalon to construct a demo for us so we can get an idea as to what is causing this. It would also help if someone could run a version of Icon Ultima in 467 so we can see if it's having the same problem.
Ok, I don't have problems on any other game. But I can only play the ones without the create/log in screen. Like the YuGiOh games and stuff like that.
What are some of the other games you have trouble with? I'm curious if this problem is only happening in 468. Try this:

1) Download 467 to a different folder: http://www.byond.com/download/build/467.1069_byond.zip

2) Run the v. 467 pager (make sure your 468 byond is uninstalled) and try to connect to one of those other games. If they aren't compiled in 468 you will be able to connect.

3) Same problem?
I was avoiding posting anything about this issue because I don't have much more information than Ixchel does about it. The process is essentially:

1.) Login, create new player savefile
2.) Play game
3.) ???
4.) Dynamic resources are no longer being loaded
5.) Reconnect and delete existing save
6.) Problem ceases

The absence of information at step 3 is what I've been working on for the past few days. Nobody can free themselves of the problem (albeit temporarily) without deleting the savefile associated to them so it seems like that's the root of the issue at present, but I can take the same savefile to other 468 IU servers, or 467 or earlier, and it works fine on all of them. Like I said, I can't nail it down yet.

467 and earlier was running peachy, and after the BFB update issue was corrected to let players into the 468 server, everyone has run into this problem. It's happened to every player that's logged in with varying time frames.
Can you tell me what is being saved to the savefile? It sounds like what's happening is that the client savefile is storing an encrypted icon (new to 468) which the server can't read (to pass along to other users). It shouldn't be doing that but that's a start. If you can pass along the proc that's supposed to read that savefile you posted, I can see what it's finding.
Well that's the uncomplicated part -- all I do to save is drop the /mob in the /character directory, and read it out again by dropping all of the data into a new /mob. I've also no overrides to Read or Write on any atom.

client/New()
. = ..()
src.client_file = new /savefile("players/[src.ckey].ius")

mob/pc/choose_char
char_load()
if(!src.client.client_file || !("character" in src.client.client_file.dir)) prompt(src,"You have not saved a character.","Load Character")
else
src.client.client_file.cd = "/"
var/mob/pc/character/c
src.client.client_file["character"] >> c
if(!c) prompt(src,"A problem occurred while loading this character.","Load Character")
else
src.client.mob = c
del(src)


The only icon data in the savefile is mob.icon and a variable cast as /icon which is a 64x64 graphic inserted into an output control. There's a plaintext version I uploaded to the same directory.

If it's of any relevance, the server is running Ubuntu.
I haven't verified this exact problem, but I have managed to reproduce a case where the server-side savefile appears to be corrupted doing a similar operation. Should be fixable...

Actually that was a red herring, an unrelated bug. I haven't yet been able to reproduce this through savefiles but I'll try some different stuff.
So, if I'm understanding this correctly, what's happening is that certain client-side savefiles are causing problems on the server when they are imported, in that the server subsequently fails to transfer dynamic resources? And that only occurs with the client that has the bogus savefile? And only sometimes?

I haven't been able to reproduce this. My theory that it was due to the encryption of 468 didn't pan out under testing, and it's also inconsistent with your report that the same client-side savefiles work fine when moving to different servers. However, it could still be related.

You posted a "problematic savefile". What do you mean by that? Does this savefile fail to load when you read it in? If so, can you attempt to access it field by field to see which sections are corrupted (eg, if the icon data is corrupted that would be very 468-relevant).

What would help me the most is if you could provide a standalone demo that just read your savefile format and, say, placed the resultant mob in an empty world. If that fails for this particular problematic save, I could look in the debugger to see where it's getting hung up.

Just on the moving to different servers issue, I have gone on different servers (albeit the same game) with the bug still present, that was not when using 467 and earlier versions. Other players on the game have also experienced this problem, solving it in the same manner.
Please try this with the latest 469 build available at http://www.byond.com/download/
Page: 1 2