From 4671d1b895a74b1162e0fcaa31084a486102e696 Mon Sep 17 00:00:00 2001 From: Chris Kearney <chris.kearney@urbanairship.com> Date: Sun, 30 Nov 2014 10:09:17 -0800 Subject: [PATCH] empty experiencemanager lol, and some server startup messages that aren't terrible --- .../java/com/comandante/creeper/Main.java | 20 +++++++++++++------ .../creeper/player/ExperienceManager.java | 5 +++++ .../creeper/server/CreeperServer.java | 16 ++++++++++++++- 3 files changed, 34 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/comandante/creeper/player/ExperienceManager.java diff --git a/src/main/java/com/comandante/creeper/Main.java b/src/main/java/com/comandante/creeper/Main.java index a92096fe..8bf59116 100644 --- a/src/main/java/com/comandante/creeper/Main.java +++ b/src/main/java/com/comandante/creeper/Main.java @@ -62,32 +62,35 @@ public class Main { PlayerManager playerManager = new PlayerManager(db, new SessionManager()); EntityManager entityManager = new EntityManager(roomManager, playerManager, db); Stats chrisBrianStats = new StatsBuilder().setStrength(7).setWillpower(8).setAim(6).setAgile(5).setArmorRating(4).setMeleSkill(10).setCurrentHealth(100).setMaxHealth(100).setWeaponRatingMin(10).setWeaponRatingMax(20).setNumberweaponOfRolls(1).createStats(); + startUpMessage("Configuring default admins."); if (playerManager.getPlayerMetadata(createPlayerId("chris")) == null) { - System.out.println("Creating Chris User."); + startUpMessage("Creating Chris User."); playerManager.savePlayerMetadata(new PlayerMetadata("chris", "poop", new String(Base64.encodeBase64("chris".getBytes())), chrisBrianStats)); } if (playerManager.getPlayerMetadata(createPlayerId("brian")) == null) { - System.out.println("Creating Brian User."); + startUpMessage("Creating Brian User."); playerManager.savePlayerMetadata(new PlayerMetadata("brian", "poop", new String(Base64.encodeBase64("brian".getBytes())), chrisBrianStats)); } - System.out.print("Building all rooms."); MapsManager mapsManager = new MapsManager(roomManager); GameManager gameManager = new GameManager(roomManager, playerManager, entityManager, mapsManager); + startUpMessage("Reading world from disk."); WorldExporter worldExporter = new WorldExporter(roomManager, mapsManager, gameManager.getFloorManager(), entityManager); worldExporter.readWorldFromDisk(); + startUpMessage("Generating maps"); mapsManager.generateAllMaps(9, 9); + startUpMessage("Adding Street Hustlers"); entityManager.addEntity(new NpcSpawner(new StreetHustler(gameManager), Area.NEWBIE_ZONE, gameManager, new SpawnRule(10, 100, 4, 100))); Iterator<Map.Entry<Integer, Room>> rooms = roomManager.getRooms(); while (rooms.hasNext()) { Map.Entry<Integer, Room> next = rooms.next(); next.getValue().setAreas(Sets.newHashSet(Area.NEWBIE_ZONE)); } - System.out.println("done!"); + startUpMessage("Adding beer"); ItemSpawner itemSpawner = new ItemSpawner(ItemType.BEER, Area.NEWBIE_ZONE, new SpawnRule(20, 20, 4, 100), gameManager); entityManager.addEntity(itemSpawner); - + startUpMessage("Configuring Creeper Commmands"); creeperCommandRegistry = new CreeperCommandRegistry(new UnknownCommand(gameManager)); creeperCommandRegistry.addCommand(new DropCommand(gameManager)); creeperCommandRegistry.addCommand(new GossipCommand(gameManager)); @@ -108,8 +111,13 @@ public class Main { creeperCommandRegistry.addCommand(new BuildCommand(gameManager)); CreeperServer creeperServer = new CreeperServer(8080, db); + startUpMessage("Creeper engine started"); creeperServer.run(gameManager); - System.out.println("Creeper started."); + startUpMessage("Creeper online"); + } + + private static void startUpMessage(String message) { + System.out.println("[STARTUP] " + message); } private static void checkAndCreateWorld() throws IOException { diff --git a/src/main/java/com/comandante/creeper/player/ExperienceManager.java b/src/main/java/com/comandante/creeper/player/ExperienceManager.java new file mode 100644 index 00000000..632f5c9d --- /dev/null +++ b/src/main/java/com/comandante/creeper/player/ExperienceManager.java @@ -0,0 +1,5 @@ +package com.comandante.creeper.player; + +public class ExperienceManager { + +} diff --git a/src/main/java/com/comandante/creeper/server/CreeperServer.java b/src/main/java/com/comandante/creeper/server/CreeperServer.java index 1bb8176e..1a8d14eb 100644 --- a/src/main/java/com/comandante/creeper/server/CreeperServer.java +++ b/src/main/java/com/comandante/creeper/server/CreeperServer.java @@ -3,6 +3,7 @@ package com.comandante.creeper.server; import com.comandante.creeper.managers.GameManager; import org.jboss.netty.bootstrap.ServerBootstrap; +import org.jboss.netty.channel.ChannelException; import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory; import org.mapdb.DB; @@ -19,10 +20,23 @@ public class CreeperServer { this.db = db; } + public static void exitServer(String exitMessage) { + exitServer(exitMessage, 0); + } + + public static void exitServer(String exitMessage, int code) { + System.out.println("[SERVER IS SHUTTING DOWN] " + exitMessage); + System.exit(code); + } + public void run(GameManager gameManager) throws Exception { ServerBootstrap bootstrap = new ServerBootstrap(new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool())); CreeperAuthenticationHandler handler = new CreeperAuthenticationHandler(gameManager); bootstrap.setPipelineFactory(new CreeperServerPipelineFactory(handler)); - bootstrap.bind(new InetSocketAddress(port)); + try { + bootstrap.bind(new InetSocketAddress(port)); + } catch (ChannelException e) { + exitServer(e.getMessage(), 127); + } } } -- GitLab