ID:1430701
 
Hey, I am trying to host a tsstation map on ubuntu. I keep getting this error when I run the DreamDaemon:

BYOND@JacksServer:/byond/byond$ DreamDaemon tgstation 5829 -invisible
Tue Nov 26 13:29:34 2013
Auto-safety mode: ultrasafe (no file access)
World opened on network port 5829.
Welcome BYOND! (5.0 Stable Version 501.1217)
BYOND Error: corrupt headers in world file


I used the DreamMaker and made the file with 0 errors:

BYOND@JacksServer:/byond/byond$ DreamMaker '/byond/byond/tgstation/tgstation.dme'
loading tgstation.dme
loading interface/skin.dmf
loading maps/tgstation.2.1.2.dmm
saving tgstation.dmb (DEBUG mode)
tgstation.dmb - 0 errors, 0 warnings


I have modded the directory and all sub files to be 777 (I don't really care about security for this folder), so there is no issue with permissions.

Interestingly, when I compile this in windows and host a server it works fine, but I get an error while it starts up:

.## ERROR: File not found (.git/logs/HEAD)

Could it be at all related? It runs fine without changing any settings, from just double clicking it in Windows.
You need to do a clean compile.

Also note that the default safety mode is set as Ultra Safe

Auto-safety mode: ultrasafe (no file access)

You should use the safe tag on your command.

DreamDaemon tgstation 5829 -invisible -safe -logself &

-logself will log any errors to a file.

The & symbol will allow the game to continue hosting in the background instead of closing when you close the terminal, you can close the existing DD process by using the following commands.

ps -A | grep Dream

Which will output something such as this

  PID TTY          TIME CMD
211 ? 00:00:00 DreamDaemon


You can kill the process by using kill -9 211 (where 211 is the PID number).
Sadly DreamMakers man file doesn't have much included in it so I'm not sure how to clean compile on Linux...

[EDIT] suppose you could just rm the .rsc file..

Regarding the .git you can ignore that safely.
I did a clean compile and it's still having the same error. Also, I want it running in the terminal so I can see everything, so all the stuff about hiding it is unnecessary.
Yep. Sorry for trying to being helpful.......
OK I fixed it by downloading Windows version of BYOND and using WINE. Running a server perfectly fine. Thanks for the help though.
Uh... you're running a server in wine? Bad idea. There can be multiple bugs there.
Still trying to get this to work with the Linux version of BYOND. Same error, even when using the same exact game as the one that works in WINE.
Are you using the linux - Oh... lmfao.. that's why. Probably because you're using the linux version and not the actual mac version. I'm not sure if it's still there.

--

Just checked. There's no Mac Version of BYOND. I probably have an old download of it. Somewhere. Might have been deleted though. I'll check.

--

Found it. And since I found the version.. I also found this: http://www.byond.com/download/build/493/ 493.1116_byond_macosx.zip :)

And if you only want to use it for hosting, don't use wine. Install it by following this: http://www.byond.com/members/ LinuxGuild?command=view_post&post=724528&first_unread=1

You don't really need
wget http://www.byond.com/download/build/gcc/libstdc++-libc6.2-2.so.3
wget http://www.byond.com/download/build/gcc/libstdc++.so.5


If you want to play games, http://virtualbox.org is your place to go. You can also host games in DreamDaemon properly there. Just install windows inside of it, meaning you'll need to get your hands on windows, and then bam, start it up and install byond like normal on it.

The ONLY downside here is how much CPU that thing takes up. :/
I'm confused now. I am running Ubuntu, a Linux build, but you're saying I should use the apple version. Is there any reason why?

Also I'm not trying to play the game on Linux, just host a dedicated server.

I can do it with WINE, but there's a bug where it seems to lock up the network port when I restart the server and I cannot get it to open up. So I have to exit the Dream Daemon and then open it again to make the port work. Also I rather run it natively.
I thought you were on a mac.. Oh.. wrong person. Lol. Disregard.
This should be much easier then.

So you're hosting DreamDaemon in Wine?

Try again in Ubuntu Terminal. Delete the .dmb and .rsc and then run DreamMaker /path/game.dme

It honestly should work. Otherwise, there's a bug.
Running BYOND in WINE always presents issues.. always..

BYOND has supplied a dedicated Linux version for hosting / compiling on a Linux box, which is what you should be doing.

Are you able to turn debugging on if not already?

Have you tried downgrading BYOND to another 5* or 4* version and see if that fixes the issue?

What version of BYOND do you have on the working Windows PC?

Have you tried a clean compile on Windows and uploaded the dmb and rsc to the linux box does that work?

What version of Ubuntu do you have? 13.04? 13.10? 12?, 32 or 64 bit?
I have tried a clean compile, compiling it in windows and linux. I have used both the stable version and beta version on the front of the website. The version on the windows PC is the latest stable version. I have Ubuntu 12.04, 64bit.

I didn't see any debug mode in DreamDaemon or DreamMaker when looking at their command variables. I think it already outputs all errors to the terminal.
Are you still running the game in ultrasafe mode? That is a big no-no for most hosting.
Nope, I am doing -safe.
I checked the compile options and DEBUG is enabled. This is what it looks like:


#define DEBUG //Enables byond profiling and full runtime logs - note, this may also be defined in your .dme file
//#define dellogging //Enables logging of forced del() calls (used for debugging)
//#define TESTING //Enables in-depth debug messages to runtime log (used for debugging)
//By using the testing("message") proc you can create debug-feedback for people with this
//uncommented, but not visible in the release version)

#define PRELOAD_RSC 1 /*set to:
0 to allow using external resources or on-demand behaviour;
1 to use the default behaviour;
2 for preloading absolutely everything;
*/
//ADMIN STUFF
#define ROUNDSTART_LOGOUT_REPORT_TIME 6000 //Amount of time (in deciseconds) after the rounds starts, that the player disconnect report is issued.

#define SPAM_TRIGGER_WARNING 5 //Number of identical messages required before the spam-prevention will warn you to stfu
#define SPAM_TRIGGER_AUTOMUTE 10 //Number of identical messages required before the spam-prevention will automute you

//Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam
#define MAX_MESSAGE_LEN 1024
#define MAX_NAME_LEN 26
#define MAX_BROADCAST_LEN 512

//MINOR TWEAKS/MISC
#define AGE_MIN 17 //youngest a character can be
#define AGE_MAX 85 //oldest a character can be
#define SHOES_SLOWDOWN -1 //How much shoes slow you down by default. Negative values speed you up
#define STRIP_DELAY 40 //time taken (in deciseconds) to strip somebody
#define DOOR_CRUSH_DAMAGE 10 //the amount of damage that airlocks deal when they crush you

#define HUNGER_FACTOR 0.1 //factor at which mob nutrition decreases
#define REAGENTS_METABOLISM 0.4 //How many units of reagent are consumed per tick, by default.
#define REAGENTS_EFFECT_MULTIPLIER (REAGENTS_METABOLISM / 0.4) // By defining the effect multiplier this way, it'll exactly adjust all effects according to how they originally were with the 0.4 metabolism

#define MAX_STACK_AMOUNT_METAL 50
#define MAX_STACK_AMOUNT_GLASS 50
#define MAX_STACK_AMOUNT_RODS 60

// AI Toggles
#define AI_CAMERA_LUMINOSITY 5
#define AI_VOX 1 // Comment out if you don't want VOX to be enabled and have players download the voice sounds.


//Additional code for the above flags.
#ifdef dellogging
#warn compiling del logging. This will have additional overheads. //will warn you if compiling with dellogging
var/list/del_counter = list()
/proc/log_del(datum/X)
if(istype(X)){del_counter[X.type]++;}
del(X)
#define del(X) log_del(X) //overrides all del() calls with log_del()
#endif

#ifdef TESTING
#warn compiling in TESTING mode. testing() debug messages will be visible.
#endif

//SYSTEM TOGGLES - these allow you to compile the game without some of the laggier systems if your server cannot cope with demand
/* Not yet coded
#define USE_DYNAMIC_GRAVITY //Enables the dynamic gravity system
#define USE_DYNAMIC_LIGHTING //Enables the dynamic lighting system
#define USE_DYNAMIC_ATMOS //Enables the dynamic atmos system
*/