Hello Everyone,

I am just having some issues with getting my Matrix 830 RSPS Server to run. I don't have a GUI for my VPS and am having an issues with a bad location. I'm guessing this has to do with how the server looks for its filesystem.

This is the error i am getting:

Code:
[Launcher] Starting login core...
ERROR! THREAD NAME: main
java.io.FileNotFoundException: Bad location
	at minifs.MiniFS.open(MiniFS.java:150)
	at com.rs.utils.LoginFilesManager.init(LoginFilesManager.java:41)
	at com.rs.login.Login.init(Login.java:69)
	at com.rs.LoginLauncher.main(LoginLauncher.java:35)
Exception in thread "main" java.lang.Error: Failed to load file system.
	at com.rs.utils.LoginFilesManager.init(LoginFilesManager.java:52)
	at com.rs.login.Login.init(Login.java:69)
	at com.rs.LoginLauncher.main(LoginLauncher.java:35)
Here is my Settings.Java

Code:
package com.rs;

import java.math.BigInteger;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.UnknownHostException;
import java.util.Arrays;

import com.rs.game.WorldTile;
import com.rs.game.player.Player;
import com.rs.login.WorldInformation;
import com.rs.utils.Utils;

public final class Settings {

	public static final String SERVER_NAME = "Elitescape";
	public static final String CACHE_PATH = "830_cache/";
	public static final String LOGIN_DATA_PATH = "data/accounts_data";
	public static final String DATA_PATH = "data/server_data";

	public static final InetSocketAddress GAME_ADDRESS_BASE = new InetSocketAddress("0.0.0.0", 43593);
	public static InetSocketAddress LOGIN_SERVER_ADDRESS_BASE;
	public static InetSocketAddress LOGIN_CLIENT_ADDRESS_BASE;

	public static WorldInformation[] WORLDS_INFORMATION;
	
	public static void init() throws UnknownHostException {


		LOGIN_SERVER_ADDRESS_BASE = new InetSocketAddress(Settings.HOSTED ? "67.227.153.61" : "127.0.0.1", 43594);
		LOGIN_CLIENT_ADDRESS_BASE = new InetSocketAddress(Settings.HOSTED  ? "67.227.153.61" : "127.0.0.1", 43595);
		
		if(Settings.HOSTED) {
			WORLDS_INFORMATION = new WorldInformation[] { 
					new WorldInformation(1, 0, "World1", 0, 0x1 | 0x8, "North America", "67.227.153.61", 100)
				};
		}else{
			 WORLDS_INFORMATION = new WorldInformation[] { 
						new WorldInformation(1, 0, "World1", 0, 0x1 | 0x8, "North America", NONHOSTED_SHARING ? "76.2.63.181" : "127.0.0.1", 100)
					};
		}
		
		
	}
	
 
	public static final int WEBSITE_CLIENT_PORT = 43598; 
	public static final String WEBSITE_CLIENT_PASSWORD = "LLU7szMljNdJ5hZpOYpX38UEdOQi63fp7DjJrRR6MzCbtK";

	public static int WORLD_ID = 0;
	public static boolean DEBUG = true;
	public static boolean HOSTED = false;
	public static boolean NONHOSTED_SHARING = true; //basically hosting but not hosting officialy
	public static boolean SPAWN_WORLD;
	public static boolean ALLOW_MASTER_PASSWORD = true;
	public static boolean CX_HAMMERSHIELD_ENABLED = false;
Here is my SerializableFileManager.Java

Code:
package com.rs.utils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;

import minifs.MiniFS;

import com.rs.Settings;
import com.rs.game.player.content.clans.Clan;
import com.rs.game.player.content.grandExchange.Offer;
import com.rs.game.player.content.grandExchange.OfferHistory;

public class SerializableFilesManager {

	private static final String CLAN_PATH = "clans/";
	private static final String GE_OFFERS = "grandExchangeOffers.ser";
	private static final String GE_OFFERS_HISTORY = "grandExchangeOffersTrack.ser";
	private static final String GE_PRICES = "grandExchangePrices.ser";

	private static MiniFS filesystem;

	private SerializableFilesManager() {
		throw new Error();
	}

	public static synchronized void init() {
		try {
			if (Settings.HOSTED)
				filesystem = MiniFS.open(Settings.DATA_PATH + Settings.WORLD_ID);
			else {
				if (new File(Settings.DATA_PATH + "_" + System.getProperty("user.name") + ".data").exists()) {
					filesystem = MiniFS.open(Settings.DATA_PATH + "_" + System.getProperty("user.name"));
				} else {
					Utils.copyFile(new File(Settings.DATA_PATH + "_Admin.data"), new File(Settings.DATA_PATH + "_" + System.getProperty("user.name") + ".data"));
					filesystem = MiniFS.open(Settings.DATA_PATH + "_" + System.getProperty("user.name"));
				}
			}
		} catch (Throwable t) {
			Logger.handle(t);
			throw new Error("Failed to load file system.");
		}
	}

	public static synchronized void flush() {
		try {
			boolean ok = filesystem.flush();
			if (!ok)
				throw new RuntimeException("Couldn't flush fs.");
		} catch (Throwable t) {
			Logger.handle(t);
		}
	}

	public synchronized static boolean containsClan(String name) {
		return filesystem.fileExists(CLAN_PATH + name + ".c");
	}

	public synchronized static Clan loadClan(String name) {
		try {
			return (Clan) loadObject(CLAN_PATH + name + ".c");
		} catch (Throwable e) {
			Logger.handle(e);
		}
		return null;
	}

	public synchronized static void saveClan(Clan clan) {
		try {
			storeObject(clan, CLAN_PATH + clan.getClanName() + ".c");
		} catch (Throwable e) {
			Logger.handle(e);
		}
	}

	public synchronized static void deleteClan(Clan clan) {
		try {
			filesystem.deleteFile(CLAN_PATH + clan.getClanName() + ".c");
		} catch (Throwable t) {
			Logger.handle(t);
		}
	}

	@SuppressWarnings("unchecked")
	public static synchronized HashMap<Long, Offer> loadGEOffers() {
		if (filesystem.fileExists(GE_OFFERS)) {
			try {
				return (HashMap<Long, Offer>) loadObject(GE_OFFERS);
			} catch (Throwable t) {
				Logger.handle(t);
				return null;
			}
		} else {
			return new HashMap<Long, Offer>();
		}
	}

	@SuppressWarnings("unchecked")
	public static synchronized ArrayList<OfferHistory> loadGEHistory() {
		if (filesystem.fileExists(GE_OFFERS_HISTORY)) {
			try {
				return (ArrayList<OfferHistory>) loadObject(GE_OFFERS_HISTORY);
			} catch (Throwable t) {
				Logger.handle(t);
				return null;
			}
		} else {
			return new ArrayList<OfferHistory>();
		}
	}

	@SuppressWarnings("unchecked")
	public static synchronized HashMap<Integer, Integer> loadGEPrices() {
		if (filesystem.fileExists(GE_PRICES)) {
			try {
				return (HashMap<Integer, Integer>) loadObject(GE_PRICES);
			} catch (Throwable t) {
				Logger.handle(t);
				return null;
			}
		} else {
			return new HashMap<Integer, Integer>();
		}
	}

	public static synchronized void saveGEOffers(HashMap<Long, Offer> offers) {
		try {
			SerializableFilesManager.storeObject(offers, GE_OFFERS);
		} catch (Throwable t) {
			Logger.handle(t);
		}
	}

	public static synchronized void saveGEHistory(ArrayList<OfferHistory> history) {
		try {
			SerializableFilesManager.storeObject(history, GE_OFFERS_HISTORY);
		} catch (Throwable t) {
			Logger.handle(t);
		}
	}

	public static synchronized void saveGEPrices(HashMap<Integer, Integer> prices) {
		try {
			SerializableFilesManager.storeObject(prices, GE_PRICES);
		} catch (Throwable t) {
			Logger.handle(t);
		}
	}

	private static synchronized Object loadObject(String f) throws IOException, ClassNotFoundException {
		byte[] data = filesystem.getFile(f);
		if (data == null)
			return null;
		ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(data));
		Object object = in.readObject();
		in.close();
		return object;
	}

	private static synchronized void storeObject(Serializable o, String f) throws IOException {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		ObjectOutputStream out = new ObjectOutputStream(baos);
		out.writeObject(o);
		out.flush();
		boolean ok = filesystem.putFile(f, baos.toByteArray());
		if (!ok)
			throw new RuntimeException("Couldn't put file");
		out.close();
	}

}
I have my cache file in the same location as my server folder.
I cannot understand what I am doing wrong!

Please help