Skip to content

Commit

Permalink
default diskspace for new users is now -1 See config. & bunch of smal…
Browse files Browse the repository at this point in the history
…l fixes
  • Loading branch information
dries007 committed Oct 15, 2014
1 parent e1eb0ca commit 624b9b2
Show file tree
Hide file tree
Showing 18 changed files with 163 additions and 184 deletions.
2 changes: 1 addition & 1 deletion src/main/java/net/doubledoordev/backend/Main.java
Expand Up @@ -40,7 +40,6 @@

package net.doubledoordev.backend;

import com.google.gson.JsonObject;
import net.doubledoordev.backend.server.Server;
import net.doubledoordev.backend.server.rcon.RCon;
import net.doubledoordev.backend.util.Cache;
Expand Down Expand Up @@ -122,6 +121,7 @@ private static void mkdirs()

public static synchronized void shutdown()
{
Settings.save();
LOGGER.info("Attempting graceful shutdown of all servers...");
for (final Server server : Settings.SETTINGS.servers.values())
{
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/net/doubledoordev/backend/permissions/User.java
Expand Up @@ -55,7 +55,7 @@
public class User
{
private String username, passhash;
private int maxServers, maxRam, maxDiskspace;
private int maxServers, maxRam, maxDiskspace = Settings.SETTINGS.defaultDiskspace;
private Group group = Group.NORMAL;

public User(String username, String passhash)
Expand Down Expand Up @@ -116,17 +116,17 @@ public Group getGroup()
return group;
}

public void setGroup(String group)
{
setGroup(Group.valueOf(group));
}

public void setGroup(Group group)
{
this.group = group;
Settings.save();
}

public void setGroup(String group)
{
setGroup(Group.valueOf(group));
}

public int getMaxServers()
{
return maxServers;
Expand Down
Expand Up @@ -40,27 +40,14 @@

package net.doubledoordev.backend.server;

import org.apache.commons.io.FileUtils;

import java.io.File;
import java.io.IOException;
import java.util.Date;

import static net.doubledoordev.backend.util.Constants.*;

/**
* @author Dries007
*/
public class Dimention
public class Dimension
{
int dimid;
WorldManager worldManager;
int dimid;

private Dimention()
{
}

public Dimention(int dimid)
public Dimension(int dimid)
{
this.dimid = dimid;
}
Expand All @@ -69,28 +56,4 @@ public int getDimid()
{
return dimid;
}

public void makeBackup()
{
worldManager.doBackup(new File(new File(worldManager.server.getBackupFolder(), DIM + dimid), BACKUP_SDF.format(new Date()) + ".zip"), getFolder(), dimid == 0 ? DIM_ONLY_FILTER : ACCEPT_NONE_FILTER);
}

public File getFolder()
{
return dimid == 0 ? worldManager.worldFolder : new File(worldManager.worldFolder, DIM + dimid);
}

public void update(WorldManager worldManager)
{
this.worldManager = worldManager;
}

public void delete() throws IOException
{
for (File file : getFolder().listFiles(dimid == 0 ? NOT_DIM_FILTER : ACCEPT_ALL_FILTER))
{
if (file.isFile()) file.delete();
else if (file.isDirectory()) FileUtils.deleteDirectory(file);
}
}
}
Expand Up @@ -71,8 +71,8 @@
public class FileManager
{
private final Server server;
private final File serverFolder;
private final File file;
private final File serverFolder;
private final File file;

public FileManager(Server server, String fileString)
{
Expand Down
101 changes: 57 additions & 44 deletions src/main/java/net/doubledoordev/backend/server/Server.java
Expand Up @@ -41,7 +41,6 @@
package net.doubledoordev.backend.server;

import com.google.gson.*;
import net.doubledoordev.backend.permissions.Group;
import net.doubledoordev.backend.permissions.User;
import net.doubledoordev.backend.server.query.MCQuery;
import net.doubledoordev.backend.server.query.QueryResponse;
Expand Down Expand Up @@ -93,12 +92,14 @@ public class Server
* Java bean holding all the config data
*/
private final ServerData data;
private final ArrayList<String> log = new ArrayList<>(LOG_LINES_KEPT + 10);
private final Map<Integer, Dimension> dimensionMap = new HashMap<>();

private final ArrayList<String> log = new ArrayList<>(LOG_LINES_KEPT + 10);
/**
* Diskspace var + timer to avoid long page load times.
*/
public int[] size = new int[3];
public QueryResponse cachedResponse;
public int[] size = new int[3];
public QueryResponse cachedResponse;
/**
* Used to reroute server output to our console.
* NOT LOGGED TO FILE!
Expand All @@ -111,15 +112,15 @@ public class Server
/**
* RCon instance + timer to avoid long page load times.
*/
private RCon rCon;
private RCon rCon;
/**
* MCQuery and QueryResponse instances + timer to avoid long page load times.
*/
private MCQuery query;
private MCQuery query;
/**
* The process the server will be running in
*/
private Process process;
private Process process;
private boolean starting = false;
private File backupFolder;
private WorldManager worldManager = new WorldManager(this);
Expand Down Expand Up @@ -189,6 +190,10 @@ public void run()
{
}
}
else
{
getProperties();
}
}

/**
Expand Down Expand Up @@ -397,12 +402,12 @@ public String getDisplayAddress()

public int getServerPort()
{
return Integer.parseInt(getProperty(SERVER_PORT));
return Integer.parseInt(properties.containsKey(SERVER_PORT) ? getProperty(SERVER_PORT) : "-1");
}

public int getRconPort()
{
return Integer.parseInt(getProperty(RCON_PORT));
return Integer.parseInt(properties.containsKey(RCON_PORT) ? getProperty(RCON_PORT) : "-1");
}

public int getOnlinePlayers()
Expand Down Expand Up @@ -599,6 +604,11 @@ public List<String> getExtraJavaParameters()
return data.extraJavaParameters;
}

public void setExtraJavaParameters(String list) throws Exception
{
setExtraJavaParameters(Arrays.asList(list.split(",")));
}

public void setExtraJavaParameters(List<String> list) throws Exception
{
if (getOnline()) throw new ServerOnlineException();
Expand All @@ -609,14 +619,14 @@ public void setExtraJavaParameters(List<String> list) throws Exception
Settings.save();
}

public void setExtraJavaParameters(String list) throws Exception
public List<String> getExtraMCParameters()
{
setExtraJavaParameters(Arrays.asList(list.split(",")));
return data.extraMCParameters;
}

public List<String> getExtraMCParameters()
public void setExtraMCParameters(String list) throws Exception
{
return data.extraMCParameters;
setExtraMCParameters(Arrays.asList(list.split(",")));
}

public void setExtraMCParameters(List<String> list) throws Exception
Expand All @@ -629,11 +639,6 @@ public void setExtraMCParameters(List<String> list) throws Exception
Settings.save();
}

public void setExtraMCParameters(String list) throws Exception
{
setExtraMCParameters(Arrays.asList(list.split(",")));
}

public String getJarName()
{
return data.jarName;
Expand Down Expand Up @@ -663,6 +668,12 @@ public String getOwner()
return data.owner;
}

public void setOwner(String username)
{
ownerObject = null;
data.owner = username;
}

public User getOwnerObject()
{
if (ownerObject == null) ownerObject = Settings.getUserByName(getOwner());
Expand All @@ -680,15 +691,14 @@ public User getOwnerObject()
return ownerObject;
}

public void setOwner(String username)
public List<String> getAdmins()
{
ownerObject = null;
data.owner = username;
return data.admins;
}

public List<String> getAdmins()
public void setAdmins(String list) throws Exception
{
return data.admins;
setAdmins(Arrays.asList(list.split(",")));
}

public void setAdmins(List<String> strings)
Expand All @@ -697,11 +707,6 @@ public void setAdmins(List<String> strings)
Settings.save();
}

public void setAdmins(String list) throws Exception
{
setAdmins(Arrays.asList(list.split(",")));
}

public void setAdmins()
{
setAdmins(Arrays.asList(new String[0]));
Expand All @@ -712,15 +717,15 @@ public List<String> getCoOwners()
return data.coOwners;
}

public void setCoOwners(List<String> strings)
public void setCoOwners(String list) throws Exception
{
data.coOwners = strings;
Settings.save();
setCoOwners(Arrays.asList(list.split(",")));
}

public void setCoOwners(String list) throws Exception
public void setCoOwners(List<String> strings)
{
setCoOwners(Arrays.asList(list.split(",")));
data.coOwners = strings;
Settings.save();
}

public void setCoOwners()
Expand Down Expand Up @@ -990,20 +995,28 @@ public WorldManager getWorldManager()
return worldManager;
}

/*
---------------------------------------------------------------- GSON ----------------------------------------------------------------
*/
public JsonElement toJson()
{
return GSON.toJsonTree(data);
}

public Map<Integer, Dimension> getDimensionMap()
{
return dimensionMap;
}

public static class Deserializer implements JsonDeserializer<Server>
{
@Override
public Server deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException
{
ServerData serverData = context.deserialize(json, ServerData.class);
Server server = new Server(serverData, false);
if (json.getAsJsonObject().has("dimentions"))
Server server = new Server((ServerData) context.deserialize(json, ServerData.class), false);
if (json.getAsJsonObject().has("dimensions"))
{
Dimention[] dimentions = context.deserialize(json.getAsJsonObject().get("dimentions"), Dimention[].class);
for (Dimention dimention : dimentions) server.getWorldManager().getDimentionMap().put(dimention.dimid, dimention);
for (Dimension dimension : (Dimension[]) context.deserialize(json.getAsJsonObject().get("dimensions"), Dimension[].class))
{
server.dimensionMap.put(dimension.dimid, dimension);
}
}
return server;
}
Expand All @@ -1014,9 +1027,9 @@ public static class Serializer implements JsonSerializer<Server>
@Override
public JsonElement serialize(Server src, Type typeOfSrc, JsonSerializationContext context)
{
JsonObject object = context.serialize(src.data).getAsJsonObject();
object.add("dimentions", context.serialize(src.getWorldManager().dimentionMap.values()));
return object;
JsonObject data = context.serialize(src.data).getAsJsonObject();
data.add("dimensions", context.serialize(src.dimensionMap.values()));
return data;
}
}
}
Expand Up @@ -64,7 +64,7 @@ public class ServerData
public String jarName = "minecraft_server.jar";
public String rconPswd = Helper.randomString(10);
public boolean autoStart = false;
public String owner;
public List<String> admins = new ArrayList<>();
public List<String> coOwners = new ArrayList<>();
public String owner = "";
public List<String> admins = new ArrayList<>();
public List<String> coOwners = new ArrayList<>();
}

0 comments on commit 624b9b2

Please sign in to comment.