Upcoming Release

From LugdunonWiki
Revision as of 02:29, 26 March 2014 by Lugdunon (Talk | contribs)

Jump to: navigation, search

0.6.2


Last Updated: 26/03/2014


/etc files altered in this update:

  • manifest.json
  • mods.json
  • restHandlers.json
  • subsystems.json


Release Notes:

  • Fixed an issue with the auth server not sending the welcome email on account registration.
  • Fixed a small issue with the table styling.
  • Completed the outstanding client UIs for the standalone client. This includes the ability to create, edit, and launch single player and multi player server instances, and configure the standalone server's startup configuration.
  • Custom server.cfg and world.cfg properties can now be registered for discover by server and world mods.
  • Added net.lugdunon.states.worldGen.WorldGenState to the client-side code base.
  • Added net.lugdunon.states.list.AvailableWorldGensList to the client-side code base.
  • net.lugdunon.states.LargeDialogState now supports the use of a closeDelegate.
  • net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting now allows for the selection of a local server address (for multiplayer instances), and also supplies the necessary information for port forwarding and for disseminating to players.
  • net.lugdunon.ui.settingsMenu.SettingsDialog now support the inclusion of a setting index when calling show(), which will determine the setting initially shown to the user.
  • net.lugdunon.ui.SimpleKeyValuePropertyEditor now supports the inclusion of a data set upon initialization.
  • Namespace will now attempt to frontload all css assets supplied by a manifest for a given searchpath.
  • Support for CSS supplied via server and standalone client has been finally added. CSS urls now support an ${ASSETS_PREFIX} wildcard for assets served up by a server, or the standalone client. This prefix will be replaced with the asset search path used to load the CSS.

game.loadGameState() now support the re-initialization of a game state if the initData property is not null.

  • Added support for versioning of assets through the use of a server-hosted .ldn file, and the mod.json, server.mod.json, or artifact.ldn file. This file, named the same as the asset, and terminated with an ".ldn" extension, consists of a version and an MD5 checksum. The mod.json, server.mod.json, and artifact.ldn all contain the artifact / asset's version and artifactory url. Support will soon be added to allow a server or standalone client to query an artifactory for any updated artifacts / assets on startup and update accordingly.
  • Added net.lugdunon.task.LDNTask to the build code base.
  • Added win/unix server builds to the build process.
  • Added .ldn generation to the build process.
  • The standalone client can now serve up assets deemed to be 'standalone exports'. These assets are listed in a standaloneExports.json file placed in the default package of an artifact / asset .jar. An asset listed therein will appear in the client's, and not the server's manifest.
  • Added net.lugdunon.client.manifest.ManifestGenerator to the standalone client code base.
  • Standalone client now enumerate's local addresses in a separate thread upon startup.
  • Added net.lugdunon.client.WorldGeneratorRunner to the standalone client code base.
  • World generation is accomplished by spawning a separate process.
  • Added standaloneExports.json to the standalone client code base.
  • Added standaloneExports.json to the server side code base.
  • Added standaloneExports.json to the default world gen server mod code base.
  • Added net.lugdunon.client.artifact.ldn to the standalone client code base.
  • Added net.lugdunon.server.artifact.ldn to the server side code base.
  • Added net.lugdunon.server.mod.ServerMod.getArtifact() to the server side API.
  • Added net.lugdunon.server.mod.ServerMod.listRegisteredServerProperties() to the server side API.
  • Added net.lugdunon.server.mod.ServerMod.listRegisteredWorldProperties() to the server side API.
  • Added net.lugdunon.state.mod.Mod.getArtifact() to the server side API.
  • Added net.lugdunon.state.mod.Mod.listRegisteredServerProperties() to the server side API.
  • Added net.lugdunon.state.mod.Mod.listRegisteredWorldProperties() to the server side API.
  • Moved Buttons.png to the net.lugdunon.world.defaults.tui mod.
  • Moved LunarPhases.png to the net.lugdunon.world.defaults.tui mod.
  • Added Game.css to the net.lugdunon.world.defaults.tui mod.
  • Added net.lugdunon.rest.core.RESTServiceEnumeratorHandler to the server-side code base.
  • Added net.lugdunon.rest.core.system.RegisteredServerPropertiesHandler to the server-side code base.
  • Added net.lugdunon.rest.core.system.RegisteredWorldPropertiesHandler to the server-side code base.
  • Added net.lugdunon.server.worldgen.ex.WorldIdNotSetException to the server-side code base.
  • Added net.lugdunon.server.worldgen.WorldGenerator to the server-side code base.
  • Added net.lugdunon.server.PropertyDefinition to the server-side code base.
  • Added net.lugdunon.util.FileUtils.JSONArrayToSimpleMap(String key, String value, JSONArray a, Map<String, String> m) to the server-side API.
  • Added net.lugdunon.util.FileUtils.JSONArrayToSimpleList(JSONArray a) to the server-side API.
  • Added net.lugdunon.util.FileUtils.JSONArrayToSimpleList(JSONArray a, List<String> l) to the server-side API.
  • Added net.lugdunon.util.FileUtils.loadJar(String jarPath) to the server-side API.
  • Added net.lugdunon.util.FileUtils.getVersion(String pathToArtifact) to the server-side API.
  • Added net.lugdunon.util.FileUtils.getArtifactURL(String pathToArtifact) to the server-side API.
  • Fixed an issue on the client-side that was causing placeable range checks to now wrap. This should fix the issues reported with being unable to access certain workstations in Aunt Peru's house.
  • Added a standalone client (in three flavors: MacOS, Linux, and Windows)! The client is written using JCEF (https://code.google.com/p/javachromiumembedded). The standalone client (and server now) require a 64-bit java 7. This client currently support the playing of Lugdunon in a native environment, free from the need of an html5 complient web browser. Also supported currently is the ability to run a game campaign in standalone, single-player mode, and a multi-player server option for LAN and WAN play is coming soon!
  • Added jquery base64 encoding / decoding lib to client code base.
  • Added support for acquiring the current machine's public IP address (game.client.getPublicIp()).
  • Addition of a standalone mode for both client and server code bases. Checking this on the server can be accomplished by calling Server.isStandalone() and on the client with game.isStandalone().
  • net.lugdunon.states.list.LargeListState.populateListItems() now returns a boolean to indicate the inclusion of an 'add new row' list item.
  • Added net.lugdunon.ui.settingsMenu.settings.standalone.StandaloneClientSetting to the client-side code base. Players will be able to modify certain settings that pertain to standalone mode. Currently supported is the ability to change properties pertaining to the standalone server configuration.
  • Added net.lugdunon.states.list.StandaloneClientOptionsList to the client-side code base. This will appear in lieu of of the server listing when a player logs into the standalone client. The server list will be shown instead in the case of a guest login.
  • Added net.lugdunon.states.list.SinglePlayerOptionsList to the client-side code base. This appears when a player selected 'Singleplayer' from the standalone client options. Here, a player will be able to create new and edit existing single player campaigns.
  • The progress dialog now has its id set using .data() upon creation.
  • The client in standalone mode now features a black background.
  • Added a net.lugdunon.ui.table.Table UI control to the client-side code base. This control supports the use of column models to dictate rendering, filtering, and sorting of data.
  • Added net.lugdunon.ui.SimpleKeyValuePropertyEditor to the client-side code base. This editor leverages the new table control to allow for simple key / value property editing.
  • Added game.getQSParams() to the client-side API. This allows easy access to any query parameters that exist in the query string of the URL used to load the client.
  • Full screen functionality now takes advantage of the system's native full-screen exclusive mode for rendering at full screen when the client is run in standalone mode.
  • Added game.getStandaloneRequest(request,props,callback,context) to the client-side API. This is used for calling any standalone client bridging REST services as a GET request. Calling this on a client that is not currently in standalone mode will have no result.
  • Added game.postStandaloneRequest(request,props,callback,context) to the client-side API. This is used for calling any standalone client bridging REST services as a POST request. Calling this on a client that is not currently in standalone mode will have no result.
  • Added the standalone client java code to the LugdunonServer project. The client code base leverages the server's code as well as including the ability to launch a server instance in a separate process. Also, for means of IPC communication between the standalone client and the chrome (HTML5) client process, and also between the standalone client and the server process, the standalone client maintains two small collections of REST services (one for each bridge). These services reside on the loopback interface on ports 41972, and 41973.
  • The chrome (HTML5) client process is open for remote debugging on the loop interface at 41971.
  • The lugdunon-server.jar is no longer monilithic. All supporting libs are now distributed alongside the server.jar. In addition, all mods are now self contained in their respective jars as well.
  • Added a net.lugdunon.world.defaults.audio mod for containing all of the default sound effects used in Lugdunon.
  • Added a net.lugdunon.world.defaults.audio.music mod for containing the default musical score used in Lugdunon.
  • Moved net.lugdunon.world.environment.calendar.BaseCalendar from the net.lugdunon.world.defaults.environment mod to the main server code where it belongs.
  • net.lugdunon.asset.manager.FileSystemAssetManager is now the default asset manager.
  • net.lugdunon.asset.manager.FileSystemAssetManager has been optimized heavily to leverage the existing cache. This results in a server loading time of < 20 seconds.
  • Mods are now loaded from a jar file at runtime, and placed in the world's ~/mods/ directory. They can be enabled via inclusion in the ~/etc/mods.json file. The mods and jar files are named according to the package that the mod.json manifest file is located.
  • net.lugdunon.manifest.ManifestGenerator now examines the contents of all loaded mod jars in the discovery of client-side assets.
  • Added an id field to net.lugdunon.state.mod.Mod in the server-side API.
  • Added a version field to net.lugdunon.state.mod.Mod in the server-side API.
  • Added net.lugdunon.state.mod.Mod.getModFilePath() to the server-side API.
  • Added net.lugdunon.state.subsystem.Subsystem to the server-side code base.
  • Added net.lugdunon.state.subsystem.Subsystems to the server-side code base.
  • Modified the start() procedure for net.lugdunon.Server to facilitate standalone server mode.
  • Modified the init() procedure for net.lugdunon.state.State to facilitate standalone server mode.
  • Added ~/times.cfg for holding campaign creation, and last accessed times.
  • Added net.lugdunon.state.World.getCreated() to the server-side API.
  • Added net.lugdunon.state.World.getLastAccessed() to the server-side API.
  • Added net.lugdunon.state.World.getLastAccessed(boolean update) to the server-side API.
  • Added net.lugdunon.state.World.getModPath() to the server-side API.
  • Added net.lugdunon.state.World.createDefaultWorldStructure(String worldBase) to the server-side API.
  • Added net.lugdunon.state.World.getSubsystems() to the server-side API.
  • Removed net.lugdunon.state.World.getEnvironment() from the server-side API.
  • Removed net.lugdunon.state.World.getCharacterStatsSystem() from the server-side API.
  • Added net.lugdunon.util.CallService to the server-side code base to facilitate the calling of REST services.
  • Added net.lugdunon.util.IFatalErrorHandler to the server-side code base. Any error that requires the cessation of the server process should call State.instance().getFatalErrorHandler().handleFatalError() from now on.
  • Added net.lugdunon.util.ExitFatalErrorHandler to the server-side code base.
  • Added net.lugdunon.util.FileUtils.setBaseFilePath(String baseFilePath) to the server-side API.
  • Most of net.lugdunon.util.FileUtils' file access methods now support an absolute path mode.
  • Added net.lugdunon.util.LocalNetworkAddressEnumerator to server-side API.
  • Added ~/etc/subsystems.json.
  • Added support for 'server' mods. These mods are slightly different than the existing 'world' mods in that they are loaded before everything else, and can alter the behavior of the server at large, as opposed to being confined to the scope of a particular world.
  • Added support for a world generator system. This system handles the creation, deployment, and configuration of a game world.
  • Added -Dlugdunon.server.mod.path JVM argument to indicate the location of the default server mods.
  • Added -Dlugdunon.mod.path JVM argument to indicate the location of the default world mods.
  • Added default.world.gen server.cfg property.
  • Added net.lugdunon.world.defaults.tui mod. This mod contains the default tileset and UI assets.
  • Added net.lugdunon.server.worldgen.defaults server mod. This mod contains the default world gen + all related ~/etc/ assets.
  • All State.instance().getServerProperty() methods moved to Server.getServerProperty().
  • Added Server.getServerModCache() to the server-side API.
  • Added net.lugdunon.server.mod.ServerMod to the server-side code base.
  • Added net.lugdunon.server.mod.ServerModCache to the server-side code base.
  • Added net.lugdunon.server.mod.ServerModCache to the server-side code base.
  • Added net.lugdunon.server.worldgen.defaults.IWorldGen.
  • Added net.lugdunon.server.worldgen.defaults.BaseWorldGen.
  • Added net.lugdunon.server.worldgen.defaults.DefaultWorldGen.
  • Added net.lugdunon.server.worldgen.ex.WorldConfigurationException to the server-side code base.
  • Added net.lugdunon.server.worldgen.ex.WorldGenerationException to the server-side code base.
  • Added net.lugdunon.server.worldgen.ex.WorldInitializationException to the server-side code base.
  • Added net.lugdunon.util.FileUtils.JSONObjectToSimpleMap(JSONObject o) to the server-side API.
  • Added net.lugdunon.util.FileUtils.JSONObjectToSimpleMap(JSONObject o, Map<String, String> m) to the server-side API.