This document describes how to install an Anacreon server on Hexarc. You must have already installed an arcology. See: https://ministry.kronosaur.com/record.hexm?id=58505.

Core Concepts

An Anacreon installation consists of the following components:

  • Anacreon3.exe: This is a Hexarc module, written in C++, which implements the game server.
  • Anacreon package: This is a Hexarc package which implements the web site that presents a UI for playing Anacreon. It is implemented in a combination of HexeLisp (for server-side components) and HTML/JavaScript (for client-side).
  • Multiverse package: The Multiverse package is a web site to manage the deployment of Anacreon scenarios and resources. Eventually, this web site could allow players to deploy their own scenarios and share them with others. For now, it is used by Anacreon developers to deploy scenarios.
  • Anacreon resources and scenarios: These are a set of files that implement the core Anacreon scenario (Fallen Worlds). It must be uploaded to the Multiverse before a game can be created.

Installation

This section describes how to install the Anacreon server and the scenario files. Make sure you have all files in the proper places:

  • Anacreon3.exe should be in the modules directory (c:\hexarc\modules).
  • The c:\hexarc\dev directory should have two subdirectories: Anacreon and Multiverse.
  • Download the scenario files and put them in c:\hexarc\dev\AnacreonScenarios.

Packages & Module

First install both packages:

  • Edit the Windows hosts file to add entries for anacreon.dev.com and multiverse.dev.com. [You may use different domain names, but then you'll have to edit AnacreonPackage.ars and MultiversePackage.ars.]
  • Make sure Hexarc server is running.
  • Run AI1 and sign in as an administrator.
  • Type: uploadPackage Multiverse Multiverse\MultiversePackage.ars. Make sure all files upload. [NOTE: It is always safe to re-upload.]
  • Type: uploadPackage Anacreon Anacreon\AnacreonPackage.ars.
  • Now go to: http://ai2.dev.com and sign in.
  • Type package.list to see that the packages uploaded correctly.
  • Type module.add Anacreon3 to add the Anacreon module.
  • Type module.list to see that the module was added correctly.
  • Type help anacreon to see a list of Anacreon related commands.
  • Type user.setAnacreonDeveloper {username} and replace {username} with the username that will have permissions to create scenarios and games. This will be your Anacreon developer account. You can have this be the same as the Hexarc administrator account, if you want. Or, you can visit http://multiverse.dev.com to create a new account.

Uploading Scenario Files

Now you need to upload the scenario file.

  • Go to: http://multiverse.dev.com and sign in with your Anacreon developer account.
  • Click on the development tab.
  • Click on the Create button (ignore the error about trans.listAssignedUNIDs).
  • Select the Anacreon Expansion tab.
  • For name, type: Anacreon Core Library
  • For UNID, type: core.library
  • Click the Create button on the dialog box.
  • Scroll down a bit and you'll see a section labeled Package. Click the Upload button and navigate to the c:\hexarc\dev\AnacreonScenarios directory.
  • Select Core.ars and click OK.
  • Keep scrolling down and you'll see a section labeled Resources. Click the Upload button and navigate again to c:\hexarc\dev\AnacreonScenarios.
  • Make sure you're sorting by name, and select the first file. It should be AetherealWorldHemisphere.
  • Keep upload all other files, except Core.ars (which you already uploaded) and FallenWorlds.ars (which we'll upload below).
  • Double check to make sure you've uploaded all proper files. [In the future we'll add a way to upload a bulk zip file or something.]
  • Go back to http://multiverse.dev.com and back to the development tab. You should see your newly created upload.
  • Click on the Create button again to bring up the dialog box.
  • For name, type: Fallen Worlds
  • For UNID, type: fallenWorlds.scenario
  • Click Create.
  • Click the Edit button next to Catalog Entry and type in an appropriate description for the scenario (this will show up when you create or join a game).
  • Click Save.
  • In the Package section, click Upload.
  • Select FallenWorlds.ars.

Creating a New Game

Now that the scenario files are uploaded, you'll need to create a new game.

  • Go to: http://anacreon.dev.com and sign in with your Anacreon developer account.
  • Click on Play.
  • You should see an option to create a New Game. Click the button.
  • Now you should see the Fallen Worlds scenario. Click the Create button.
  • Edit the options, if necessary, and click Create.
  • It may take a while to create the game. Look at the server window and see it output. Under certain conditions, the game takes so long to create that the browser times out (that's a bug on my part). If that happens, don't worry, just let the server continue.
  • Go to http://anacreon.dev.com/games.hexm and hit refresh until you see a new game.
  • When the game appears, click Join and follow the instructions. If all went well, you should be inside an Anacreon game.

Editing Anacreon Code

You can edit the HTML/JavaScript UI for the game.

  • Go to c:\hexarc\dev\Anacreon. The Site directory contains the files that implement the web site.
  • The .hexm files are server-side script pages (equivalent to PHP, but using a Lisp-variant as a language).
  • The res subdirectory contains all the JavaScript files. Start looking at trantor.js, which is the main file. At the bottom of the file you'll see it initialize everything.
  • Start by setting breakpoints in trantor.js to see how things work.
  • If you edit any files, you'll need to re-upload the package (using AI1). And you'll probably need to refresh your browser.