Version 3.4 of Snipe server core released

2017-03-22 00:00:00 +0000

The largest release to date of Snipe server is now available for download from Github repository. This release brings the following additions and changes to the Snipe server platform:

New packages:

  • Room manager package. Used for creation and management of the player rooms on slave servers. Persistent rooms are supported.
  • Leaderboards package. Manages the leaderboards updated in real-time.
  • Basic user matchmaking package. Provides your project with server-side 1v1 matchmaking.
  • Extended user matchmaking package. Further customization of basic matchmaking that supports any number of users matched against each another.
  • Test messages package. Gives access to various client requests that allow measuring server performance and profiling important APIs.
  • Kongregate login package. Kongregate network login API was moved into a separate package from the core.
  • User session length stats package. Allows the collection and display of average user session length stats.

Additions:

  • Large amount of server optimizations. In particular, user login and registration were rewritten to support much heavier load (with minor breaking changes detailed below).
  • Asynchronous database connections manager and API for asynchronous database queries. Used in the new user login and registration code.
  • Live client migration between slave server threads with support for automatic migration on client login.
  • Editor and server support for static tables.
  • Various clan module additions and fixes.
  • Macros for automating access to user attributes and variables.
  • Ingame shop module item purchases stats collection and display.
  • Editor support for stats dashboard.
  • Debug server compilation flags.

New cache server configuration variables:

  • “asyncDatabase.threads” - Sets the amount of async database manager threads (default: 1)
  • “asyncDatabase.connectionsPerThread” - Sets the amount of database connections per thread (default: 1)

New slave server configuration variables:

  • “server.compressionMinSize” - Sets the minimum message size for compression to work (default: 512 bytes)

Breaking changes:

  • cache: ModuleCache.loginPost(), ModuleCache.registerPost() now have additional parameter - SQL query function and run from the asynchronous worker thread
  • slave: Module hook renamed: “core/user.register” -> “core/user.registerPost”, Module.register() -> Module.registerPost()

  • All editor templates renamed with “core/” prefix in front. For example, “form.header” -> “core/form.header”, etc. To fix editor compilation, open “index.hxml” and add “core/” prefix after @ symbol on each line.

Example (before):

--resource ../../../snipe/edit/www/tpl/form.header.htpl@form.header

--resource ../../../snipe/edit/www/tpl/form.footer.htpl@form.footer

After:

--resource ../../../snipe/edit/www/tpl/form.header.htpl@core/form.header

--resource ../../../snipe/edit/www/tpl/form.footer.htpl@core/form.footer

Important note:

You may see the following error message during server start:

Called from sys/db/Postgresql.hx line 405 Uncaught exception - load.c(357) : Primitive not found : npostgres@np_set_non_blocking(2)

It means that you need to replace your old “npostgres.ndll” file with the new one from the core containing new functions for asynchronous database calls.

Version 3.3 of Snipe server core available

2016-06-16 00:00:00 +0000

The next public release of Snipe server is now ready. You can download version 3.3 from Github repository. This release brings the following additions to the Snipe server platform:

  • Second version of PerfTest tool. Supports extended scripts, measurements and full logging for post-run stats processing.
  • Calendar event groups added to calendar events module.
  • Quests can now have completion timers.
  • Editor sub-permissions support and implementation in statistics module.
  • Base script (snipe.lib.ScriptBase) API additions and fixes.
  • Editor API additions and fixes.
  • Additions and small changes to the core API.

Full changelog is available here.

Version 3.2 of Snipe server core released

2016-01-28 00:00:00 +0000

The next public release (version 3.2) of Snipe server core is now available in Github repository. This release brings the following additions to the Snipe server platform:

  • Generic containers.
  • Reworked UserAttributesCore, UserVariablesCore, BadgesCore and UserEffectsCore to use generic containers.
  • Script-based testing tool additions and fixes. Added support for embedded Haxe code.
  • User clans module (currently in alpha).
  • WebSocket protocol fixes (still in alpha status).
  • Multiple method subscriptions additions.
  • Quest module refactoring and additions.
  • Editor API additions and fixes.
  • Additions and small changes to the core API.

Full changelog is available here.

Version 3.1 of Snipe server core available

2015-11-03 00:00:00 +0000

The second public release of Snipe server is live. Version 3.1 is available in Github repository. This release brings the following additions to the Snipe server platform:

  • Method subscriptions.
  • Shop module statistics collection and display.
  • Quest module additions and fixes (item requirements, etc).
  • Temporary item variables (will not persist on server restart).
  • WebSocket implementation (alpha status).
  • Fixes for Haxe 3.2.0.
  • Stats collection and display additions.
  • Editor API additions and fixes.
  • Numerous documentation changes.
  • Small additions to the core API.

Full changelog is available here.

Snipe server core 3.0 released

2015-09-04 00:00:00 +0000

Today the Snipe server platform has had its first public release. There were more internal releases before that so in the interest of keeping versioning consistent it was labelled as 3.0.