By default we don't want to use binreloc for setting the paths
dynamically. Instead this can be enabled through the command line
argument "--cyphesis:dynamicpaths=true".
We don't envision cyphesis will be distributed as a binreloc package
much. Using a container format such as Docker seems more plausible.
The idea is that the aiclient runs in a separate process and handles all
AI functionality.
This is done by having a "possession" client which recieves possession
requests from the server, and spawns new AI clients for each request.
It's currently a copy of the Mason ruleset.
Where Mason focuses on letting the users create the world themselves,
Deeds instead focuses on allowing world authors to set up enticing
worlds with gameplay and stories. In contrast to Mason there are more
features available to the world authors which allow for automatic
creation of entities and so on.
For some time these haven't worked. The cause was a linker/compiler
issue where string fields not being assigned value if they weren't of
the correct constness.
* common/globals.cpp: Modify the way socket paths are handled
and allow them to be specified as absolute paths.
* client/ClientConnection.cpp, server/CommUnixListener.cpp,
tools/cyaddrules.cpp, tools/cycmd.cpp: Don't build the complete
socket path here, as it is now determined in the config.
* common/Database.cpp, common/globals.cpp, common/id.cpp,
common/log.cpp, modules/DateTime.cpp, rulesets/Container.h,
rulesets/Statistics.h, server/CommListener.cpp,
server/CommServer.cpp, tools/cyconfig.cpp, tools/cyconvertrules.cpp:
Add includes required for recent compilers which include less
stuff implicitly in standard headers.
* common/globals.cpp: Add usage information for --help and --version
so that the checker does not warn about them.
* configure.ac: Increment version.
* NEWS: Update NEWS announcement for release.
* Release 0.5.15
* server/Persistance.cpp: Add an information message when attempting
to create a new instance database.
* server/server.cpp: Store a new value for the start of the dynamic
port range, if one is allocated.
* common/globals.cpp: Force the instance name into lower case
alphanumeric, and underscore only. Reject it if it can't easily
be forced.
* common/globals.h, common/globals.cpp: Provide a separate function
for saving user settings back to the home directory. When
configuring a new instance, store the ruleset in user settings,
and log an informational message rather than a warning.
* server/server.cpp: When dynamically assigning a port to a new
instance, store the port in user settings, and log an informational
message. Save the user configuration once the validity has been
completely verified and applied.
* common/globals.cpp, common/globals.h: Add a new config setting for
the instance short name, and support per-instance configuration.
Add config settings for a dynamic port range.
* server/server.cpp: Support per-instance configuration and use a
dynamic port for non-default instances.