BYOND Hosting / Shell Server

by Xirre
A shell server (hosting service) for all of BYOND to use!
ID:1736519
 
Resolved
Just needed to upgrade their source's compile version to the server's compile version.
BYOND Version:506
Operating System:Windows 7 Home Basic
Web Browser:Chrome 39.0.2171.65
Applies to:Dream Seeker
Status: Resolved (1.0)

This issue has been resolved.
Descriptive Problem Summary:
hey man I signed up for your hosting services. it seems i can only use the beta testing service. the problem is that whenever i try to load a saved character i get disconnected. it says it disconnected. can you help me?
Numbered Steps to Reproduce Problem:
Loading a saved character.
Code Snippet (if applicable) to Reproduce Problem:
var/inpt=input("Do what?") in list("New", "Load", "Delete")
switch(inpt)
if("New")
if(fexists("players.sav"))
src << "You already have a savefile. Delete it first."
else
done=1
if("Load")
if(fexists("players.sav"))
// done=1
..()
var/savefile/s=new("players.sav")
Read(s)
src << "Character loaded"
src.addname("[src.key]")
//health_bar = new(src, 'DemoHealthBar.dmi', 14, src.hp, src.max_hp, pixel_y = -8)
// Create a mana bar, using the properties of the /bar_overlay/mana_bar type (defined below)
//mana_bar = new(src, 'DemoManaBar.dmi', 14, "Mana", "mana_max", pixel_y = -16)
health_bar = new(src, 'DemoHealthBar.dmi', 14, "hp", "max_hp", pixel_y = -8)
// Create a mana bar, using the properties of the /bar_overlay/mana_bar type (defined below)
mana_bar = new(src, 'DemoManaBar.dmi', 10, "stamina", "max_stamina", pixel_y = -16, state_prefix="Mana")
return
//done=1
else
src << "You don't have a savefile"

mob/Write(savefile/S)
//var/list/ver=list()
var{saved_x=src.x; saved_y=src.y; saved_z=src.z}
S << saved_x
S << saved_y
S << saved_z
S << src.icon_state
//for(var/i in src.overlays)
// src.overlays-=i
S["Verbs"] << src.verbs
..()

mob/Read(savefile/S)
var/list/ver=list()
var{saved_x; saved_y; saved_z}
S >> saved_x
S >> saved_y
S >> saved_z
S >> src.icon_state
//S >> src.verbs
..()
S["Verbs"] >> ver
//world << ver
for(var/i in ver)
src.verbs+=i
for(var/i in src.overlays)
src.overlays-=i
/*S >> saved_x
S >> saved_y
S >> saved_z*/

//src << sound('Field2.ogg',1,0,9)
src.Move(locate(saved_x, saved_y, saved_z))


Expected Results: Loading a character

Actual Results: I get disconnected.

Does the problem occur:
Every time? Or how often?
In other games?
In other user accounts?
On other computers?

When does the problem NOT occur?

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.)
N/A.

Workarounds:?

I checked your errors log and saw a few runtime errors in there. Try fixing those first to see if it helps.

Another thing to do is to update your game and put it in #define DEBUG mode then start printing to the user debug lines -- src << "1" .. 2... 3.. after each like to see where exactly it disconnects you at. This will help pinpoint the source of the problem.

Edit:
switch(inpt) -->switch(input)

Switch statement missing a if statement for Delete.

Why are you calling ..()? What proc is this in that you need to call ..() under fexists()?

What does addname() do specifically? Not that it adds the name to the user's overlay, but what's the code like?


Those are some things you can look in to to try to fix.
1) Where is the errors log to see the runtime errors?
2) The switch input looks fine to me.
3) I am calling login ..() so that it would login me then load me.
4) add name code:
mob/proc
addname(var/text)
var/leftspot=round((length(text)/2)*-3.65)
for(var/i=1,i<=length(text),i++)
var/obj/N=new/obj/name
N.pixel_x=leftspot
N.icon_state="[copytext(text,i,i+1)]"
src.overlays+=N
leftspot+=4
Manage Files > Errors.log > Right-click > Read file > Read. You'll see a long list of runtime errors that have piled up over time. That file is personally created for the owner to read occasionally for any errors that may spawn.

2) Sorry, I assumed that it was spelled incorrectly.

3) Okay.

4) Try fixing up your runtimes and then updating, shutting down, starting up, and then trying at it again.
Strange I added numbers at loading and did #define debug and now the game loads well in your server. Did you do something?
In response to TheDarkChakra
TheDarkChakra wrote:
Strange I added numbers at loading and did #define debug and now the game loads well in your server. Did you do something?

No. I'm actually very busy. Very very busy. I have 3 exams tomorrow. So, I can't do much until after that. But, I'm glad to hear it's working. Perhaps you just needed to shut it down or reboot?
I think not. I had that loading problem even though I did shut the game down and rebooted again. Your server is great. I might even upgrade. Question: How can I upgrade my server? I might need it for less lag. Also how can I purchase an extension of my plan? So far I have bought a month and like 25 days left.
Okay now someone is complaining connection is closing after loading let me debug with him...
if("Load")
if(fexists("players.sav"))
//world << 1
// done=1
..()
//world << 2
world << 1
var/savefile/s=new("players.sav")
world << 2
//world << 3
Read(s)
world << 3
//world << 4
src << "Character loaded"
src.addname("[src.key]")
world << 4

mob/Read(savefile/S)
var/list/ver=list()
var{saved_x; saved_y; saved_z}
S >> saved_x
S >> saved_y
S >> saved_z
S >> src.icon_state
//S >> src.verbs
..()
S["Verbs"] >> ver
//world << ver
for(var/i in ver)
src.verbs+=i
for(var/i in src.overlays)
src.overlays-=i
/*S >> saved_x
S >> saved_y
S >> saved_z*/

//src << sound('Field2.ogg',1,0,9)
src.Move(locate(saved_x, saved_y, saved_z))


After the number 2 it closes.
In response to TheDarkChakra
TheDarkChakra wrote:
I think not. I had that loading problem even though I did shut the game down and rebooted again. Your server is great. I might even upgrade. Question: How can I upgrade my server? I might need it for less lag. Also how can I purchase an extension of my plan? So far I have bought a month and like 25 days left.

Just purchase more credits and click Purchase Server on the web server again. If you choose a different plan it will deduct the price of it based on how much time you have left with your current plan. Your account has a value. Bought a 15% server? That should be 60 credits. Want a 25% server? That should be 175 credits. If you upgrade right away, the upgrade will be 175-60. If you wait 15 days your value will be halved since you have half the days left. Meaning the upgrade will cost 175-30 now. This applies in reverse. Bought a 25% server and want to downgrade? 60-175. You get the negative value back as credits. This way you can upgrade and downgrade all you want. Heck, now that I think about it... I could add in a value for canceling your membership which refunds all the points and costs 0 credits. This way people can easily switch between servers.
In response to TheDarkChakra
TheDarkChakra wrote:
> if("Load")
> if(fexists("players.sav"))
> //world << 1
> // done=1
> ..()
> //world << 2
> world << 1
> var/savefile/s=new("players.sav")
> world << 2
> //world << 3
> Read(s)
> world << 3
> //world << 4
> src << "Character loaded"
> src.addname("[src.key]")
> world << 4
>
> mob/Read(savefile/S)
> var/list/ver=list()
> var{saved_x; saved_y; saved_z}
> S >> saved_x
> S >> saved_y
> S >> saved_z
> S >> src.icon_state
> //S >> src.verbs
> ..()
> S["Verbs"] >> ver
> //world << ver
> for(var/i in ver)
> src.verbs+=i
> for(var/i in src.overlays)
> src.overlays-=i
> /*S >> saved_x
> S >> saved_y
> S >> saved_z*/

> //src << sound('Field2.ogg',1,0,9)
> src.Move(locate(saved_x, saved_y, saved_z))
>


After the number 2 it closes.

My last 3 exams are tomorrow. I should be home before 9PM EST since my last exam is at 6 and it is for programming which will literally take me like 10 mins to do. I'll try my best to hurry up so I can assist you directly. Hold out for me, okay?

Edit:

What version of BYOND are you compiled under?
My BYOND version is 506.1247. I now made the code this and it works for both me and the player who I talked to:

mob/Read(savefile/S)
..()
var/list/ver=list()
var{saved_x; saved_y; saved_z}
S >> saved_x
S >> saved_y
S >> saved_z
S["Verbs"] >> ver
//world << ver
for(var/i in ver)
src.verbs+=i
for(var/i in src.overlays)
src.overlays-=i
//S >> src.verbs
//S >> src.icon_state

/*S >> saved_x
S >> saved_y
S >> saved_z*/

//src << sound('Field2.ogg',1,0,9)

src.Move(locate(saved_x, saved_y, saved_z))


Is the code right now?
That's probably your problem. You're running 506 on a 507 server that supports a whole different feature that is in beta. Try updating to the latest Beta version and I'll try to check if the server's version is the latest as well. (Should be 507.1269 or something.) My last exam starts in 30 mins. 24 to be exact. I won't be long. The long part is getting home... waiting for the bus is annoying.

Edit: 507.1267 is our current version. Upgrade to that. Versions beyond that don't seem to hold any major updates. If you feel they do, tell me and I will update to them.
There we go. I updated it. What now?
Upload the new version, shutdown, start up. I'm about to start my exam. Good luck. If it doesn't work, give me a few and I'll be able to help you directly through the chat.
So I should compile my game, upload it to your server and restart? Ok will do.
Don't restart. Shutdown and start up. Restarts does not do a full restart. So, the problem may persist.
Okay I ended up doing that anyway.
1
2
3
Character loaded
4

Loaded fine. :)
Xirre resolved issue with message:
Just needed to upgrade their source's compile version to the server's compile version.
Page: 1 2