Browse Source

Updated Quake Live Config

pull/7/head
Daniel Gibbs 8 years ago
parent
commit
1f925bd670
  1. 251
      QuakeLive/server.cfg
  2. 103
      QuakeLive/server.cfg.orig
  3. 228
      QuakeLive/server_readme.txt

251
QuakeLive/server.cfg

@ -1,32 +1,114 @@
// ****************************************************************************
// *
// Quake Live - server.cfg *
// Version 090217 *
// *
// ****************************************************************************
// Servers have the ability to run multiple gametypes, known as "factories." You should not add gameplay related
// cvars in the server config: they may get overwritten by the factory. For creating your own sets of gameplay rules,
// create a file ending in ".factories" inside baseq3/scripts, and refer to "Creating custom gametypes" in the
// server_readme.txt file.
// This config will override command line options.
// Be aware that factories can override any cvar, including ones specified in this config file.
// ............................. Basic Settings ............................. //
// Hostname for server.
set sv_hostname "SERVERNAME"
set sv_tags "" // Comma delimited field of server tags to show in server browser.
// Will automatically include gametype and some gameplay modifications.
// ex. "crouch slide, classic, space"
set sv_mapPoolFile "mappool.txt" // Map pool that the server will use. See default mapcycle.txt for format.
// Built in map pools: mappool.txt, mappool_ca.txt, mappool_ctf.txt, mappool_duel.txt,
// mappool_ffa.txt, mappool_race.txt, mappool_tdm.txt
set g_accessFile "access.txt" // Used to determine which 64-bit Steam IDs have admin access, or are banned.
set sv_maxClients "16" // How many players can connect at once.
set g_password "" // Set a server-wide password, and stop all users from connecting without it.
set sv_privateClients "0" // Reserve slots that can be used with sv_privatePassword.
set sv_privatePassword "" // Password to use in conjunction with sv_privateClients.
set com_hunkMegs "60" // May need to be increased for additional players.
// Flood protection will increment everytime the user sends a client command, ex. dropweapon, changing name, color
// model, or chatting. Set g_floodprot_maxcount to 0 to disable completely, but this will allow uncontrolled spam.
set sv_floodprotect "10" // Kick the player when they reach x commands, decreases by 1 every second
set g_floodprot_maxcount "10" // Kick the player when their userinfo flood counter reaches this level.
set g_floodprot_decay "1000" // Decrease the userinfo flood counter by 1 this often, in milliseconds.
// Add the below values for which callvotes should be DISABLED:
// Server password - for private servers.
set g_password ""
// Server tags - Tags show up on the in-game server browser. This helps
// users filter servers.
// e.g "crouch slide, classic, space, custom"
// example: sv_tags "custom, classic"
set sv_tags ""
// ............................... Map Cycles ............................... //
// info: The .txt file used to cycle the maps on servers.
// There are several predefined mapcycles available that are listed below.
// You can also create your own custom mapcycle.
// "mappool.txt" - all maps
// "mappool_ca.txt" - Clan Arena
// "mappool_ctf.txt" - Capture the Flag
// "mappool_duel.txt" - Duel
// "mappool_ffa.txt" - Free for All
// "mappool_race.txt" - Race
// "mappool_tdm.txt" - Team Death Match
set sv_mapPoolFile "mappool.txt"
// Default map
// Random Map - startRandomMap
// Specific map (factory is required) - map campgrounds ffa
// Default: set serverstartup "startRandomMap"
set serverstartup "startRandomMap"
// ............................ Client Settings ............................. //
// Number of player slots available.
// Default: set sv_maxClients "16"
set sv_maxClients "16"
// Reserved slots, requires sv_privatePassword.
// Default: set sv_privateClients "0"
set sv_privateClients "0"
// Reserved slots password.
// Default: set sv_privatePassword ""
set sv_privatePassword ""
// ............................ Flood Protection ............................ //
// Flood protection will increment everytime the user sends a client command.
// Excluding: dropweapon, changing name, color, model, or chatting.
// Set g_floodprot_maxcount to 0 to disable flood protection, but this not reccomended.
// Kick a player when their userinfo flood counter reaches this level.
// Default: set g_floodprot_maxcount "10"
// Disable: set g_floodprot_maxcount "0"
set g_floodprot_maxcount "10"
// Kick a player when they reach X commands, decreases by 1 every second
// Default: set sv_floodprotect "10"
set sv_floodprotect "10"
// Decrease the userinfo flood counter by 1 this often, in milliseconds.
// Default: set g_floodprot_decay "1000"
set g_floodprot_decay "1000"
// Used to determine which 64-bit Steam IDs have admin access, or are banned.
set g_accessFile "access.txt"
// ................................. Voting ................................. //
// Allow Voting.
// 1 - enabled
// 0 - disabled
// Default: set g_allowVote "1"
set g_allowVote "1"
// Delay allowing votes for X milliseconds after map load.
// Default: set g_voteDelay "0"
set g_voteDelay "0"
// Limit users to X votes per map.
// 0 - no limit
// Default: set g_voteLimit "0"
set g_voteLimit "0"
// Only allow votes from mid game
// default - set g_allowVoteMidGame "0"
set g_allowVoteMidGame "0"
// Allow spectators to call votes
// Default: set g_allowSpecVote "0"
set g_allowSpecVote "0"
// Add together the below values for which callvotes should be DISABLED:
// map 1
// map_restart 2
// nextmap 4
@ -41,63 +123,114 @@ set g_floodprot_decay "1000" // Decrease the userinfo flood counter by 1 this
// end-game voting 2048
// ammo (global) 4096
// timers (item) 8192
// e.g to disable map and nextmap: 1+4=5
//
// Default - set g_voteFlags "0"
set g_voteFlags "0"
set g_allowVote "1" // Turn off all votes
set g_voteDelay "0" // Delay allowing votes for x milliseconds after map load.
set g_voteLimit "0" // Limit users to x votes per map.
set g_allowVoteMidGame "0" // Don't allow callvotes once the map has started
set g_allowSpecVote "0" // Allow spectators to call votes
set sv_warmupReadyPercentage "0.51" // Ratio of players that must be ready before the match starts.
set g_warmupDelay "15" // Wait x seconds before allowing match to start to allow all players to connect.
set g_warmupReadyDelay "0" // Force the game to start after x seconds after someone readies up.
set g_warmupReadyDelayAction "1" // Set to 1 to force players to spectator after g_warmupReady Delay, 2 to force ready up.
set g_inactivity "0" // Kick players who are inactive for x amount of seconds.
set g_alltalk "0" // 0: Limit voice comms to teams during match
// 1: Allow all players to talk to each other always
// 2: 1+ send back your own voice to yourself for testing
// System settings
// Uncomment and set below to use (server.cfg will override commandline!)
// set net_strict "1" // Quit out immediately if we can't bind the IP and port.
// set net_ip "" // Which IP to bind to. Blank will bind to all interfaces.
// set net_port "55555" // Which UDP port to bind to. Blank will start at 27960 and keep going up, if net_strict is 0.
set sv_serverType "2" // 0 = Offline, 1 = LAN, 2 = Internet
set sv_master "1" // Whether the server should respond to queries. Disable this to stop server from appearing in browser.
// (This will affect the LAN browser!)
set sv_fps "40" // Change how many frames the server runs per second. WARNING: Has not been tested extensively, and
// will have a direct impact on CPU and network usage!
// ....................... Time Limits/Round Settings ....................... //
// Ratio of players that must be ready before the match starts.
// Default: set sv_warmupReadyPercentage "0.51"
set sv_warmupReadyPercentage "0.51"
// Wait x seconds before allowing match to start to allow all players to connect.
// Default: set g_warmupDelay "15"
set g_warmupDelay "15"
// Force the game to start after x seconds after someone readies up.
// Default: set g_warmupReadyDelay "0"
set g_warmupReadyDelay "0"
// Set to 1 to force players to spectator after g_warmupReady Delay, 2 to force ready up.
// Default: set g_warmupReadyDelayAction "1"
set g_warmupReadyDelayAction "1"
// Kick players who are inactive for X amount of seconds.
// 0 - disabled
// Default: set g_inactivity "0"
set g_inactivity "0"
// ............................. Communication ............................. //
// Voice Comms
// 0 - Limit voice comms to teams only during the match.
// 1 - Allow all players to talk to each other.
// Default: set g_alltalk "0"
set g_alltalk "0"
// ................................ Network ................................ //
// Which IP to bind to. Blank will bind to all interfaces.
set net_ip ""
// Server port (UDP)
// Blank - Will increment until finds an empty unbound. net_strict must be 0
// Default: set net_port "27960"
set net_port "27960"
// Quit out immediately if we can't bind the IP and port.
// Default: set net_strict "1"
set net_strict "1"
// Server Type
// 0 - Offline
// 1 - LAN
// 2 - Internet
// Default: set sv_serverType "2"
set sv_serverType "2"
// ................................ System Settings ................................ //
// Show in server browser and respond to queries. This will also affect the LAN Broswer
// Default: set sv_master "1"
set sv_master "1"
// Change how many frames the server runs per second. WARNING: Has not been tested extensively, and will have a direct impact on CPU and network usage!
set sv_fps "40"
// Exit the server if idle (not running a map) for a specified time. This will allow it to automatically restart
// in the case of a game error or other problem. A value of "1" is recommended, but not default, when you are running
// the server detached from the terminal.
set sv_idleExit "120"
// ................................ Remote Admin ................................ //
// Enable remote console, provided through ZeroMQ. See zmq_rcon.py for simple client.
// ZMQ rcon binds on a separate port from the game server, and uses TCP. It must differ from the stats port if used.
// Rcon can not be enabled or disabled after launch, nor can the IP and port change. Password can, however.
// Uncomment and set below to use (server.cfg will override commandline!)
// Enable rcon
// Default: set zmq_rcon_enable "1"
set zmq_rcon_enable "1"
// set zmq_rcon_ip ""
// set zmq_rcon_port "28960"
// Which IP to bind to. Blank will bind to all interfaces.
set zmq_rcon_ip ""
// Rcon port
// default: set zmq_rcon_port "28960"
set zmq_rcon_port "28960"
// Rcon password
set zmq_rcon_password "ADMINPASSWORD"
// Enable ZeroMQ stats socket. This will not be much use without a client listening.
// See zmq_stats_verbose.py for example connect and stats printing.
// If not specified, the stats socket will default to the same IP and port as the game server, but on TCP.
// Uncomment and set below to use (server.cfg will override commandline!)
// set zmq_stats_enable "1"
// Enable ZeroMQ stats
set zmq_stats_enable "0"
// Which IP to bind to. Blank will bind to all interfaces.
// set zmq_stats_ip ""
// ZeroMQ stats port (TCP)
// set zmq_stats_port ""
// ZeroMQ stats password
// set zmq_stats_password ""
// The server will run serverstartup when it finishes initializing, so start a random map from the map pool.
set serverstartup "startRandomMap"
// Or, start a map of your choosing (factory is required)
// set serverstartup "map campgrounds ffa"
// .................................... Misc .................................... //
// May need to be increased for additional players.
set com_hunkMegs "60"

103
QuakeLive/server.cfg.orig

@ -0,0 +1,103 @@
// Servers have the ability to run multiple gametypes, known as "factories." You should not add gameplay related
// cvars in the server config: they may get overwritten by the factory. For creating your own sets of gameplay rules,
// create a file ending in ".factories" inside baseq3/scripts, and refer to "Creating custom gametypes" in the
// server_readme.txt file.
// Be aware that factories can override any cvar, including ones specified in this config file.
set sv_hostname "SERVERNAME"
set sv_tags "" // Comma delimited field of server tags to show in server browser.
// Will automatically include gametype and some gameplay modifications.
// ex. "crouch slide, classic, space"
set sv_mapPoolFile "mappool.txt" // Map pool that the server will use. See default mapcycle.txt for format.
// Built in map pools: mappool.txt, mappool_ca.txt, mappool_ctf.txt, mappool_duel.txt,
// mappool_ffa.txt, mappool_race.txt, mappool_tdm.txt
set g_accessFile "access.txt" // Used to determine which 64-bit Steam IDs have admin access, or are banned.
set sv_maxClients "16" // How many players can connect at once.
set g_password "" // Set a server-wide password, and stop all users from connecting without it.
set sv_privateClients "0" // Reserve slots that can be used with sv_privatePassword.
set sv_privatePassword "" // Password to use in conjunction with sv_privateClients.
set com_hunkMegs "60" // May need to be increased for additional players.
// Flood protection will increment everytime the user sends a client command, ex. dropweapon, changing name, color
// model, or chatting. Set g_floodprot_maxcount to 0 to disable completely, but this will allow uncontrolled spam.
set sv_floodprotect "10" // Kick the player when they reach x commands, decreases by 1 every second
set g_floodprot_maxcount "10" // Kick the player when their userinfo flood counter reaches this level.
set g_floodprot_decay "1000" // Decrease the userinfo flood counter by 1 this often, in milliseconds.
// Add the below values for which callvotes should be DISABLED:
// map 1
// map_restart 2
// nextmap 4
// gametype 8 (ex: "/callvote map campgrounds" will be allowed, but "/callvote map campgrounds ca" will fail)
// kick 16
// timelimit 32
// fraglimit 64
// shuffle 128
// teamsize 256
// cointoss/random 512
// loadouts 1024
// end-game voting 2048
// ammo (global) 4096
// timers (item) 8192
set g_voteFlags "0"
set g_allowVote "1" // Turn off all votes
set g_voteDelay "0" // Delay allowing votes for x milliseconds after map load.
set g_voteLimit "0" // Limit users to x votes per map.
set g_allowVoteMidGame "0" // Don't allow callvotes once the map has started
set g_allowSpecVote "0" // Allow spectators to call votes
set sv_warmupReadyPercentage "0.51" // Ratio of players that must be ready before the match starts.
set g_warmupDelay "15" // Wait x seconds before allowing match to start to allow all players to connect.
set g_warmupReadyDelay "0" // Force the game to start after x seconds after someone readies up.
set g_warmupReadyDelayAction "1" // Set to 1 to force players to spectator after g_warmupReady Delay, 2 to force ready up.
set g_inactivity "0" // Kick players who are inactive for x amount of seconds.
set g_alltalk "0" // 0: Limit voice comms to teams during match
// 1: Allow all players to talk to each other always
// 2: 1+ send back your own voice to yourself for testing
// System settings
// Uncomment and set below to use (server.cfg will override commandline!)
// set net_strict "1" // Quit out immediately if we can't bind the IP and port.
// set net_ip "" // Which IP to bind to. Blank will bind to all interfaces.
// set net_port "55555" // Which UDP port to bind to. Blank will start at 27960 and keep going up, if net_strict is 0.
set sv_serverType "2" // 0 = Offline, 1 = LAN, 2 = Internet
set sv_master "1" // Whether the server should respond to queries. Disable this to stop server from appearing in browser.
// (This will affect the LAN browser!)
set sv_fps "40" // Change how many frames the server runs per second. WARNING: Has not been tested extensively, and
// will have a direct impact on CPU and network usage!
// Exit the server if idle (not running a map) for a specified time. This will allow it to automatically restart
// in the case of a game error or other problem. A value of "1" is recommended, but not default, when you are running
// the server detached from the terminal.
set sv_idleExit "120"
// Enable remote console, provided through ZeroMQ. See zmq_rcon.py for simple client.
// ZMQ rcon binds on a separate port from the game server, and uses TCP. It must differ from the stats port if used.
// Rcon can not be enabled or disabled after launch, nor can the IP and port change. Password can, however.
// Uncomment and set below to use (server.cfg will override commandline!)
set zmq_rcon_enable "1"
// set zmq_rcon_ip ""
// set zmq_rcon_port "28960"
set zmq_rcon_password "ADMINPASSWORD"
// Enable ZeroMQ stats socket. This will not be much use without a client listening.
// See zmq_stats_verbose.py for example connect and stats printing.
// If not specified, the stats socket will default to the same IP and port as the game server, but on TCP.
// Uncomment and set below to use (server.cfg will override commandline!)
// set zmq_stats_enable "1"
// set zmq_stats_ip ""
// set zmq_stats_port ""
// set zmq_stats_password ""
// The server will run serverstartup when it finishes initializing, so start a random map from the map pool.
set serverstartup "startRandomMap"
// Or, start a map of your choosing (factory is required)
// set serverstartup "map campgrounds ffa"

228
QuakeLive/server_readme.txt

@ -0,0 +1,228 @@
===========================
QUAKE LIVE DEDICATED SERVER
===========================
1. Requirements
2. Updating and Launching
3. Configuring your server
4. Managing server access list
5. Setting up a map pool
6. Creating custom gametypes (factories)
7. Using Steam Workshop
8. Using external remote console
9. Using external stats
1. Requirements
---------------
The dedicated server is available in both 32-bit and 64-bit versions, and should run on any modern machine that can
run the Steam client. We recommend Ubuntu Server 14.04.
To run the 32-bit version of the server on 64-bit installs, you will need to install 32-bit versions of all libraries.
See your distribution's instructions on how to perform this.
2. Updating and Launching
-------------------------
Install and update the server through SteamCMD, using a command similar to below.
./steamcmd.sh +login anonymous +force_install_dir ./steamapps/common/qlds/ +app_update 349090 +quit
Please see the Valve Developer Community for full SteamCMD options: https://developer.valvesoftware.com/wiki/SteamCMD
Run the server using the provided run_server_x86.sh and run_server_x64.sh scripts. This will set the proper working
directory and LD_LIBRARY_PATH to the correct libsteam_api.so. You can add command line options at will.
A standard server or VPS can host many instances of Quake Live, so you may wish to run multiple servers. We recommend
managing them through a third party process control system. Below is a sample script that will take one parameter: a
number starting at 0. This will launch a server with a unique hostname, port, rcon port, and stats port. This is a
great way to quickly run a small cluster of servers on a single box.
You should change the path to reflect where you have installed the game. Never run the server under root.
#!/bin/bash
gameport=`expr $1 + 27960`
rconport=`expr $1 + 28960`
servernum=`expr $1 + 1`
exec /home/user/steamcmd/steamapps/common/qlds/run_server_x86.sh \
+set net_strict 1 \
+set net_port $gameport \
+set sv_hostname "My Quake Live Server #$servernum" \
+set fs_homepath /home/user/.quakelive/$gameport \
+set zmq_rcon_enable 1 \
+set zmq_rcon_password "mypass" \
+set zmq_rcon_port $rconport \
+set zmq_stats_enable 1 \
+set zmq_stats_password "mypass" \
+set zmq_stats_port $gameport
This can be combined with a process control system like supervisord in order to manage and launch any number of
instances. Note that supervisord is third party software, and the below may change at any point. We will not support
issues involving third party software.
You will need to replace "user" with the user name of the dedicated server.
[program:quakelive]
command=/home/user/steamcmd/steamapps/common/qlds/launch.sh %(process_num)s
user=user
process_name=qzeroded_%(process_num)s
numprocs=10
autorestart=true
In conjunction with the above launch script, this will give you 10 server instances, numbered #1 to #10, starting
at port 27960, with rcon starting at port 28960. They will automatically restart if crashed. For information on using
rcon, please see later in this document.
3. Configuring your server
--------------------------
Configure your server through server.cfg. You may wish to make a copy of this file and place it into your fs_homepath,
as updates to the default server.cfg may revert your changes to default. The default server.cfg is heavily commented,
so please see that for further information.
There is no need to specify a map on the command line or server.cfg. The server will automatically execute the variable
"serverstartup" when the server has completed initialization. By default, this will launch a random map selected
from the server's map pool. Please see the below section on configuring map pools.
Quake Live servers are designed to handle multiple gametypes, and multiple gametype variations on one server. This
means that your server can switch from Free For All to Capture the Flag to Clan Arena, to even variants of gametypes,
such as InstaGib FFA, and custom variations that provide more traditional competitive settings.
Because of this, you should generally not place gameplay settings inside server.cfg. Although the server will attempt
to restore all old settings after switching gametypes, these factory settings will override settings in server.cfg.
See the below section on creating custom factories to setup your own match rules.
4. Managing server access list
------------------------------
Quake Live reads and stores to a persistent text file on disk information about who has access to server moderation,
server administration, and ban list. By default, this is in the file access.txt, and can be changed through the
console variable "g_accessFile"
Only edit this file on disk while all servers are stopped, as the game will write out the current access list before
each map load. In order to have access to your server, you will need to add yourself as an admin. Obtain your
64-bit Steam ID by connecting to any match, and typing /players in the console. Put it in access.txt in the
given format. Example:
76561198072786081|admin
Save the file, and start the server. You can then use /mod, /admin, /demote, /ban and /unban commands to manage the
access list while the server is running.
5. Setting up a map pool
------------------------
The server's map pool accepts a map, and a factory, delimited with a |. See the default mappool.txt for an example.
A different file can be specified through "sv_mapPoolFile"
If you wish to use your own custom factories, you can specify them in here so that your custom factory will appear
in the three map voting system at the end of the game.
If you wish to lock your server to one gametype, then make sure your map pool only contains maps in that factory,
then add 8 to g_voteFlags to stop "callvote map" from accepting the optional factory argument. This is not
usually needed though; we recommend allowing your players to play and callvote whatever gametypes they wish to
play on your servers, but it is often not bad to restrict Duel servers due to the low player counts.
6. Creating custom gametypes (factories)
----------------------------------------
Setting up a custom factory is a bit more involved than the past solutions of editing config files, but it allows for
more flexibility in match rules, while ensuring that settings don't leak over into future matches. By default,
Quake Live ships with base rules for every gametype, and a few variations. Other factories may be available on Steam
Workshop.
To define your own gametype factory, create a "scripts" folder inside your baseq3 directory, and name the file with
anything that ends in ".factories"
Example: baseq3/scripts/mynewgametype.factories
This file is a JSON file that contains either a JSON array with multiple factories, or a JSON object containing a
single factory. For example, here is the built in InstaGib FFA factory:
{
"id": "iffa",
"title": "Instagib FFA",
"author": "id Software",
"description": "Railgun and Gauntlet only. One shot, one kill.",
"basegt": "ffa",
"cvars": {
"g_dropCmds": "0",
"g_spawnArmor": "0",
"dmflags": "28",
"g_instagib": "1",
"g_startingWeapons": "65",
"timelimit": "15",
"g_allowKill": "0",
"fraglimit": "50",
"g_overtime": "0",
"g_loadout": "0"
}
}
All fields should be present and of the correct type.
"id" is how you will refer to the factory inside a map pool or a callvote, and must be a string.
"title", "author" and "description" are all strings containing info about the factory, and can be seen in Start Match
"basegt" is a string of the base gametype it should apply the settings on. Valid values for "basegt" are:
ffa, duel, race, tdm, ca, ctf, oneflag, har, ft, dom, ad, rr
"cvars" is an object containing key value pairs of the cvar names and values to set.
If a factory is invalid, the reason why will be printed in the console during startup, and the factory will not be
available for play.
7. Using Steam Workshop
-----------------------
Quake Live will only autodownload custom content that has been uploaded to Steam Workshop. The legacy HTTP and UDP
download functions have been removed. If you want your players to be able to play custom content on your servers,
you must use Steam Workshop.
To add a workshop item to your server, add its item ID to workshop.txt. The item ID can be obtained from the URL
when browsing the Steam Workshop in your browser.
Before the server finishes initializing, it will attempt to download all items in workshop.txt, such that custom
content can be included in your map pool. The progress of this process will be printed to the server console, and if
any download fails, it will be skipped and the server will continue to start.
To upload content, you will need to use SteamCMD's workshop_build_item command. Please refer to the Steam documentation
on how to upload Workshop content.
Occasionally, the Workshop startup process will fail, usually due to temporarily unavailable content server. Some users
have reported that switching from the 64-bit dedicated to the 32-bit dedicated binary will fix downloads. In these
cases, you can use SteamCMD to download the workshop item, and then move it to the appropriate place.
Download the item with:
./steamcmd.sh +login anonymous +workshop_download_item (appid) (workshop_id) +quit
and then copy the steamapps/workshop folder into the steamapps folder where the server is installed. This will
cause the game to see the item as cached, and not attempt to download it.
8. Using external remote console
--------------------------------
The remote console works differently than previous titles. Rcon is disabled by default, and can be configured using
"zmq_rcon_enable", "zmq_rcon_ip". "zmq_rcon_port" and "zmq_rcon_password". Unlike previous titles, rcon will bind to
the TCP port you specify, not UDP. The socket itself is a ZeroMQ socket, using CZMQ for authentication. Included with
the server is a simple rcon client, zmq_rcon.py, written for Python 2.x. You will need to install Python CZMQ, which
can most easily be done through "pip install czmq" if pip is available on your system. To run the script, use something
similar to the following:
python zmq_rcon.py --host=tcp://127.0.0.1:27961 --password=mypass
9. Using external stats
-----------------------
Quake Live also exposes a ZeroMQ publish/subscribe socket that will emit a great amount of detail about the ongoing
match, live as events occur. A basic script is included, zmq_stats_verbose.py, but it will simply print the stats events
to screen as an example. All events emitted by the engine should be valid JSON. Any additional functionality and
Loading…
Cancel
Save