mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2024-11-25 16:26:18 +00:00
Préparation d'une config khanat à partir des fichiers std
This commit is contained in:
parent
9c8252bef4
commit
9dd99be899
50 changed files with 5011 additions and 0 deletions
16
code/ryzom/server/patchman_cfg_khanat/README.md
Normal file
16
code/ryzom/server/patchman_cfg_khanat/README.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
|
||||
shard_ctrl_definitions.txt: Contains all macros for various shard services and shard configurations.
|
||||
|
||||
shard_ctrl_mini01.txt: Example configuration for a development domain with a single mainland and a single ring shard running on one machine.
|
||||
|
||||
terminal_mini01: Contains the terminal to control the patch managers of the mini01 domain. To deploy the shard configuration, install the patchman services on all services, run the terminal and hit Deploy. You may need to hit Deploy a second time if it gives an error. To install the patch version 1, run 'terminal.install mini01 1', this can be done while a previous version is still running. To launch the new version, stop the shard, then run 'terminal.launch mini01 1', this will swap the live version with the next version, and launch the shard immediately.
|
||||
|
||||
shard_ctrl_std01.txt: Example configuration for a full blown domain with multiple shards.
|
||||
|
||||
terminal_std01: Contains the terminal to control the patch managers of the mini01 domain.
|
||||
|
||||
default: Contains base configuration files of the services containing per-service non-domain non-shard specific values.
|
||||
|
||||
cfg: Contains base configuration files with domain and shard type specific values.
|
||||
|
||||
admin_install: Contains the scripts to launch the patch manager and the shard. This directory is built into admin_install.tgz by the build pipeline. Subdirectory patchman requires addition of the ryzom_patchman_service executable on the server, the build pipeline adds this file into the tgz archive automatically, do not add it manually. The patchman_service_local.cfg file must be installed manually per server to contain the hostname of the server. The contents of the admin_install.tgz must be installed manually to the server the first time a server is deployed. The working directory is assumed to be /srv/core, which will contain /srv/core/bin and /srv/core/patchman. The configurations under patchman must be modified to match your own domains. Launch /srv/core/bin/startup to launch the patchman services. Run '/srv/core/bin/admin stop' to stop the patchman services. There is one bridge server, which is tied to one domain, but is used by the other domains as well. The bridge server has a folder /srv/core/bridge_server, which is generated by the build pipeline when creating a new server patch.
|
|
@ -0,0 +1,99 @@
|
|||
// I'm the AES, I'll not connect to myself!
|
||||
DontUseAES = 1;
|
||||
// I don't need a connection to a naming service
|
||||
DontUseNS = 1;
|
||||
DontLog = 1;
|
||||
|
||||
AESAliasName= "aes";
|
||||
|
||||
//
|
||||
DontUseStdIn = 0;
|
||||
|
||||
// Adress ofthe admin service (default port is 49996)
|
||||
ASHost = "localhost";
|
||||
|
||||
// Config for AES
|
||||
AESPort = "46702";
|
||||
AESHost = "localhost";
|
||||
ASPort = "46701";
|
||||
|
||||
|
||||
// in second, -1 for not restarting
|
||||
RestartDelay = 60;
|
||||
|
||||
// how many second before aborting the request if not finished
|
||||
RequestTimeout = 5;
|
||||
|
||||
// log path for advanced log report
|
||||
LogPath = "/.";
|
||||
|
||||
// setup for deployment environment with external configuration system responsible for launching apps and
|
||||
// for configuring AES services
|
||||
DontLaunchServicesDirectly = 1;
|
||||
UseExplicitAESRegistration = 1;
|
||||
KillServicesOnDisconnect = 1;
|
||||
|
||||
// If the update loop is too slow, a thread will produce an assertion.
|
||||
// By default, the value is set to 10 minutes.
|
||||
// Set to 0 for no assertion.
|
||||
UpdateAssertionThreadTimeout = 0;
|
||||
|
||||
DefaultMaxExpectedBlockSize = 200000000; // 200 M !
|
||||
DefaultMaxSentBlockSize = 200000000; // 200 M !
|
||||
|
||||
// how to sleep between to network update
|
||||
// 0 = pipe
|
||||
// 1 = usleep
|
||||
// 2 = nanosleep
|
||||
// 3 = sched_yield
|
||||
// 4 = nothing
|
||||
UseYieldMethod = 0;
|
||||
|
||||
NegFiltersDebug = { "REQUEST", "GRAPH", "ADMIN", "NET", "ADMIN", "MIRROR", "NC", "PATH", "BSIF" };
|
||||
NegFiltersInfo = { "REQUEST", "GRAPH", "ADMIN", "NET", "ADMIN", "MIRROR", "NC", "CF", " ping", " pong" };
|
||||
NegFiltersWarning = { "CT_LRC" };
|
||||
|
||||
#include "./aes_alias_name.cfg"
|
||||
|
||||
StartCommands=
|
||||
{
|
||||
// Create a gateway module
|
||||
"moduleManager.createModule StandardGateway gw",
|
||||
// add a layer 5 transport
|
||||
"gw.transportAdd L5Transport l5",
|
||||
// open the transport
|
||||
"gw.transportCmd l5(open)",
|
||||
|
||||
/// Create default connection with admin executor service
|
||||
// Create a gateway module
|
||||
"moduleManager.createModule StandardGateway gw_aes",
|
||||
// create the admin executor service module
|
||||
"moduleManager.createModule AdminExecutorServiceClient aes_client",
|
||||
"aes_client.plug gw_aes",
|
||||
|
||||
// create a layer 3 client to connect to aes gateway
|
||||
"gw_aes.transportAdd L3Client aes_l3c",
|
||||
"gw_aes.transportCmd aes_l3c(connect addr="+AESHost+":"+AESPort+")",
|
||||
|
||||
|
||||
// create the admin executor service module
|
||||
"moduleManager.createModule AdminExecutorService aes",
|
||||
|
||||
// create a gateway to connect to as
|
||||
"moduleManager.createModule StandardGateway asc_gw",
|
||||
// create a layer 3 client
|
||||
"asc_gw.transportAdd L3Client l3c",
|
||||
"asc_gw.transportCmd l3c(connect addr="+ASHost+":"+ASPort+")",
|
||||
|
||||
// create a gateway for services to connect
|
||||
"moduleManager.createModule StandardGateway aes_gw",
|
||||
// create a layer 3 server
|
||||
"aes_gw.transportAdd L3Server l3s",
|
||||
"aes_gw.transportOptions l3s(PeerInvisible)",
|
||||
"aes_gw.transportCmd l3s(open port="+AESPort+")",
|
||||
|
||||
// plug the as
|
||||
"aes.plug asc_gw",
|
||||
"aes.plug aes_gw",
|
||||
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
khanat \ khanat \ khanat
|
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
#!/bin/sh -
|
||||
|
||||
DOMAIN=$(pwd |sed "s%/srv/core/%%")
|
||||
|
||||
while(true)
|
||||
do
|
||||
echo AESAliasName= \"aes_$(hostname -s)\"\; > ./aes_alias_name.cfg
|
||||
|
||||
if [ $(grep "AESPort[ \t]*=" */*cfg | grep -v debug | sed "s/.*=[ \t]*//" | sort -u | wc -l) != 1 ] ; then echo - FIXME: services don\'t agree on AESPort ; read ; fi
|
||||
echo AESPort=$(grep "AESPort[ \t]*=" */*cfg| grep -v debug | sed "s/.*=[ \t]*//" | sort -u) >> ./aes_alias_name.cfg
|
||||
|
||||
if [ $(grep "ASPort[ \t]*=" */*cfg | grep -v debug | sed "s/.*=[ \t]*//" | sort -u | wc -l) != 1 ] ; then echo - FIXME: services don\'t agree on ASPort ; read ; fi
|
||||
echo ASPort=$(grep "ASPort[ \t]*=" */*cfg| grep -v debug | sed "s/.*=[ \t]*//" | sort -u) >> ./aes_alias_name.cfg
|
||||
|
||||
./live/service_ryzom_admin_service/ryzom_admin_service -A. -C. -L. --nobreak --fulladminname=admin_executor_service --shortadminname=AES
|
||||
sleep 2
|
||||
done
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
#!/bin/sh
|
||||
|
||||
while true
|
||||
do
|
||||
cd /srv/core/
|
||||
if [ -e /srv/core/admin_install.tgz ]
|
||||
then
|
||||
tar xvzf admin_install.tgz
|
||||
chmod 775 bin/admin 2> /dev/null
|
||||
chmod 775 bin/ps_services 2> /dev/null
|
||||
chmod 775 bin/run_forever 2> /dev/null
|
||||
chmod 775 bin/shard 2> /dev/null
|
||||
chmod 775 bin/domain_* 2> /dev/null
|
||||
chmod 775 bin/startup 2> /dev/null
|
||||
chmod 775 bin/*.sh 2> /dev/null
|
||||
chmod 775 patchman/*_service 2> /dev/null
|
||||
chmod 775 patchman/*.sh 2> /dev/null
|
||||
fi
|
||||
|
||||
cd /srv/core/patchman/
|
||||
if [ $(grep $(hostname) patchman_list |wc -l) -gt 0 ]
|
||||
then
|
||||
export SERVER_TYPE=$(grep $(hostname) patchman_list | awk '{ print $1 }')
|
||||
elif [ $(grep $(hostname -s) patchman_list |wc -l) -gt 0 ]
|
||||
then
|
||||
export SERVER_TYPE=$(grep $(hostname -s) patchman_list | awk '{ print $1 }')
|
||||
elif [ $(grep $(hostname -d) patchman_list |wc -l) -gt 0 ]
|
||||
then
|
||||
export SERVER_TYPE=$(grep $(hostname -d) patchman_list | awk '{ print $1 }')
|
||||
else
|
||||
export SERVER_TYPE=default
|
||||
echo "ERROR: Neither \'hostname\' \($(hostname)\) nor \'hostname -s\' \($(hostname -s)\) nor \'hostname -d\' \($(hostname -d)\) found in $(pwd)/patchman_list"
|
||||
fi
|
||||
CFGFILENAME=patchman_service.${SERVER_TYPE}.cfg
|
||||
|
||||
if [ ! -e $CFGFILENAME ]
|
||||
then
|
||||
echo ERROR: Failed to locate the following file: $CFGFILENAME
|
||||
echo using default files
|
||||
export SERVER_TYPE=default
|
||||
CFGFILENAME=patchman_service.${SERVER_TYPE}.cfg
|
||||
|
||||
if [ ! -e $CFGFILENAME ]
|
||||
then
|
||||
echo ERROR: Failed to locate the following DEFAULT file: $CFGFILENAME
|
||||
echo "press enter"
|
||||
read toto
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ssh keys file: $KEYSFILENAME
|
||||
echo cfg file: $CFGFILENAME
|
||||
|
||||
/bin/sh loop_patchman_once.sh
|
||||
done
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
|
||||
CFGFILENAME=patchman_service.${SERVER_TYPE}.cfg
|
||||
echo cfg file: $CFGFILENAME
|
||||
|
||||
#AESCFGFILENAME=admin_executor_service_default.${SERVER_TYPE}.cfg
|
||||
#echo aes cfg file: $AESCFGFILENAME
|
||||
|
||||
cd /srv/core/patchman
|
||||
if [ -e $CFGFILENAME ]
|
||||
then
|
||||
|
||||
# setup the config file for the patchman
|
||||
echo Using configuration file: $CFGFILENAME
|
||||
cp $CFGFILENAME patchman_service.cfg
|
||||
|
||||
# setup the config file for the admin executor service
|
||||
#echo Using aes configuration file: $AESCFGFILENAME
|
||||
#if [ -e $AESCFGFILENAME ] ; then cp $AESCFGFILENAME admin_executor_service_default.cfg ; fi
|
||||
|
||||
# start the patchman service
|
||||
echo Launching patchman...
|
||||
./ryzom_patchman_service -C. -L.
|
||||
|
||||
sleep 2
|
||||
if [ -e core* ]
|
||||
then
|
||||
if [ -e dont_keep_cores ]
|
||||
then
|
||||
rm core*
|
||||
fi
|
||||
fi
|
||||
|
||||
else
|
||||
echo ERROR: Failed to locate config file: $CFGFILENAME
|
||||
echo trying again in a few seconds...
|
||||
sleep 10
|
||||
fi
|
||||
cd -
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$1" = "" ]
|
||||
then
|
||||
echo
|
||||
echo USAGE: $0 command_line
|
||||
echo
|
||||
echo example:
|
||||
echo $0 echo hello world
|
||||
echo displays 'hello world' repeatedly, delaying 3 seconds between repeats
|
||||
echo
|
||||
exit
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
sleep 3
|
||||
eval $*
|
||||
done
|
|
@ -0,0 +1,110 @@
|
|||
#! /bin/sh -
|
||||
|
||||
# note: this script should be run from a domain directory such as /srv/core/std01 or /srv/core/mini01
|
||||
DOMAIN=$(pwd |sed 's/\/srv\/core\///')
|
||||
if [ "patchman" = "$DOMAIN" ]; then DOMAIN= ; fi
|
||||
if [ "bin" = "$DOMAIN" ]; then DOMAIN= ; fi
|
||||
if [ "$DOMAIN" != $(echo $DOMAIN|sed 's/\///g') ]; then DOMAIN= ; fi
|
||||
if [ _"${DOMAIN}"_ = __ ]
|
||||
then
|
||||
echo This is not a valid directory for running this script
|
||||
exit
|
||||
fi
|
||||
|
||||
# tell the aes to shut everybody down
|
||||
printf "0" > ./global.launch_ctrl
|
||||
|
||||
# before entering the 'Waiting for Services' loop, get rid of the ras/ras.state file because the ras doesn't stop properly otherwise
|
||||
if [ -f ras/ras.state ]
|
||||
then
|
||||
rm ras/ras.state
|
||||
fi
|
||||
|
||||
# while there are still services running, wait
|
||||
while [ $(grep -i RUNNING . */*.state|wc -l) != 0 ]
|
||||
do
|
||||
echo $DOMAIN: Waiting for $(grep -i RUNNING . */*.state|wc -l) Services to stop
|
||||
sleep 2
|
||||
done
|
||||
|
||||
# stop the screen for the shard (if there is one)
|
||||
screen -drR -S $DOMAIN -X quit> /dev/null
|
||||
sleep 1
|
||||
|
||||
# rename any old core files
|
||||
for COREFILE in */core*
|
||||
do
|
||||
mv $COREFILE $(echo $COREFILE|sed "s%/.*%%")/v$(cat live/version)_$(echo $COREFILE|sed "s%.*/%%")
|
||||
done
|
||||
|
||||
# rename any old log files
|
||||
for LOGFILE in */log*.log
|
||||
do
|
||||
mv $LOGFILE $(echo $LOGFILE|sed "s%/.*%%")/v$(cat live/version)_$(echo $LOGFILE|sed "s%.*/%%")
|
||||
done
|
||||
|
||||
# swap the live and next directories
|
||||
rm -r old_live/* 2> /dev/null
|
||||
echo next=$(cat next/version) live=$(cat live/version)
|
||||
mv live old_live
|
||||
echo next=$(cat next/version) old_live=$(cat old_live/version)
|
||||
mv next live
|
||||
echo old_live=$(cat old_live/version) live=$(cat live/version)
|
||||
mv old_live next
|
||||
echo next=$(cat next/version) live=$(cat live/version)
|
||||
|
||||
# restore any old log files in case of return to previous version
|
||||
for LOGFILE in */v$(cat live/version)_log*.log
|
||||
do
|
||||
mv $LOGFILE $(echo $LOGFILE|sed "s%/.*%%")/$(echo $LOGFILE|sed "s%.*/.*_%%")
|
||||
done
|
||||
|
||||
# make the ryzom services executable
|
||||
chmod 775 live/service_*/*_service 2> /dev/null
|
||||
chmod 775 live/service_*/*_server 2> /dev/null
|
||||
|
||||
# make directory for rrd_graphs
|
||||
mkdir -p rrd_graphs
|
||||
|
||||
# special case to deal with www files that need a local cfg file to be properly setup
|
||||
if [ -e ./live/data_www/config.php ]
|
||||
then
|
||||
echo \<?php >./live/data_www/config.php
|
||||
echo >>./live/data_www/config.php
|
||||
echo \$USERS_DIR = \'$(pwd)/www\'\; >>./live/data_www/config.php
|
||||
echo \$TEMPLATE_DIR = \'./template\'\; >>./live/data_www/config.php
|
||||
echo >>./live/data_www/config.php
|
||||
echo \?\> >>./live/data_www/config.php
|
||||
mkdir -p $(pwd)/save_shard/www
|
||||
fi
|
||||
|
||||
# remove any launch ctrl files that are floating about
|
||||
rm -v */*.*launch_ctrl *.*launch_ctrl 2> /dev/null
|
||||
|
||||
# initialise the state files for the new services to "xxxxx" and remove directories that are no longer of interest
|
||||
for D in $(ls */log.log | sed "s%/.*%%" | sort -u)
|
||||
do
|
||||
if [ $(grep \"$D\" admin_executor_service.cfg | wc -l) = 1 ]
|
||||
then
|
||||
printf "xxxxx" > $D/$D.state
|
||||
else
|
||||
mkdir -p old
|
||||
mv $D old/
|
||||
fi
|
||||
done
|
||||
|
||||
# tell the aes to launch everybody...
|
||||
printf "1" > ./global.launch_ctrl
|
||||
|
||||
# create a script for accessing the screen for this shard
|
||||
SCRIPT_FILE=/srv/core/bin/domain_${DOMAIN}
|
||||
echo "#!/bin/sh" > $SCRIPT_FILE
|
||||
echo "cd "$(pwd) >> $SCRIPT_FILE
|
||||
echo '/bin/sh /srv/core/bin/ryzom_domain_screen_wrapper.sh $*' >> $SCRIPT_FILE
|
||||
chmod +x $SCRIPT_FILE
|
||||
|
||||
# launch the screen again now that were all done (aes will launch everybody when he comes online)
|
||||
cp /srv/core/$DOMAIN/${DOMAIN}.screen.rc /srv/core/${DOMAIN}.screen.rc
|
||||
#screen -S $DOMAIN -d -m -c /srv/core/${DOMAIN}.screen.rc
|
||||
$SCRIPT_FILE batchstart
|
||||
|
24
code/ryzom/server/patchman_cfg_khanat/admin_install/patchman/patchman_list
Executable file
24
code/ryzom/server/patchman_cfg_khanat/admin_install/patchman/patchman_list
Executable file
|
@ -0,0 +1,24 @@
|
|||
// default values for different sites
|
||||
|
||||
khanat localhost
|
||||
mini01 ep1.mini01.ryzomcore.local
|
||||
std01 ep1.std01.ryzomcore.local
|
||||
std01 su1.std01.ryzomcore.local
|
||||
std01 pd1.std01.ryzomcore.local
|
||||
std01 pd2.std01.ryzomcore.local
|
||||
std01 pd3.std01.ryzomcore.local
|
||||
std01 pd4.std01.ryzomcore.local
|
||||
std01 mla1.std01.ryzomcore.local
|
||||
std01 mla2.std01.ryzomcore.local
|
||||
std01 mla3.std01.ryzomcore.local
|
||||
std01 mla4.std01.ryzomcore.local
|
||||
std01 mla5.std01.ryzomcore.local
|
||||
std01 mlb1.std01.ryzomcore.local
|
||||
std01 mlb2.std01.ryzomcore.local
|
||||
std01 mlb3.std01.ryzomcore.local
|
||||
std01 mlb4.std01.ryzomcore.local
|
||||
std01 mlb5.std01.ryzomcore.local
|
||||
std01 rra1.std01.ryzomcore.local
|
||||
std01 rra2.std01.ryzomcore.local
|
||||
std01 rrb1.std01.ryzomcore.local
|
||||
std01 rrb2.std01.ryzomcore.local
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
#include "/srv/core/patchman/patchman_service_base_linux.cfg"
|
||||
#include "/srv/core/patchman_service_local.cfg"
|
||||
|
||||
StartCommands =
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup Bridge Gateway (for retrieving files)
|
||||
|
||||
// Create a gateway module on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway bridge_gw",
|
||||
"bridge_gw.transportAdd L3Client l3client",
|
||||
"bridge_gw.transportCmd l3client(connect addr=ep1.mini01.ryzomcore.local:44749)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup Manager Gateway (for deployment commands)
|
||||
|
||||
// Create a gateway module on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway spm_gw",
|
||||
"spm_gw.transportAdd L3Client l3client",
|
||||
"spm_gw.transportCmd l3client(connect addr=ep1.mini01.ryzomcore.local:44752)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the PAM module
|
||||
"moduleManager.createModule PatchmanAdminModule pam",
|
||||
"pam.plug spm_gw",
|
||||
"pam.plug bridge_gw",
|
||||
};
|
|
@ -0,0 +1,38 @@
|
|||
|
||||
#include "/srv/core/patchman/patchman_service_base_linux.cfg"
|
||||
#include "/srv/core/patchman_service_local.cfg"
|
||||
|
||||
StartCommands =
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup Bridge Gateway (for retrieving files)
|
||||
|
||||
// Create a gateway module on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway bridge_gw",
|
||||
"bridge_gw.transportAdd L3Client l3client",
|
||||
"bridge_gw.transportCmd l3client(connect addr=localhost:44749)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup Manager Gateway (for deployment commands)
|
||||
|
||||
// Create a gateway module on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway spm_gw",
|
||||
"spm_gw.transportAdd L3Client l3client",
|
||||
"spm_gw.transportCmd l3client(connect addr=localhost:44751)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup patch applier
|
||||
|
||||
// setup an 'spa' module for applying patches as required
|
||||
"moduleManager.createModule ServerPatchApplier spa path=/srv/core host=" + SPAHost,
|
||||
"spa.plug bridge_gw",
|
||||
"spa.plug spm_gw",
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the PAM module
|
||||
"moduleManager.createModule PatchmanAdminModule pam",
|
||||
"pam.plug spm_gw",
|
||||
"pam.plug bridge_gw",
|
||||
};
|
|
@ -0,0 +1,65 @@
|
|||
// *****************************************************************************
|
||||
// *** Setup for the khanat entry point Machine
|
||||
// *****************************************************************************
|
||||
|
||||
#include "/srv/core/patchman/patchman_service_base_linux.cfg"
|
||||
#include "/srv/core/patchman_service_local.cfg"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Displayed Variables...
|
||||
|
||||
DisplayedVariables +=
|
||||
{
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Start Commands for configuring modules
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the khanat hub
|
||||
|
||||
// Create a gateway modul on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway hub_khanat",
|
||||
"hub_khanat.transportAdd L3Server l3server",
|
||||
"hub_khanat.transportCmd l3server(open port=44749)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the bridge hub
|
||||
|
||||
// Create a gateway module on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway hub_bridge",
|
||||
"hub_bridge.transportAdd L3Server l3server",
|
||||
"hub_bridge.transportCmd l3server(open port=44745)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup Manager Gateway (for deployment commands)
|
||||
|
||||
// Create a gateway module on layer 3 transport and open it
|
||||
"moduleManager.createModule StandardGateway spm_gw",
|
||||
"spm_gw.transportAdd L3Client l3client",
|
||||
"spm_gw.transportCmd l3client(connect addr=localhost:44751)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup khanat Bridge module
|
||||
|
||||
// setup a bridge module to relay files from internal to khanat networks andd plug it in
|
||||
"moduleManager.createModule ServerPatchBridge bridge path=/srv/core/bridge_server/",
|
||||
"bridge.plug hub_khanat",
|
||||
"bridge.plug hub_bridge",
|
||||
"bridge.plug spm_gw",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the PAM module
|
||||
"moduleManager.createModule PatchmanAdminModule pam",
|
||||
"pam.plug hub_khanat",
|
||||
"pam.plug spm_gw",
|
||||
};
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
// *****************************************************************************
|
||||
// *** Setup for the khanat entry point Machine
|
||||
// *****************************************************************************
|
||||
|
||||
#include "/srv/core/patchman/patchman_service_base_linux.cfg"
|
||||
#include "/srv/core/patchman_service_local.cfg"
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Displayed Variables...
|
||||
|
||||
DisplayedVariables +=
|
||||
{
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Start Commands for configuring modules
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the khanat spm hub
|
||||
|
||||
"moduleManager.createModule StandardGateway hub",
|
||||
"hub.transportAdd L3Server l3server",
|
||||
"hub.transportCmd l3server(open port=44752)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup manager module for khanat version numbers etc and plug it in
|
||||
|
||||
"moduleManager.createModule ServerPatchManager spm_khanat name=spm_khanat",
|
||||
"spm_khanat.plug hub",
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup the PAM module
|
||||
"moduleManager.createModule PatchmanAdminModule pam",
|
||||
"pam.plug hub",
|
||||
};
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
//--------------------------------------------------------------------------------
|
||||
// Stuff common to all patchman services
|
||||
DontUseAES = 1;
|
||||
DontUseTS = 1;
|
||||
DontUseNS = 1;
|
||||
UpdateAssertionThreadTimeout = 0;
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Common Filters
|
||||
|
||||
// where to save specific shard data (ie: player backup)
|
||||
NegFiltersDebug = { "NET", "VERBOSE", "GUSREP" };
|
||||
NegFiltersInfo = { "LNET" };
|
||||
NegFiltersWarning = { "LNETL", "CT_LRC", "VAR:" };
|
||||
|
||||
FileReceiverDataBlockSize = 1000000;
|
||||
FileReceiverMaxMessageCount = 10;
|
|
@ -0,0 +1,22 @@
|
|||
//--------------------------------------------------------------------------------
|
||||
// Stuff for Linux (as opposed to Windows)
|
||||
|
||||
#include "patchman_service_base.cfg"
|
||||
|
||||
// For windows boxes we dissable out stdin thread
|
||||
DontUseStdIn = 0;
|
||||
|
||||
// how to sleep between to network update
|
||||
// 0 = pipe
|
||||
// 1 = usleep
|
||||
// 2 = nanosleep
|
||||
// 3 = sched_yield
|
||||
// 4 = nothing
|
||||
UseYieldMethod = 0;
|
||||
|
||||
SpaPreCmdLineText="/bin/sh /srv/core/patchman/service_launcher.sh";
|
||||
DeploymentRootDirectory="/srv/core/patchman/";
|
||||
MakeInstalledVersionLiveCmdLine="/bin/sh /srv/core/patchman/make_next_live.sh";
|
||||
SpaLaunchAESCmdLine="/bin/sh /srv/core/patchman/loop_aes.sh";
|
||||
InstallArchiveDirectory="/srv/core/";
|
||||
InstallArchiveFileName="admin_install.tgz";
|
|
@ -0,0 +1,16 @@
|
|||
# ------------------------------------------------------------------------------
|
||||
# SCREEN KEYBINDINGS
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
# Remove some stupid / dangerous key bindings
|
||||
bind ^k
|
||||
#bind L
|
||||
bind ^\
|
||||
# Make them better
|
||||
bind \\ quit
|
||||
bind K kill
|
||||
bind I login on
|
||||
bind O login off
|
||||
|
||||
screen -t aes /bin/sh /srv/core/patchman/loop_aes.sh
|
||||
|
|
@ -0,0 +1,105 @@
|
|||
#!/bin/sh
|
||||
|
||||
# the objective is to make a launcher script that works with a command file to determine when to launch the application that it is responsible for
|
||||
|
||||
DOMAIN=$(pwd |sed "s%/srv/core/%%" | sed "s%/.*%%")
|
||||
NAME_BASE=$(pwd | sed 's/\/srv\/core\///' | sed 's/^.*\///')
|
||||
|
||||
#if [ _$DOMAIN == _pre_live ]
|
||||
# then
|
||||
CTRL_FILE=${NAME_BASE}.launch_ctrl
|
||||
NEXT_CTRL_FILE=${NAME_BASE}.deferred_launch_ctrl
|
||||
#elif [ _$DOMAIN == _pre_pre_live ]
|
||||
# then
|
||||
# CTRL_FILE=${NAME_BASE}.launch_ctrl
|
||||
# NEXT_CTRL_FILE=${NAME_BASE}.deferred_launch_ctrl
|
||||
#else
|
||||
# CTRL_FILE=${NAME_BASE}_immediate.launch_ctrl
|
||||
# NEXT_CTRL_FILE=${NAME_BASE}_waiting.launch_ctrl
|
||||
#fi
|
||||
STATE_FILE=${NAME_BASE}.state
|
||||
START_COUNTER_FILE=${NAME_BASE}.start_count
|
||||
CTRL_CMDLINE=$*
|
||||
CTRL_COMMAND=""
|
||||
|
||||
echo
|
||||
echo ---------------------------------------------------------------------------------
|
||||
echo Starting service launcher
|
||||
echo ---------------------------------------------------------------------------------
|
||||
printf "%-16s = " CMDLINE ; echo $CTRL_CMDLINE
|
||||
printf "%-16s = " CTRL_FILE ; echo $CTRL_FILE
|
||||
printf "%-16s = " NEXT_CTRL_FILE ; echo $NEXT_CTRL_FILE
|
||||
printf "%-16s = " STATE_FILE ; echo $STATE_FILE
|
||||
echo ---------------------------------------------------------------------------------
|
||||
echo
|
||||
|
||||
# reinit the start counter
|
||||
echo 0 > $START_COUNTER_FILE
|
||||
START_COUNTER=0
|
||||
|
||||
# always give ras a first run
|
||||
if [ "${NAME_BASE}" = "ras" ]
|
||||
then
|
||||
echo Force admin service first startup
|
||||
printf LAUNCH > $CTRL_FILE
|
||||
fi
|
||||
|
||||
echo Press ENTER to launch program
|
||||
while true
|
||||
do
|
||||
|
||||
# see if the conditions are right to launch the app
|
||||
if [ -e $CTRL_FILE ]
|
||||
then
|
||||
|
||||
# a control file exists so read it's contents
|
||||
CTRL_COMMAND=$(cat $CTRL_FILE)
|
||||
|
||||
# do we have a 'launch' command?
|
||||
if [ "$CTRL_COMMAND" = "LAUNCH" ]
|
||||
then
|
||||
|
||||
# update the start counter
|
||||
START_COUNTER=$(( $START_COUNTER + 1 ))
|
||||
echo $START_COUNTER > $START_COUNTER_FILE
|
||||
|
||||
# big nasty hack to deal with the special cases of ryzom_naming_service and ryzom_admin_service who have badly names cfg files
|
||||
for f in ryzom_*cfg
|
||||
do
|
||||
cp $f $(echo $f | sed "s/ryzom_//")
|
||||
done
|
||||
|
||||
# we have a launch command so prepare, launch, wait for exit and do the housekeeping
|
||||
echo -----------------------------------------------------------------------
|
||||
echo Launching ...
|
||||
echo
|
||||
printf RUNNING > $STATE_FILE
|
||||
|
||||
$CTRL_CMDLINE
|
||||
|
||||
echo -----------------------------------------------------------------------
|
||||
printf STOPPED > $STATE_FILE
|
||||
|
||||
# consume (remove) the control file to allow start once
|
||||
rm $CTRL_FILE
|
||||
|
||||
echo Press ENTER to relaunch
|
||||
fi
|
||||
fi
|
||||
|
||||
# either we haven't launched the app yet or we have launched and it has exitted
|
||||
if [ -e $NEXT_CTRL_FILE ]
|
||||
then
|
||||
# we have some kind of relaunch directive lined up so deal with it
|
||||
mv $NEXT_CTRL_FILE $CTRL_FILE
|
||||
else
|
||||
# give the terminal user a chance to press enter to provoke a re-launch
|
||||
HOLD=`sh -ic '{ read a; echo "ENTER" 1>&3; kill 0; } | { sleep 2; kill 0; }' 3>&1 2>/dev/null`
|
||||
if [ "${HOLD}" = "ENTER" ]
|
||||
then
|
||||
printf LAUNCH > $CTRL_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
done
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
// khanat - khanat manager
|
||||
|
||||
khanat localhost
|
||||
khanat_spm localhost
|
||||
khanat_bridge localhost
|
||||
|
||||
|
||||
// std01 - std manager
|
||||
|
||||
// std01_spm ep1.std01.ryzomcore.local
|
|
@ -0,0 +1 @@
|
|||
SPAHost = "ep1.mini01.ryzomcore.local";
|
125
code/ryzom/server/patchman_cfg_khanat/cfg/00_base.cfg
Normal file
125
code/ryzom/server/patchman_cfg_khanat/cfg/00_base.cfg
Normal file
|
@ -0,0 +1,125 @@
|
|||
// Configure module gateway for layer 5 module comm
|
||||
StartCommands +=
|
||||
{
|
||||
// Create a gateway module
|
||||
"moduleManager.createModule StandardGateway gw",
|
||||
// add a layer 5 transport
|
||||
"gw.transportAdd L5Transport l5",
|
||||
// open the transport
|
||||
"gw.transportCmd l5(open)",
|
||||
|
||||
/// Create default connection with admin executor service
|
||||
// Create a gateway module
|
||||
"moduleManager.createModule StandardGateway gw_aes",
|
||||
// create the admin executor service module
|
||||
"moduleManager.createModule AdminExecutorServiceClient aes_client",
|
||||
"aes_client.plug gw_aes",
|
||||
|
||||
// create a layer 3 client to connect to aes gateway
|
||||
"gw_aes.transportAdd L3Client aes_l3c",
|
||||
"gw_aes.transportCmd aes_l3c(connect addr="+AESHost+":"+AESPort+")",
|
||||
};
|
||||
|
||||
/// A list of vars to graph for any service
|
||||
GraphVars =
|
||||
{
|
||||
"ProcessUsedMemory", "60000", // every minute
|
||||
};
|
||||
|
||||
|
||||
/* Force default value for PDLib directory (e.g. SaveFilesDirectory...)
|
||||
* PLEASE NOTICE THAT THIS LINE MUST BE LEFT TO ""
|
||||
* Only log analyser must have the $shard parameter to find all shards root directory
|
||||
*/
|
||||
PDRootDirectory = "";
|
||||
|
||||
// Log PD updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
|
||||
PDEnableLog = 1;
|
||||
|
||||
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
|
||||
PDEnableStringLog = 0;
|
||||
|
||||
// Number of seconds between 2 logs to file
|
||||
PDLogUpdate = 10;
|
||||
|
||||
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
|
||||
MSWStrictMode=0;
|
||||
|
||||
// This is the mapping for logical continent to physical one
|
||||
ContinentNameTranslator =
|
||||
{
|
||||
"matis_newbie", "matis",
|
||||
"zorai_newbie", "zorai",
|
||||
"terre", "terre_oubliee",
|
||||
"sources", "sources_interdites"
|
||||
};
|
||||
|
||||
NegFiltersDebug = { "ZZZZZZZZZZZ" };
|
||||
NegFiltersInfo = { "ZZZZZZZZZZZ" };
|
||||
NegFiltersWarning = { "ZZZZZZZZZZZ" };
|
||||
//NegFiltersDebug = { "NET", "ADMIN", "MIRROR", "NC", "PATH" };
|
||||
//NegFiltersInfo = { "NET", "ADMIN", "MIRROR", "NC", "CF", "TimerManagerUpdate" };
|
||||
// NegFiltersWarning = { "CT_LRC", "AnimalSpawned" };
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
// Only produce log*.log files and not <service name>*.log
|
||||
DontLog=1;
|
||||
|
||||
IgnoredFiles = { "continent.cfg", "__read_me.txt", "bandit.html", "flora_primr.primitive" };
|
||||
|
||||
// If the update loop is too slow, a thread will produce an assertion.
|
||||
// By default, the value is set to 10 minutes.
|
||||
// Set to 0 for no assertion.
|
||||
UpdateAssertionThreadTimeout = 6000000;
|
||||
|
||||
DefaultMaxExpectedBlockSize = 200000000; // 200 M !
|
||||
DefaultMaxSentBlockSize = 200000000; // 200 M !
|
||||
|
||||
// MS Packet size limit in bytes, PER DATASET (warning: depending on the weights, limits per property may be very small)
|
||||
MaxOutBandwidth = 100000000;
|
||||
|
||||
// how to sleep between 2 network updates
|
||||
// 0 = pipe
|
||||
// 1 = usleep
|
||||
// 2 = nanosleep
|
||||
// 3 = sched_yield
|
||||
// 4 = nothing
|
||||
UseYieldMethod = 0;
|
||||
|
||||
// The privileges needed to access any ring session
|
||||
PrivilegeForSessionAccess = ":DEV:SGM:GM:SG:";
|
||||
|
||||
// The max number of ring points (aka ring access) for each ecosystem
|
||||
MaxRingPoints = "A1:D7:F7:J8:L6:R13";
|
||||
|
||||
// Level limit for newb scenarios
|
||||
FreeTrialSkillLimit=21;
|
||||
|
||||
// Level limit for newb scenarios
|
||||
DefaultInterShardExchangeLevelCap=0;
|
||||
|
||||
// Configuration for DSS
|
||||
MaxNpcs = 300;
|
||||
MaxStaticObjects = 200;
|
||||
|
||||
// the following variable must be defined but should be empty - it's presence is used to change the behaviour
|
||||
// of the packed sheet reader
|
||||
GeorgePaths = { "" };
|
||||
|
||||
// Disable nel net verbose logging
|
||||
VerboseNETTC = 0;
|
||||
VerboseLNETL0 = 0;
|
||||
VerboseLNETL1 = 0;
|
||||
VerboseLNETL2 = 0;
|
||||
VerboseLNETL3 = 0;
|
||||
VerboseLNETL4 = 0;
|
||||
VerboseLNETL5 = 0;
|
||||
VerboseLNETL6 = 0;
|
||||
|
||||
// Disable ryzom verbose logging
|
||||
VerboseMIRROR = 0;
|
||||
VerboseRingRPLog = 0;
|
||||
VerboseCDBGroup = 0;
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
// What to do with characters coming from another mainland shard?
|
||||
// 0: teleport to the stored session id
|
||||
// 1: let the character play anyway, but leave the stored session id unchanged
|
||||
// 2: assign the stored session id with FixedSessionId and let play
|
||||
AllowCharsFromAllSessions = 0;
|
||||
|
||||
// Use Shard Unifier or not
|
||||
DontUseSU = 0;
|
||||
|
||||
// the domain's set of useful addresses
|
||||
LSHost = SUHost;
|
||||
RSMHost = SUHost;
|
||||
|
||||
// MFS config
|
||||
WebSrvUsersDirectory = "";
|
||||
HoFHDTDirectory = "/srv/core/www/hof/hdt";
|
||||
|
||||
// BS Specifics --------------------------------------------------------------------------
|
||||
// BS - set to 1 if a BS is not part of a naming service group (then BS not disclosed
|
||||
// to other services by the Layer 5, i.e. the services sending requests to BS have
|
||||
// to know its/their address(es) by another mean)
|
||||
BSDontUseNS = 1;
|
||||
// BS - set the host of the naming service where the BS register
|
||||
BSNSHost = "localhost";
|
||||
UseBS = 1;
|
||||
XMLSave = 0;
|
||||
|
||||
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
|
||||
SaveFilesDirectory = "";
|
||||
|
||||
// where to save generic shard data (ie: packed_sheet)
|
||||
WriteFilesDirectory = "r2_shard/data_shard";
|
||||
|
||||
// Will SaveFilesDirectory will be converted to a full path?
|
||||
ConvertSaveFilesDirectoryToFullPath = 0;
|
||||
|
||||
// BS - Root directory where data are backuped to
|
||||
IncrementalBackupDirectory = "../incremental_backup";
|
||||
|
||||
// IOS - Directory to store ios.string_cache file
|
||||
StringManagerCacheDirectory = "../data_shard_local";
|
||||
|
||||
// IOS - Directory to log chat into
|
||||
LogChatDirectory = "../data_shard_local";
|
||||
|
||||
// MFS - Directories
|
||||
WebRootDirectory = "../www";
|
||||
|
||||
// Root directory where data from shards are stored into
|
||||
SaveShardRoot = "../save_shard/";
|
||||
|
||||
// SU Specifics --------------------------------------------------------------------------
|
||||
// SU - set to 1 if SU didn't use a naming service
|
||||
SUDontUseNS = 1;
|
||||
// SU - host for the NS used by SU
|
||||
SUNSHost = "localhost";
|
||||
// SU - listen address of the SU service (for L5 connections)
|
||||
SUAddress = SUHost+":"+SUPort;
|
||||
// SU - nel and ring database names
|
||||
DBNelName = "nel";
|
||||
DBRingName = "ring_khanat";
|
||||
// Nel DB user
|
||||
DBNelUser = "su_agent";
|
||||
// Ring DB user
|
||||
DBRingUser = "su_agent";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "p4ssw0rd";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "p4ssw0rd";
|
||||
|
||||
// WS Specifics --------------------------------------------------------------------------
|
||||
// WS - use or not the legacy WelcomeService from nel ns (only for backward compatibility during transition to ring)
|
||||
DontUseLSService = 1;
|
||||
|
||||
// Global config --------------------------------------------------------------------------
|
||||
// set to 0 if you want to use the admin system
|
||||
DontUseAES = 1;
|
||||
|
||||
// Dissable generation / display of nldebug messages
|
||||
DissableNLDebug = 1;
|
|
@ -0,0 +1,50 @@
|
|||
// Player limits (AIS, EGS, WS, FS)
|
||||
NbPlayersLimit = 1000;
|
||||
NbGuildLimit = 15000;
|
||||
PlayerLimit = NbPlayersLimit;
|
||||
ClientLimit = 1000;
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 0;
|
||||
|
||||
// Set a mainland SessionId.
|
||||
// Live: Must be 0 for ring shards, non-zero (usually ShardId) for mainland shards
|
||||
// Dev: Can be non-zero to initially connect a client to a ring shard
|
||||
NoWSShardId = ShardId;
|
||||
FixedSessionId = ShardId;
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 300000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// FS Specifics --------------------------------------------------------------------------
|
||||
// Client bandwidth ratio, set to 1 for standard opration, more than one allocate more bandwidth
|
||||
BandwidthRatio = 1;
|
||||
|
||||
// EGS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (EGS)
|
||||
NbObjectsLimit = 2000;
|
||||
NbNpcSpawnedByEGSLimit = 5;
|
||||
NbForageSourcesLimit = 1000;
|
||||
NbToxicCloudsLimit = 200;
|
||||
|
||||
// AIS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (AIS)
|
||||
NbPetLimit = NbPlayersLimit*4;
|
||||
NbFaunaLimit = 50000;
|
||||
NbNpcLimit = 20000;
|
||||
NbFxLimit = 500;
|
||||
|
||||
// This is the list of continent to use with their unique instance number
|
||||
UsedContinents =
|
||||
{
|
||||
"indoors", "4", // NB : this is for uninstanciated indoors building.
|
||||
"newbieland", "20"
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
// "newbieland",
|
||||
};
|
|
@ -0,0 +1,51 @@
|
|||
// Player limits (AIS, EGS, WS, FS)
|
||||
NbPlayersLimit = 1000;
|
||||
NbGuildLimit = 15000;
|
||||
PlayerLimit = NbPlayersLimit;
|
||||
ClientLimit = 1000;
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 1;
|
||||
|
||||
// Set a mainland SessionId.
|
||||
// Live: Must be 0 for ring shards, non-zero (usually ShardId) for mainland shards
|
||||
// Dev: Can be non-zero to initially connect a client to a ring shard
|
||||
NoWSShardId = ShardId;
|
||||
FixedSessionId = 0;
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 200000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// FS Specifics --------------------------------------------------------------------------
|
||||
// Client bandwidth ratio, set to 1 for standard operation, more than one allocate more bandwidth
|
||||
BandwidthRatio = 2;
|
||||
|
||||
// EGS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (EGS)
|
||||
NbObjectsLimit = 2000;
|
||||
NbNpcSpawnedByEGSLimit = 5;
|
||||
NbForageSourcesLimit = 100;
|
||||
NbToxicCloudsLimit = 20;
|
||||
|
||||
// AIS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (AIS)
|
||||
NbPetLimit = NbPlayersLimit*4;
|
||||
NbFaunaLimit = 5000;
|
||||
NbNpcLimit = 35000;
|
||||
NbFxLimit = 500;
|
||||
|
||||
// This is the list of continent to use with their unique instance number
|
||||
UsedContinents =
|
||||
{
|
||||
"r2_desert", "10000",
|
||||
"r2_forest", "10001",
|
||||
"r2_jungle", "10002",
|
||||
"r2_lakes", "10003",
|
||||
"r2_roots", "10004",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
// This cfg file defines stuff that's common to all mini unifier shards
|
|
@ -0,0 +1,50 @@
|
|||
// Player limits (AIS, EGS, WS, FS)
|
||||
NbPlayersLimit = 5000;
|
||||
NbGuildLimit = 15000;
|
||||
PlayerLimit = NbPlayersLimit;
|
||||
ClientLimit = 1000;
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 0;
|
||||
|
||||
// Set a mainland SessionId.
|
||||
// Live: Must be 0 for ring shards, non-zero (usually ShardId) for mainland shards
|
||||
// Dev: Can be non-zero to initially connect a client to a ring shard
|
||||
NoWSShardId = ShardId;
|
||||
FixedSessionId = ShardId;
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// FS Specifics --------------------------------------------------------------------------
|
||||
// Client bandwidth ratio, set to 1 for standard opration, more than one allocate more bandwidth
|
||||
BandwidthRatio = 1;
|
||||
|
||||
// EGS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (EGS)
|
||||
NbObjectsLimit = 2000;
|
||||
NbNpcSpawnedByEGSLimit = 5000;
|
||||
NbForageSourcesLimit = 10000;
|
||||
NbToxicCloudsLimit = 5000;
|
||||
|
||||
// AIS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (AIS)
|
||||
NbPetLimit = NbPlayersLimit*4;
|
||||
NbFaunaLimit = 50000;
|
||||
NbNpcLimit = 20000;
|
||||
NbFxLimit = 500;
|
||||
|
||||
// This is the list of continent to use with their unique instance number
|
||||
UsedContinents =
|
||||
{
|
||||
"indoors", "4", // NB : this is for uninstanciated indoors building.
|
||||
"newbieland", "20"
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
// "newbieland",
|
||||
};
|
|
@ -0,0 +1,51 @@
|
|||
// Player limits (AIS, EGS, WS, FS)
|
||||
NbPlayersLimit = 5000;
|
||||
NbGuildLimit = 15000;
|
||||
PlayerLimit = NbPlayersLimit;
|
||||
ClientLimit = 1000;
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 1;
|
||||
|
||||
// Set a mainland SessionId.
|
||||
// Live: Must be 0 for ring shards, non-zero (usually ShardId) for mainland shards
|
||||
// Dev: Can be non-zero to initially connect a client to a ring shard
|
||||
NoWSShardId = ShardId;
|
||||
FixedSessionId = 0;
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// FS Specifics --------------------------------------------------------------------------
|
||||
// Client bandwidth ratio, set to 1 for standard operation, more than one allocate more bandwidth
|
||||
BandwidthRatio = 2;
|
||||
|
||||
// EGS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (EGS)
|
||||
NbObjectsLimit = 2000;
|
||||
NbNpcSpawnedByEGSLimit = 5000;
|
||||
NbForageSourcesLimit = 10000;
|
||||
NbToxicCloudsLimit = 5000;
|
||||
|
||||
// AIS Specifics --------------------------------------------------------------------------
|
||||
// Entity Limits (AIS)
|
||||
NbPetLimit = NbPlayersLimit*4;
|
||||
NbFaunaLimit = 50000;
|
||||
NbNpcLimit = 50000;
|
||||
NbFxLimit = 500;
|
||||
|
||||
// This is the list of continent to use with their unique instance number
|
||||
UsedContinents =
|
||||
{
|
||||
"r2_desert", "10000",
|
||||
"r2_forest", "10001",
|
||||
"r2_jungle", "10002",
|
||||
"r2_lakes", "10003",
|
||||
"r2_roots", "10004",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
};
|
|
@ -0,0 +1 @@
|
|||
// This cfg file defines stuff that's common to all standard unifier shards
|
353
code/ryzom/server/patchman_cfg_khanat/default/ai_service.cfg
Normal file
353
code/ryzom/server/patchman_cfg_khanat/default/ai_service.cfg
Normal file
|
@ -0,0 +1,353 @@
|
|||
|
||||
// a list of system command that run at server startup.
|
||||
SystemCmd = {};
|
||||
|
||||
|
||||
//NegFiltersDebug += { "LNET", "HNET", "FEVIS"};
|
||||
//NegFiltersInfo += { "LNET", "HNET", "VISION_DELTA", "FEIMPE", "FEVIS" };
|
||||
// NegFiltersWarning += { "LNET", "FEHACK", "FERECV"};
|
||||
// NegFiltersWarning += { "positional", "faction", "pet" };
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
//- Basic (specific) heal profile parameters ---------------------------------
|
||||
// Downtime for normal heal (on other bots of the group)
|
||||
HealSpecificDowntime = 100;
|
||||
// Downtime for self heal
|
||||
HealSpecificDowntimeSelf = 100;
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Disable caching of ligo primitive in binary files
|
||||
CachePrims = 0;
|
||||
CachePrimsLog = 0;
|
||||
|
||||
// do not log the corrected position.
|
||||
LogAcceptablePos = 0;
|
||||
// do not log group creation failure
|
||||
LogGroupCreationFailure = 0;
|
||||
// do not log aliad tree owner construstion.
|
||||
LogAliasTreeOwner = 0;
|
||||
// do not log outpost info
|
||||
LogOutpostDebug = 0;
|
||||
// Speed factor, for debug purpose only. Don't set to high speed factor !
|
||||
SpeedFactor = 1;
|
||||
// Speep up the timer triggering. Set a value between 1 (normal) and INT_MAX.
|
||||
TimerSpeedUp = 1;
|
||||
|
||||
// Default timer for wander behavior
|
||||
DefaultWanderMinTimer = 50; // 5s
|
||||
DefaultWanderMaxTimer = 100; // 10s
|
||||
|
||||
// Fame and guard behavior
|
||||
// Fame value under witch the guard attack the player in sigth
|
||||
FameForGuardAttack = -450000;
|
||||
// The minimum of fame for guard to help the player
|
||||
FameForGuardHelp = -200000;
|
||||
|
||||
// The default aggro distance for NPC
|
||||
DefaultNpcAggroDist = 15;
|
||||
// The default escort range for escort behavior
|
||||
DefaultEscortRange = 10;
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// Aggro //
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
AggroReturnDistCheck = 15.0;
|
||||
AggroReturnDistCheckFauna = 15.0;
|
||||
AggroReturnDistCheckNpc = 1.5;
|
||||
AggroD1Radius = 250.0;
|
||||
AggroD2Radius = 150.0;
|
||||
AggroPrimaryGroupDist = 0.0;
|
||||
AggroPrimaryGroupCoef = 0.0;
|
||||
AggroSecondaryGroupDist = 0.0;
|
||||
AggroSecondaryGroupCoef = 0.0;
|
||||
AggroPropagationRadius = 60.0;
|
||||
|
||||
BotRepopFx = "";
|
||||
|
||||
// GROUP KEYWORDS
|
||||
// used mainly in event handlers to determine to which groups events apply
|
||||
KeywordsGroupNpc = {
|
||||
|
||||
"patrol", // a group of bots who guard a patrol route or point
|
||||
"convoy", // a group with pack animals who follow roads from place to place
|
||||
"with_players", // a group who may travel with players
|
||||
};
|
||||
|
||||
// BOT KEYWORDS
|
||||
// used mainly in npc_state_profile to determine which ai profiles to assign to which bots
|
||||
KeywordsBotNpc = {
|
||||
|
||||
"team_leader", // a bot who leads the way in front of their team (and acts as leader
|
||||
// in discussion with players)
|
||||
"animal_leader", // a bot who leads pack animals
|
||||
"guard", // a bot who is a guard of some sort (eg karavan guard)
|
||||
"emissary", // eg karavan emissary
|
||||
"preacher", // eg kami preacher
|
||||
"guardian", // typically kami guardians
|
||||
"vip", // someone who has an escort of players or NPCs (assumed to be harmless)
|
||||
};
|
||||
|
||||
// STATE KEYWORDS
|
||||
// used mainly in event handlers to determine to which state events apply
|
||||
// eg: when a player goes link dead if the team that this player is escorting
|
||||
// is in a dangerous area the team may enter a 'protect ourselves and wait for
|
||||
// players' punctual state
|
||||
KeywordsStateNpc = {
|
||||
|
||||
"safe", // eg the gathering point at town entrance
|
||||
"dangerous", // eg a route through the wilds
|
||||
};
|
||||
|
||||
ColourNames =
|
||||
{
|
||||
"red : 0",
|
||||
"beige : 1",
|
||||
"green : 2",
|
||||
"turquoise : 3",
|
||||
"blue : 4",
|
||||
"violet : 5",
|
||||
"white : 6",
|
||||
"black : 7",
|
||||
|
||||
"redHair: 0",
|
||||
"blackHair: 1",
|
||||
};
|
||||
|
||||
|
||||
StartCommandsWhenMirrorReady = {
|
||||
};
|
||||
|
||||
//---------------------------------------------------------
|
||||
// commands for multi IA configuration
|
||||
// For multi IA config, use the -m command line switch folowed
|
||||
// by a semicolon separated list of command block to run.
|
||||
// ex :
|
||||
// -mCommon:Matis:Post
|
||||
// will execute the folowing command blocks in order :
|
||||
// * StartCommandsWhenMirrorReadyCommon
|
||||
// * StartCommandsWhenMirrorReadyMatis
|
||||
// * StartCommandsWhenMirrorReadyPost
|
||||
//---------------------------------------------------------
|
||||
// common commands before loading continents
|
||||
StartCommandsWhenMirrorReadyCommon =
|
||||
{
|
||||
"RandomPosMaxRetry 6400",
|
||||
"fightRangeRange 4 60",
|
||||
"LogOutpostDebug 1",
|
||||
"grpHistoryRecordLog",
|
||||
|
||||
"verboseAIProfiles",
|
||||
"verboseAliasNodeTreeParserLog",
|
||||
"verboseCombatLog",
|
||||
"verboseFaunaMgrLog",
|
||||
"verboseFaunaParseLog",
|
||||
"verboseNPCBotProfiles",
|
||||
"verboseNPCMgrLog",
|
||||
"verboseNPCParserLog",
|
||||
"verboseNpcDescriptionMsgLog",
|
||||
"verbosePrimitiveParserLog",
|
||||
// "verboseSwitchMultipleChangesOfAProperty",
|
||||
};
|
||||
|
||||
|
||||
// commands for indoors continent
|
||||
StartCommandsWhenMirrorReadyIndoors =
|
||||
{
|
||||
"loadContinent indoors",
|
||||
"createStaticAIInstance indoors",
|
||||
"loadMapsFromCommon indoors_all",
|
||||
};
|
||||
|
||||
// commands for Matis continent
|
||||
StartCommandsWhenMirrorReadyMatis =
|
||||
{
|
||||
"loadContinent matis",
|
||||
"createStaticAIInstance matis",
|
||||
"loadMapsFromCommon matis_all",
|
||||
};
|
||||
|
||||
// commands for Matis newbie continent
|
||||
StartCommandsWhenMirrorReadyMatisNewbie =
|
||||
{
|
||||
"loadContinent matis",
|
||||
"createStaticAIInstance matis_newbie",
|
||||
"loadMapsFromCommon matis_newbie_all",
|
||||
};
|
||||
|
||||
// commands for Zorai continent
|
||||
StartCommandsWhenMirrorReadyZorai =
|
||||
{
|
||||
"loadContinent zorai",
|
||||
"createStaticAIInstance zorai",
|
||||
"loadMapsFromCommon zorai_all",
|
||||
};
|
||||
|
||||
// commands for Zorai newbie continent
|
||||
StartCommandsWhenMirrorReadyZoraiNewbie =
|
||||
{
|
||||
"loadContinent zorai",
|
||||
"createStaticAIInstance zorai_newbie",
|
||||
"loadMapsFromCommon zorai_newbie_all",
|
||||
};
|
||||
|
||||
// commands for Fyros continent
|
||||
StartCommandsWhenMirrorReadyFyros =
|
||||
{
|
||||
"loadContinent fyros",
|
||||
"createStaticAIInstance fyros",
|
||||
"loadMapsFromCommon fyros_all",
|
||||
};
|
||||
|
||||
// commands for Fyros newbie continent
|
||||
StartCommandsWhenMirrorReadyFyrosNewbie =
|
||||
{
|
||||
"loadContinent fyros_newbie",
|
||||
"createStaticAIInstance fyros_newbie",
|
||||
"loadMapsFromCommon fyros_newbie_all",
|
||||
};
|
||||
|
||||
// commands for Tryker continent
|
||||
StartCommandsWhenMirrorReadyTryker =
|
||||
{
|
||||
"loadContinent tryker",
|
||||
"createStaticAIInstance tryker",
|
||||
"loadMapsFromCommon tryker_all",
|
||||
};
|
||||
|
||||
// commands for Tryker newbie continent
|
||||
StartCommandsWhenMirrorReadyTrykerNewbie =
|
||||
{
|
||||
"loadContinent tryker_newbie",
|
||||
"createStaticAIInstance tryker_newbie",
|
||||
"loadMapsFromCommon tryker_newbie_all",
|
||||
};
|
||||
|
||||
// commands for bagne continents
|
||||
StartCommandsWhenMirrorReadyBagne =
|
||||
{
|
||||
"loadContinent bagne",
|
||||
"createStaticAIInstance bagne",
|
||||
"loadMapsFromCommon bagne_all",
|
||||
};
|
||||
|
||||
StartCommandsWhenMirrorReadyNexus =
|
||||
{
|
||||
"loadContinent nexus",
|
||||
"createStaticAIInstance nexus",
|
||||
"loadMapsFromCommon nexus_all",
|
||||
};
|
||||
|
||||
StartCommandsWhenMirrorReadyRouteGouffre =
|
||||
{
|
||||
"loadContinent route_gouffre",
|
||||
"createStaticAIInstance route_gouffre",
|
||||
"loadMapsFromCommon route_gouffre_all",
|
||||
};
|
||||
|
||||
StartCommandsWhenMirrorReadySources =
|
||||
{
|
||||
"loadContinent sources_interdites",
|
||||
"createStaticAIInstance sources",
|
||||
"loadMapsFromCommon sources_all",
|
||||
};
|
||||
|
||||
StartCommandsWhenMirrorReadyTerre =
|
||||
{
|
||||
"loadContinent terre_oubliee",
|
||||
"createStaticAIInstance terre",
|
||||
"loadMapsFromCommon terre_all",
|
||||
};
|
||||
|
||||
// commands for Fyros Island continent
|
||||
StartCommandsWhenMirrorReadyFyrosIsland =
|
||||
{
|
||||
"loadContinent fyros_island",
|
||||
"createStaticAIInstance fyros_island",
|
||||
"loadMapsFromCommon fyros_island_all",
|
||||
};
|
||||
|
||||
// commands for Zorai Island continent
|
||||
StartCommandsWhenMirrorReadyZoraiIsland =
|
||||
{
|
||||
"loadContinent zorai_island",
|
||||
"createStaticAIInstance zorai_island",
|
||||
"loadMapsFromCommon zorai_island_all",
|
||||
};
|
||||
|
||||
// commands for Tryker Island continent
|
||||
StartCommandsWhenMirrorReadyTrykerIsland =
|
||||
{
|
||||
"loadContinent tryker_island",
|
||||
"createStaticAIInstance tryker_island",
|
||||
"loadMapsFromCommon tryker_island_all",
|
||||
};
|
||||
|
||||
// commands for Matis island continent
|
||||
StartCommandsWhenMirrorReadyMatisIsland =
|
||||
{
|
||||
"loadContinent matis_island",
|
||||
"createStaticAIInstance matis_island",
|
||||
"loadMapsFromCommon matis_island_all",
|
||||
};
|
||||
|
||||
// commands for Newbieland continent
|
||||
StartCommandsWhenMirrorReadyNewbieland =
|
||||
{
|
||||
"loadContinent newbieland",
|
||||
"createStaticAIInstance newbieland",
|
||||
"loadMapsFromCommon newbieland_all",
|
||||
};
|
||||
|
||||
// commands for Kitiniere continent
|
||||
StartCommandsWhenMirrorReadyKitiniere =
|
||||
{
|
||||
"loadContinent kitiniere",
|
||||
"createStaticAIInstance kitiniere",
|
||||
"loadMapsFromCommon kitiniere_all",
|
||||
};
|
||||
|
||||
// commands for post continents loading
|
||||
StartCommandsWhenMirrorReadyPost =
|
||||
{
|
||||
"spawnInstances",
|
||||
"updateAI",
|
||||
"updateAI",
|
||||
};
|
||||
|
||||
|
||||
// commands for Ring continents
|
||||
StartCommandsWhenMirrorReadyRing =
|
||||
{
|
||||
"loadContinent r2_desert",
|
||||
"createDynamicAIInstance 10000",
|
||||
"loadPrimitiveFile dummy.primitive",
|
||||
|
||||
// "loadContinent r2_forest",
|
||||
// "createDynamicAIInstance 10001",
|
||||
// "loadPrimitiveFile dummy.primitive",
|
||||
|
||||
// "loadContinent r2_lakes",
|
||||
// "createDynamicAIInstance 10003",
|
||||
// "loadPrimitiveFile dummy.primitive",
|
||||
|
||||
// "loadContinent r2_jungle",
|
||||
// "createDynamicAIInstance 10002",
|
||||
// "loadPrimitiveFile dummy.primitive",
|
||||
|
||||
// "loadContinent r2_roots",
|
||||
// "createDynamicAIInstance 10004",
|
||||
// "loadPrimitiveFile dummy.primitive",
|
||||
|
||||
// "spawnInstances",
|
||||
"updateAI",
|
||||
"updateAI",
|
||||
|
||||
// L5 connect to the shard unifier
|
||||
"unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )",
|
||||
|
||||
// Create a shard AIS Module
|
||||
"moduleManager.createModule AisControl ais",
|
||||
// Connect AIS
|
||||
"ais.plug gw"
|
||||
};
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
DontUseNS = BSDontUseNS;
|
||||
NSHost = BSNSHost;
|
||||
|
||||
// template path from SaveShardRoot to find character saves
|
||||
SaveTemplatePath = "$shard/characters/account_$userid_$charid$ext";
|
||||
|
||||
// character saves possible extension list
|
||||
SaveExtList = "_pdr.bin _pdr.xml .bin";
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
DelayBeforeStartAct = 1;
|
||||
MaxNpcs = 300;
|
||||
MaxStaticObjects = 200;
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
"unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )",
|
||||
};
|
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,106 @@
|
|||
|
||||
// Configure module gateway for front end operation
|
||||
StartCommands +=
|
||||
{
|
||||
// Add a security plugin (will add player info on player module proxy)
|
||||
"gw.securityCreate FESecurity",
|
||||
// create a front end service transport
|
||||
"gw.transportAdd FEServer fes",
|
||||
// set the transport option (need PeerInvisible and Firewalled)
|
||||
"gw.transportOptions fes(PeerInvisible Firewalled)",
|
||||
// open the transport
|
||||
"gw.transportCmd fes(open)",
|
||||
};
|
||||
|
||||
|
||||
// UDP port for client communication
|
||||
//FrontendPort = 47851;
|
||||
|
||||
ListenAddress = FSListenHost+":"+FSUDPPort;
|
||||
|
||||
// Maximum size that can be read from a client message
|
||||
DatagramLength = 10000;
|
||||
|
||||
// Time-out before removing a client when it does not send any more data
|
||||
ClientTimeOut = 600000; // 10 min
|
||||
|
||||
// Time-out before removing a limbo client when it does not send any more data
|
||||
LimboTimeOut = 60000; // 1 min
|
||||
|
||||
// Maximum bytes per game cycle sent to all clients (currently not used/implemented)
|
||||
TotalBandwidth = 536870911; // <512 MB : max value for 32 bit bitsize !
|
||||
|
||||
// Maximum bytes per game cycle sent to a client, including all headers
|
||||
ClientBandwidth = 332 * BandwidthRatio; // 332 <=> 13 kbit/s at 5 Hz; 202 <=> 16 kbit/s at 10 Hz
|
||||
|
||||
// Maximum bytes for impulsion channels per datagram sent to a client
|
||||
ImpulsionByteSize0 = 20 * BandwidthRatio;
|
||||
ImpulsionByteSize1 = 200 * BandwidthRatio;
|
||||
ImpulsionByteSize2 = 200 * BandwidthRatio;
|
||||
NbMinimalVisualBytes = 50;
|
||||
|
||||
// Distance/delta ratio that triggers the sending of a position
|
||||
DistanceDeltaRatioForPos = 100;
|
||||
|
||||
// Number of game cycles per front-end cycle
|
||||
GameCycleRatio = 1;
|
||||
// Execution period of distance calculation
|
||||
CalcDistanceExecutionPeriod = 8;
|
||||
// Execution period of position prioritization
|
||||
PositionPrioExecutionPeriod = 2;
|
||||
// Execution period of orientation prioritization
|
||||
OrientationPrioExecutionPeriod = 8;
|
||||
// Execution period of discreet properties prioritization
|
||||
DiscreetPrioExecutionPeriod = 2;
|
||||
|
||||
SortPrioExecutionPeriod = 1;
|
||||
|
||||
// Display or not the "FE" nlinfos
|
||||
DisplayInfo = 1;
|
||||
|
||||
// Prioritizer mode (currently the only mode is 1 for DistanceDelta)
|
||||
PriorityMode = 1;
|
||||
|
||||
// Strategy for selecting pairs to prioritize (Power2WithCeiling=0, Scoring=1)
|
||||
SelectionStrategy = 1;
|
||||
|
||||
// Minimum number of pairs to select for prioritization
|
||||
MinNbPairsToSelect = 2000;
|
||||
|
||||
// Index of client to monitor, or 0 for no monitoring
|
||||
ClientMonitor = 0;
|
||||
|
||||
// Allow or not beeping
|
||||
AllowBeep = 1;
|
||||
|
||||
//NegFiltersDebug += { "FESEND", "FERECV", "FETIME", "FEMMAN", "TICK", "TOCK" };
|
||||
//NegFiltersInfo += { "FESEND", "FERECV", "FETIME", "FEMMAN", "FESTATS" };
|
||||
|
||||
Lag = 0; // The lag on the simulated network (used by simlag)
|
||||
PacketLoss = 0; // percentage of lost packet (used by simlag)
|
||||
PacketDuplication = 0; // percentage of duplicated packet (used by simlag)
|
||||
PacketDisordering = 0; // percentage of disordered packet (used by simlag) (Lag must be >100 to use disordering)
|
||||
|
||||
// ----------------------------------------
|
||||
// Frontend/Patch mode settings
|
||||
|
||||
// If 1, the frontend server is used in Patch/Frontend mode (0 = only frontend mode, old behaviour)
|
||||
UseWebPatchServer = 1;
|
||||
|
||||
// If 0, the frontend service is in Patch mode at startup, and it won't accept clients unless WS tells it to do so.
|
||||
AcceptClientsAtStartup = 1;
|
||||
|
||||
// Patch URL footer. PatchURL will look like 'http://223.254.124.23:43435/patch'
|
||||
PatchingURLFooter = ":80/patch";
|
||||
|
||||
// System command to be executed when FS tries to start Web Patch server (ideally at FS startup)
|
||||
StartWebServerSysCommand = "";
|
||||
|
||||
// System command to be executed when FS tries to stop Web Patch server (ideally when FS turns to frontend mode)
|
||||
StopWebServerSysCommand = "";
|
||||
|
||||
// Use Thread for sending
|
||||
UseSendThread = 1;
|
||||
|
||||
// Unidirectional Mirror mode (FS part)
|
||||
ExpediteTOCK = 1;
|
|
@ -0,0 +1,7 @@
|
|||
|
||||
CheckPlayerSpeed = 0;
|
||||
SecuritySpeedFactor = 1.5;
|
||||
|
||||
LoadPacsPrims = 0;
|
||||
LoadPacsCol = 1;
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
|
||||
#ifndef DONT_USE_LGS_SLAVE
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
// L5 connect to the shard unifier
|
||||
"unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )",
|
||||
|
||||
// Create a gateway for global interconnection
|
||||
// modules from different shard are visible to each other if they connect to
|
||||
// this gateway. SU Local module have no interest to be plugged here.
|
||||
"moduleManager.createModule StandardGateway glob_gw",
|
||||
// add a layer 3 server transport
|
||||
"glob_gw.transportAdd L3Client l3c",
|
||||
// open the transport
|
||||
"glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")",
|
||||
|
||||
// Create a gateway for logger service connection
|
||||
"moduleManager.createModule StandardGateway lgs_gw",
|
||||
|
||||
// add a layer 3 server transport for master logger service
|
||||
"lgs_gw.transportAdd L3Client masterL3c",
|
||||
// open the transport
|
||||
"lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")",
|
||||
|
||||
// add a layer 3 server transport for slave logger service
|
||||
"lgs_gw.transportAdd L3Client slaveL3c",
|
||||
// open the transport
|
||||
"lgs_gw.transportCmd slaveL3c(connect addr="+SlaveLGSHost+":"+L3SlaveLGSPort+")",
|
||||
|
||||
// Create a chat unifier client
|
||||
"moduleManager.createModule ChatUnifierClient cuc",
|
||||
|
||||
// and plug it on the gateway to reach the SU ChatUnifierServer
|
||||
"cuc.plug glob_gw",
|
||||
"cuc.plug gw",
|
||||
|
||||
// Create the logger service client module
|
||||
"moduleManager.createModule LoggerServiceClient lsc",
|
||||
"lsc.plug lgs_gw",
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef DONT_USE_LGS_SLAVE
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
// L5 connect to the shard unifier
|
||||
"unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )",
|
||||
|
||||
// Create a gateway for global interconnection
|
||||
// modules from different shard are visible to each other if they connect to
|
||||
// this gateway. SU Local module have no interest to be plugged here.
|
||||
"moduleManager.createModule StandardGateway glob_gw",
|
||||
// add a layer 3 server transport
|
||||
"glob_gw.transportAdd L3Client l3c",
|
||||
// open the transport
|
||||
"glob_gw.transportCmd l3c(connect addr="+SUHost+":"+SUGlobalPort+")",
|
||||
|
||||
// Create a gateway for logger service connection
|
||||
"moduleManager.createModule StandardGateway lgs_gw",
|
||||
|
||||
// add a layer 3 server transport for master logger service
|
||||
"lgs_gw.transportAdd L3Client masterL3c",
|
||||
// open the transport
|
||||
"lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")",
|
||||
|
||||
// Create a chat unifier client
|
||||
"moduleManager.createModule ChatUnifierClient cuc",
|
||||
// and plug it on the gateway to reach the SU ChatUnifierServer
|
||||
"cuc.plug glob_gw",
|
||||
"cuc.plug gw",
|
||||
|
||||
// Create the logger service client module
|
||||
"moduleManager.createModule LoggerServiceClient lsc",
|
||||
"lsc.plug lgs_gw",
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
DisableMonotonicClock = 1;
|
||||
|
||||
// a list of system command that can be run with "sysCmd" service command.
|
||||
SystemCmd = {};
|
||||
|
||||
// IOS don't use work directory by default
|
||||
ReadTranslationWork = 0;
|
||||
|
||||
// Global shard bot name translation file. You sould overide this
|
||||
// in input_output_service.cfg to specialize the file
|
||||
// depending on the shard main language.
|
||||
BotNameTranslationFile = "bot_names.txt";
|
||||
|
||||
// Global shard event faction translation file. You sould override this
|
||||
// in input_output_service.cfg to specialize the file
|
||||
// depending on the shard main language.
|
||||
EventFactionTranslationFile = "event_factions.txt";
|
||||
|
||||
// Activate/deactivate debugging of missing paremeter replacement
|
||||
DebugReplacementParameter = 1;
|
||||
|
||||
// Id of database for PDS Chat Logging
|
||||
DatabaseId = 1;
|
||||
|
||||
// Default verbose debug flags:
|
||||
//-----------------------------
|
||||
|
||||
// Log bot name translation from 'BotNameTranslationFile'
|
||||
VerboseNameTranslation = 1;
|
||||
// Log chat management operation
|
||||
VerboseChatManagement = 1;
|
||||
// Log chat event
|
||||
VerboseChat = 1;
|
||||
// Log string manager message
|
||||
VerboseStringManager = 1;
|
||||
// Log the string manager parsing message
|
||||
VerboseStringManagerParser = 0;
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
DontUseNS = 1;
|
||||
|
||||
QueryTimeout = 300;
|
||||
LinePerPage = 50;
|
|
@ -0,0 +1,89 @@
|
|||
|
||||
|
||||
LogQueryLanguageHelp =
|
||||
{
|
||||
"Log Query Language Quick Reference",
|
||||
"----------------------------------",
|
||||
"",
|
||||
"A query is constitued of a series of predicates combined by 'or' and 'and' logical operator.",
|
||||
"Each predicate is applied on each log, then the result combined to obtain a list of 'selected' log.",
|
||||
"",
|
||||
"General query format :",
|
||||
"",
|
||||
" (options) predicate (logicalCombiner predicate)*",
|
||||
"",
|
||||
"options format :",
|
||||
" option*",
|
||||
"",
|
||||
" Available option :",
|
||||
" - 'full_context' : extract all the log that are in the context of a ",
|
||||
" selected log",
|
||||
" - 'output_prefix='<prefix> : set a prefix for the result file of the query",
|
||||
"",
|
||||
"logicalCombiner format :",
|
||||
" Supported logical combiner are 'or' and 'and'.",
|
||||
" The 'and' combiner have the hightest priority over 'or'.",
|
||||
" You can also manually force the priority of combiner by",
|
||||
" grouping predicate with parenthesis.",
|
||||
" e.g : '(' predicate1 'or' predicate2 ')' 'and' predicate3'",
|
||||
" In this case, the 'or' between predicate1 and predicate2 is avaluated ",
|
||||
" before the 'and' with predicated3",
|
||||
"",
|
||||
"Predicate format :",
|
||||
" <paramName | paramType> <operator> <constant>",
|
||||
"",
|
||||
"ParamName format :",
|
||||
" Any parameter name that exist in a log. Any log that use this param name will",
|
||||
" be tested againts the predicate.",
|
||||
" e.g : userId",
|
||||
"",
|
||||
"",
|
||||
"ParamType format:",
|
||||
" You can test a predicate against any parameter of a given type, whatever it's name.",
|
||||
" '{' typeName '}'",
|
||||
" The available type names are :",
|
||||
" uint32, uint64, sint32, float, string, entityId, itemId, sheetId.",
|
||||
" Clearly, the entityId, itemId and sheetId are the most interesting.",
|
||||
"",
|
||||
"Operator format :",
|
||||
" All classicle operators are available:",
|
||||
" '<', '<=', '>', '>=', '=' (or '=='), '!=' and 'like'.",
|
||||
" The 'like' operator try to find the constant as a substring of the parameter.",
|
||||
"",
|
||||
"Constant format :",
|
||||
" Right part of a predicate are always constant.",
|
||||
" You can write constant of different type :",
|
||||
" uint32 : any decimal or hexacimal (prefixed with '0x')",
|
||||
" sint32 : any decimal prefixed with the minus sign '-'",
|
||||
" string : any list of characters surrounded by double quote",
|
||||
" entityId : an entity id as formated by NeL '(0x1234:12:34:56)'",
|
||||
" sheeId : any characters that can be considered as a sheet name (e.g 'foo.sitem')",
|
||||
" itemId : an item id as printed by the ryzom tool : '[123:0x123456:1234]'",
|
||||
"",
|
||||
"",
|
||||
"Special param name :",
|
||||
" There are threee hardcoded parameter name :",
|
||||
" 'LogName', 'LogDate' and 'ShardId'.",
|
||||
"",
|
||||
" 'LogName' is used to build query based on the name of the log instead of",
|
||||
" on the value of the parameters. e.g : 'LogName = '''Item_Create''' will select",
|
||||
" all logs of item creation.",
|
||||
"",
|
||||
" 'LogDate' is used to restrict the scope of the query on a limited time frame.",
|
||||
" LogDate accept date of the following format :",
|
||||
" - literal date : YYYY-MM-DD",
|
||||
" - literal date and time: YYYY-MM-DD HH:MM",
|
||||
" - literal date and time: YYYY-MM-DD HH:MM:SS",
|
||||
" - yesterday : 'yesterday'",
|
||||
" - some time ago : <count> secs|mins|hours|days|weeks|months|years",
|
||||
"",
|
||||
" e.g : 'LogDate > yesterday' -> any log from yesterday to now",
|
||||
" 'LogDate > 2 days' -> any log from 2 days ago to now",
|
||||
" 'LogDate < 3 weeks' -> any log older than 3 weeks",
|
||||
"",
|
||||
" 'ShardId' is used to select log from a specific shard. You must",
|
||||
" give a numeric shard id as predicate parameter. ",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
};
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
DontUseNS = 1;
|
||||
|
||||
// Set if Hall of Fame generator is disabled
|
||||
HoFDisableGenerator = 0;
|
||||
|
||||
// Directory where HDT files are parsed (in WebRootDirectory)
|
||||
HoFParsedDirectory = "hof";
|
||||
|
||||
// HoF generator update period in milliseconds
|
||||
HoFGeneratorUpdatePeriod = 5000;
|
||||
|
||||
// HoF generator directory update period in seconds
|
||||
HoFGeneratorDirUpdatePeriod = 60;
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
// Linux only
|
||||
DestroyGhostSegments = 1;
|
||||
|
||||
//NegFiltersDebug += { "MSG:" };
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
SId = 1;
|
||||
DontUseNS = 1;
|
||||
|
||||
UniqueOnShardServices = {}; // { "EGS", "GPMS", "IOS", "TICKS", "WS", "AIS", "DSS" };
|
||||
UniqueByMachineServices = {}; // { "MS" };
|
25
code/ryzom/server/patchman_cfg_khanat/default/ryzom_as.cfg
Normal file
25
code/ryzom/server/patchman_cfg_khanat/default/ryzom_as.cfg
Normal file
|
@ -0,0 +1,25 @@
|
|||
DontUseNS = 1;
|
||||
|
||||
RRDToolPath = "rrdtool";
|
||||
RRDVarPath = "../rrd_graphs";
|
||||
|
||||
// Variables required to be defined by other cfgs
|
||||
//AESHost="localhost";
|
||||
//ASWebPort="46700";
|
||||
//ASPort="46701";
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
// create the admin service module and open the web interface
|
||||
"moduleManager.createModule AdminService as webPort="+ASWebPort,
|
||||
|
||||
// create a gateway for aes to connect
|
||||
"moduleManager.createModule StandardGateway as_gw",
|
||||
// create a layer 3 server
|
||||
"as_gw.transportAdd L3Server l3s",
|
||||
"as_gw.transportOptions l3s(PeerInvisible)",
|
||||
"as_gw.transportCmd l3s(open port="+ASPort+")",
|
||||
|
||||
// plug the as
|
||||
"as.plug as_gw",
|
||||
};
|
|
@ -0,0 +1,37 @@
|
|||
|
||||
NSHost = SUNSHost;
|
||||
DontUseNS = SUDontUseNS;
|
||||
|
||||
// SU - listen address of the SU service (for L5 connections)
|
||||
SUAddress = SUHost+":"+SUPort;
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
// Create a gateway for global interconnection
|
||||
// modules from different shard are visible to each other if they connect to
|
||||
// this gateway. SU Local module have no interest to be plugged here.
|
||||
"moduleManager.createModule StandardGateway glob_gw",
|
||||
// add a layer 3 server transport
|
||||
"glob_gw.transportAdd L3Server l3s",
|
||||
// open the transport
|
||||
"glob_gw.transportCmd l3s(open port="+SUGlobalPort+")",
|
||||
// Create a session manager module
|
||||
"moduleManager.createModule RingSessionManager rsm web(port=49999) ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")",
|
||||
"rsm.plug gw",
|
||||
// Create a login service module
|
||||
"moduleManager.createModule LoginService ls ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") web(port=49998) nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")",
|
||||
"ls.plug gw",
|
||||
// Create a character synchronization module
|
||||
"moduleManager.createModule CharacterSynchronisation cs fake_edit_char ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")",
|
||||
"cs.plug gw",
|
||||
// Create entity locator module
|
||||
"moduleManager.createModule EntityLocator el ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") nel_db(host="+DBHost+" user="+DBNelUser+" password="+DBNelPass+" base="+DBNelName+")",
|
||||
"el.plug gw",
|
||||
// Create a mail forum notifier forwarder
|
||||
"moduleManager.createModule MailForumNotifierFwd mfnfwd ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+") web(port=49897)",
|
||||
"mfnfwd.plug gw",
|
||||
// Create a chat unifier server module
|
||||
"moduleManager.createModule ChatUnifierServer cus ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")",
|
||||
"cus.plug gw",
|
||||
};
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
|
||||
/// A list of vars to graph for TS
|
||||
GraphVars +=
|
||||
{
|
||||
"TotalSpeedLoop", "60000", // low rez, every minutes
|
||||
"TotalSpeedLoop", "0", // high rez, every tick
|
||||
};
|
||||
|
||||
|
||||
//NegFiltersDebug = { "DELTA_", "DEFAULT_CB", };
|
|
@ -0,0 +1,37 @@
|
|||
|
||||
// short name of the frontend service
|
||||
FrontendServiceName = "FS";
|
||||
|
||||
// in ring architecture, we no more use the legacy LS
|
||||
DontUseLS = 1;
|
||||
|
||||
// if any of this services is not connected, the WS is closed.
|
||||
ExpectedServices = { "FS", "MS", "EGS", "GPMS", "IOS", "TICKS" };
|
||||
|
||||
// Access level to shard
|
||||
// 0: only dev
|
||||
// 1: dev + privileged users (see also OpenGroups variable)
|
||||
// 2: open for all
|
||||
ShardOpen = 2;
|
||||
|
||||
// File that contains the ShardOpen value (used to override ShardOpen value through AES' command createFile)
|
||||
// For instance, ShardOpen default value is 0, then AES creates a file to set ShardOpen to 2. If WS crashes,
|
||||
// ShardOpen is still set to 2 when it relaunches...
|
||||
// ShardOpenStateFile = "/tmp/shard_open_state";
|
||||
|
||||
// Privileged Groups
|
||||
OpenGroups = ":GM:SGM:G:SG:GUEST:";
|
||||
|
||||
UsePatchMode = 0;
|
||||
|
||||
// create welcome service module
|
||||
StartCommands +=
|
||||
{
|
||||
// create the service
|
||||
"moduleManager.createModule WelcomeService ws",
|
||||
// plug it in the gateway
|
||||
"ws.plug gw",
|
||||
|
||||
// add the SU service
|
||||
"unifiedNetwork.addService ShardUnifier ( address="+SUAddress+" sendId external autoRetry )",
|
||||
};
|
713
code/ryzom/server/patchman_cfg_khanat/shard_ctrl_definitions.txt
Normal file
713
code/ryzom/server/patchman_cfg_khanat/shard_ctrl_definitions.txt
Normal file
|
@ -0,0 +1,713 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Common Definitions
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// ---------------------------------
|
||||
// shard types & exe sets
|
||||
|
||||
// mini ring -----------------------
|
||||
|
||||
define exe_set_mini_ring
|
||||
use raes
|
||||
use ms_mini_ring
|
||||
use ais_ring
|
||||
use egs_ring
|
||||
use dss_ring
|
||||
use gpms_ring
|
||||
use ios_ring
|
||||
use rns_ring
|
||||
use fes_solo
|
||||
use ts_std
|
||||
use rws_std
|
||||
cfg NSHost="localhost";
|
||||
|
||||
// mini mainland -------------------
|
||||
|
||||
define exe_set_mini_mainland
|
||||
use raes
|
||||
use ms_mini_mainland
|
||||
use ais_newbieland
|
||||
use egs_mainland
|
||||
use gpms_mainland
|
||||
use ios_mainland
|
||||
use rns_mainland
|
||||
use fes_solo
|
||||
use ts_std
|
||||
use rws_std
|
||||
cfg NSHost="localhost";
|
||||
|
||||
|
||||
// full ring -----------------------
|
||||
|
||||
define exe_set_std_ring_be
|
||||
use raes
|
||||
use ms_std_ring
|
||||
use ais_ring
|
||||
use egs_ring
|
||||
use dss_ring
|
||||
use gpms_ring
|
||||
use ios_ring
|
||||
use rns_ring
|
||||
use ts_std
|
||||
use rws_std
|
||||
|
||||
define exe_set_std_ring_fe
|
||||
use raes
|
||||
use ms_std_ring
|
||||
use fes_std_pair01
|
||||
use fes_std_pair02
|
||||
|
||||
|
||||
// full mainland -------------------
|
||||
|
||||
define exe_set_std_mainland_fe
|
||||
use raes
|
||||
use ms_std_mainland
|
||||
use exe_set_std_mainland_fe_basics
|
||||
|
||||
define exe_set_std_mainland_fe_basics
|
||||
use fes_std_pair01
|
||||
use fes_std_pair02
|
||||
|
||||
define exe_set_std_mainland_be01
|
||||
use raes
|
||||
use ms_std_mainland
|
||||
use exe_set_std_mainland_be01_basics
|
||||
|
||||
define exe_set_std_mainland_be01_basics
|
||||
use egs_mainland
|
||||
use gpms_mainland
|
||||
use ios_mainland
|
||||
use rns_mainland
|
||||
use ts_std
|
||||
use rws_std
|
||||
|
||||
define exe_set_std_mainland_be02
|
||||
use raes
|
||||
use ms_std_mainland
|
||||
// use exe_set_std_mainland_be02_basics
|
||||
|
||||
define exe_set_std_mainland_be02_basics
|
||||
// use ais_fyros
|
||||
// use ais_zorai
|
||||
// use ais_roots
|
||||
|
||||
define exe_set_std_mainland_be03
|
||||
use raes
|
||||
use ms_std_mainland
|
||||
use exe_set_std_mainland_be03_basics
|
||||
|
||||
define exe_set_std_mainland_be03_basics
|
||||
// use ais_matis
|
||||
// use ais_tryker
|
||||
use ais_newbieland
|
||||
|
||||
// unifier and co ------------------
|
||||
|
||||
define exe_set_mini_unifier
|
||||
use raes
|
||||
use su_mini
|
||||
|
||||
define exe_set_std_unifier
|
||||
use raes
|
||||
use su_std
|
||||
use mfs_std
|
||||
|
||||
define exe_set_std_backup_master
|
||||
use raes
|
||||
use bms_master
|
||||
use pdss
|
||||
|
||||
define exe_set_std_backup_slave
|
||||
use raes
|
||||
use bms_slave
|
||||
use pdss
|
||||
|
||||
define exe_set_std_lgs_master
|
||||
use lgs_master
|
||||
|
||||
define exe_set_std_lgs_slave
|
||||
use lgs_slave
|
||||
|
||||
|
||||
// ---------------------------------
|
||||
// standard data packs
|
||||
|
||||
define common
|
||||
cfg DontLog = 1;
|
||||
data cfg
|
||||
// data scripts
|
||||
|
||||
define shard_common
|
||||
use common
|
||||
data data_common
|
||||
data data_game_share
|
||||
data data_leveldesign
|
||||
|
||||
|
||||
// ---------------------------------
|
||||
// executables
|
||||
|
||||
// ais -----------------------------
|
||||
|
||||
define ais
|
||||
use shard_common
|
||||
cfg #include "../live/service_ai_service/ai_service.cfg"
|
||||
cfg WriteFilesDirectory= "../live/service_ai_service/";
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
|
||||
define ais_ring
|
||||
name ais
|
||||
cmdLine ai_service -C. -L. --nobreak --writepid -mCommon:Ring
|
||||
use ais
|
||||
data data_r2_desert
|
||||
// data data_r2_forest
|
||||
// data data_r2_jungle
|
||||
// data data_r2_lakes
|
||||
// data data_r2_roots
|
||||
|
||||
define ais_mainland
|
||||
name ais
|
||||
cmdLine ai_service -C. -L. --nobreak --writepid -mCommon:Indoors:Newbieland:Post
|
||||
use ais
|
||||
data data_mainland_common_primitives
|
||||
data data_newbieland_primitives
|
||||
data data_newbieland
|
||||
data data_indoors
|
||||
|
||||
|
||||
define ais_mini_mainland
|
||||
name ais
|
||||
cmdLine ai_service -C. -L. --nobreak --writepid -mCommon:Indoors:Newbieland:Post
|
||||
use ais_mainland
|
||||
|
||||
define ais_newbieland
|
||||
name ais_newbieland
|
||||
cmdLine ai_service -C. -L. --nobreak --writepid -mCommon:Indoors:Newbieland:Post
|
||||
use ais
|
||||
data data_mainland_common_primitives
|
||||
data data_newbieland_primitives
|
||||
data data_newbieland
|
||||
data data_indoors
|
||||
|
||||
|
||||
// bms -----------------------------
|
||||
|
||||
define bms
|
||||
use common
|
||||
data data_leveldesign
|
||||
// cmdLine backup_module_service
|
||||
// cfg #include "../live/cfg/backup_module_service.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
// cfg #include "../live/cfg/backup_service.cfg"
|
||||
cfg WriteFilesDirectory= "../live/service_backup_service/";
|
||||
|
||||
define bms_master
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49990
|
||||
//cfg #include "../live/cfg/backup_module_service_master.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
cfgAfter ListeningPort = 49990;
|
||||
cfgAfter L3ListeningPort = 49950;
|
||||
cfgAfter WebPort = 49970;
|
||||
cfgAfter BSReadState = 1;
|
||||
cfgAfter SaveShardRoot = "../save_shard_bs/";
|
||||
|
||||
define bms_master2
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49994
|
||||
//cfg #include "../live/cfg/backup_module_service_master.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
cfgAfter ListeningPort = 49994;
|
||||
cfgAfter L3ListeningPort = 49954;
|
||||
cfgAfter WebPort = 49974;
|
||||
cfgAfter BSReadState = 1;
|
||||
cfgAfter SaveShardRoot = "../save_shard_bs/";
|
||||
|
||||
define bms_slave
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49991
|
||||
//cfg #include "../live/cfg/backup_module_service_slave.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
cfgAfter ListeningPort = 49991;
|
||||
cfgAfter L3ListeningPort = 49951;
|
||||
cfgAfter WebPort = 49971;
|
||||
cfgAfter BSReadState = 0;
|
||||
cfgAfter SaveShardRoot = "../save_shard_bs/";
|
||||
|
||||
define bms_pd_master
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49992
|
||||
//cfg #include "../live/cfg/backup_module_service_master.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
cfgAfter ListeningPort = 49992;
|
||||
cfgAfter L3ListeningPort = 49952;
|
||||
cfgAfter WebPort = 49972;
|
||||
cfgAfter BSReadState = 1;
|
||||
cfgAfter SaveShardRoot = "../save_shard_pd/";
|
||||
|
||||
define bms_pd_slave
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49993
|
||||
//cfg #include "../live/cfg/backup_module_service_slave.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
cfgAfter ListeningPort = 49993;
|
||||
cfgAfter L3ListeningPort = 49953;
|
||||
cfgAfter WebPort = 49973;
|
||||
cfgAfter BSReadState = 0;
|
||||
cfgAfter SaveShardRoot = "../save_shard_pd/";
|
||||
|
||||
define backup_lgs
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49994
|
||||
//cfg #include "../live/cfg/backup_module_service_master.cfg"
|
||||
cfg #include "../live/service_backup_service/backup_service.cfg"
|
||||
cfgAfter ListeningPort = 49994;
|
||||
cfgAfter L3ListeningPort = 49995;
|
||||
cfgAfter WebPort = 49972;
|
||||
cfgAfter BSReadState = 1;
|
||||
cfgAfter SaveShardRoot = "../save_shard_lgs/";
|
||||
cfgAfter UseTempFile = 0;
|
||||
|
||||
// lgs -----------------------------
|
||||
define lgs
|
||||
use common
|
||||
data data_leveldesign
|
||||
|
||||
cmdLine logger_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/cfg/logger_service.cfg"
|
||||
|
||||
cfg LogQueryResultFile = "log_query_result.txt";
|
||||
cfg SaveFilesDirectory = "save_shard/";
|
||||
cfg BSHost = LGSBSHost+":"+LGSBSPort;
|
||||
cfg L3BSPort = LGSBSPort;
|
||||
cfg DontUseNS = 1;
|
||||
|
||||
cfgAfter StartCommands +=
|
||||
cfgAfter {
|
||||
cfgAfter "moduleManager.createModule LoggerService ls",
|
||||
cfgAfter "moduleManager.createModule StandardGateway lgs_gw",
|
||||
cfgAfter "ls.plug lgs_gw",
|
||||
cfgAfter "lgs_gw.transportAdd L3Server l3s",
|
||||
cfgAfter "lgs_gw.transportOptions l3s(PeerInvisible)",
|
||||
cfgAfter "lgs_gw.transportCmd l3s(open port="+ LGSL3Port +")",
|
||||
cfgAfter };
|
||||
cfgAfter SaveShardRoot = "../save_shard_lgs/";
|
||||
cfgAfter SaveFilesDirectory = "../save_shard_lgs/";
|
||||
|
||||
define lgs_master
|
||||
use lgs
|
||||
cfg LGSL3Port = L3MasterLGSPort;
|
||||
|
||||
|
||||
define lgs_slave
|
||||
use lgs
|
||||
cfg LGSL3Port = L3SlaveLGSPort;
|
||||
|
||||
|
||||
// dss -----------------------------
|
||||
|
||||
define dss
|
||||
use shard_common
|
||||
cmdLine dynamic_scenario_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_dynamic_scenario_service/dynamic_scenario_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_dynamic_scenario_service/";
|
||||
|
||||
//define dss_mainland
|
||||
// use dss
|
||||
// cfg #include "../live/cfg/dynamic_scenario_service_mainland.cfg"
|
||||
|
||||
define dss_ring
|
||||
use dss
|
||||
// cfg #include "../live/cfg/dynamic_scenario_service_ring.cfg"
|
||||
|
||||
|
||||
// egs -----------------------------
|
||||
|
||||
define egs
|
||||
use shard_common
|
||||
cmdLine entities_game_service -C. -L. --nobreak --writepid
|
||||
data data_language
|
||||
cfg #include "../live/service_entities_game_service/entities_game_service.cfg"
|
||||
cfg PathsNoRecurse= {"."};
|
||||
cfg WriteFilesDirectory="../live/service_entities_game_service/";
|
||||
cfg NeverAggroPriv = ":OBSERVER:G:SG:GM:SGM:EM:";
|
||||
cfg AlwaysInvisiblePriv = ":OBSERVER:EM:";
|
||||
cfg TimeBeforeDisconnection = 300;
|
||||
cfg
|
||||
cfgAfter StartCommands += {
|
||||
cfgAfter "moduleManager.createModule AnimSessionManager asm",
|
||||
cfgAfter "asm.plug gw",
|
||||
cfgAfter };
|
||||
cfgAfter GraphVars += { "NbPlayers", "60000" };
|
||||
cfgAfter GraphVars += { "CharacterLoadPerTick", "0" };
|
||||
cfgAfter GraphVars += { "CharacterLoadPerTick", "60000" };
|
||||
cfgAfter GraphVars += { "CharacterSavePerTick", "0" };
|
||||
cfgAfter GraphVars += { "CharacterSavePerTick", "60000" };
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
cfgAfter RingRPXPRequiredPerAction=700;
|
||||
cfgAfter RingRPXPRequiredPerTimeSlice=700;
|
||||
|
||||
|
||||
define egs_mainland
|
||||
use egs
|
||||
data data_mainland_common_primitives
|
||||
data data_newbieland_primitives
|
||||
data data_newbieland
|
||||
data data_indoors
|
||||
//cfg #include "../live/cfg/entities_game_service_mainland.cfg"
|
||||
cfgAfter MaxXPGainPerPlayer = 30.0;
|
||||
cfgAfter DeathXPFactor = 0.1;
|
||||
cfgAfter CachePrims = 1;
|
||||
cfgAfter CorrectInvalidPlayerPositions = 1;
|
||||
|
||||
define egs_ring
|
||||
use egs
|
||||
data data_mainland_common_primitives
|
||||
// data data_newbieland_primitives
|
||||
// data data_newbieland
|
||||
// data data_indoors
|
||||
//cfg #include "../live/cfg/entities_game_service_ring.cfg" // care
|
||||
cfg UsedContinents =
|
||||
cfg {
|
||||
cfg "r2_desert", "10000",
|
||||
// cfg "r2_forest", "10001",
|
||||
// cfg "r2_jungle", "10002",
|
||||
// cfg "r2_lakes", "10003",
|
||||
// cfg "r2_roots", "10004",
|
||||
cfg };
|
||||
cfgAfter MaxXPGainPerPlayer = 30.0;
|
||||
cfgAfter DeathXPFactor = 0.0;
|
||||
cfgAfter CachePrims = 1;
|
||||
cfgAfter CorrectInvalidPlayerPositions = 0;
|
||||
cfgAfter RingRPEnabled = 0;
|
||||
|
||||
|
||||
// fes -----------------------------
|
||||
|
||||
define fes
|
||||
use shard_common
|
||||
cmdLine frontend_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_frontend_service/frontend_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_frontend_service/";
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
|
||||
define fes_solo
|
||||
use fes
|
||||
use sbs
|
||||
cfg FSUDPPort = 47860;
|
||||
|
||||
define fes_std_pair01
|
||||
use fes
|
||||
use sbs
|
||||
cfg FSUDPPort = 47851;
|
||||
|
||||
define fes_std_pair02
|
||||
use fes
|
||||
use sbs
|
||||
cfg FSUDPPort = 47852;
|
||||
|
||||
define fes_std_pair03
|
||||
use fes
|
||||
use sbs
|
||||
cfg FSUDPPort = 47853;
|
||||
|
||||
define fes_std_pair04
|
||||
use fes
|
||||
use sbs
|
||||
cfg FSUDPPort = 47854;
|
||||
|
||||
|
||||
// gpms ----------------------------
|
||||
|
||||
define gpms
|
||||
use shard_common
|
||||
cmdLine gpm_service -C. -L. --nobreak --writepid
|
||||
data data_pacs_prim
|
||||
cfg #include "../live/service_gpm_service/gpm_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_gpm_service/";
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "TickSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
|
||||
define gpms_mainland
|
||||
use gpms
|
||||
data data_newbieland
|
||||
data data_indoors
|
||||
//cfg #include "../live/cfg/gpm_service_mainland.cfg"
|
||||
|
||||
define gpms_ring
|
||||
use gpms
|
||||
data data_r2_desert
|
||||
// data data_r2_forest
|
||||
// data data_r2_jungle
|
||||
// data data_r2_lakes
|
||||
// data data_r2_roots
|
||||
//cfg #include "../live/cfg/gpm_service_ring.cfg"
|
||||
|
||||
|
||||
// pdss ----------------------------
|
||||
|
||||
define pdss
|
||||
name pdss
|
||||
use common
|
||||
data data_leveldesign
|
||||
cmdLine pd_support_service -C. -L. --nobreak --writepid
|
||||
cfg
|
||||
cfg NSHost="localhost";
|
||||
cfg
|
||||
cfg HourlyCommands =
|
||||
cfg {
|
||||
cfg "system /srv/core/bin/hourly_script.sh",
|
||||
cfg };
|
||||
cfg
|
||||
cfg DailyCommands =
|
||||
cfg {
|
||||
cfg "system /srv/core/bin/daily_script.sh",
|
||||
cfg
|
||||
cfg "fdcCacheClear",
|
||||
cfg "fdcCacheAddFileSpecRecurse /srv/core/save_shard_backups/latest/characters/account_*_?_pdr.bin",
|
||||
cfg
|
||||
cfg "JobUpdatesPerUpdate 10",
|
||||
cfg };
|
||||
cfg
|
||||
cfg InputFileDirectory="/srv/core/save_shard_backups/latest/characters/";
|
||||
cfg OutputFileDirectory="../stats/";
|
||||
cfg ScriptDirectory="../live/service_pd_support_service/scripts/";
|
||||
cfg DontUseNS=1;
|
||||
cfg DontUseTS=1;
|
||||
cfg DontUseAES=1;
|
||||
|
||||
|
||||
// ios -----------------------------
|
||||
|
||||
define ios
|
||||
use shard_common
|
||||
cmdLine input_output_service -C. -L. --nobreak --writepid
|
||||
data data_language
|
||||
cfg #include "../live/service_input_output_service/input_output_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_input_output_service/";
|
||||
cfgAfter VerboseStringManager = 0;
|
||||
cfgAfter VerboseStringManagerParser = 0;
|
||||
cfgAfter VerboseChat = 0;
|
||||
cfgAfter VerboseChatManagement = 0;
|
||||
cfgAfter VerboseNameTranslation = 0;
|
||||
cfgAfter // Create a char name mapper
|
||||
cfgAfter StartCommands +=
|
||||
cfgAfter {
|
||||
cfgAfter "moduleManager.createModule CharNameMapper cnm",
|
||||
cfgAfter "cnm.plug gw",
|
||||
cfgAfter "moduleManager.createModule IOSRingModule iosrm",
|
||||
cfgAfter "iosrm.plug gw",
|
||||
cfgAfter };
|
||||
|
||||
|
||||
define ios_mainland
|
||||
use ios
|
||||
//cfg #include "../live/cfg/input_output_service_mainland.cfg"
|
||||
|
||||
define ios_ring
|
||||
use ios
|
||||
//cfg #include "../live/cfg/input_output_service_ring.cfg"
|
||||
|
||||
|
||||
// las -----------------------------
|
||||
|
||||
define las
|
||||
use common
|
||||
cmdLine log_analyser_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_log_analyser_service/log_analyser_service.cfg"
|
||||
cfg WriteFilesDirectory="../";
|
||||
|
||||
|
||||
// mfs -----------------------------
|
||||
|
||||
define mfs
|
||||
use common
|
||||
cmdLine mail_forum_service -C. -L. --nobreak --writepid
|
||||
data data_www
|
||||
cfg #include "../live/service_mail_forum_service/mail_forum_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_mail_forum_service/";
|
||||
|
||||
define mfs_std
|
||||
use mfs
|
||||
|
||||
|
||||
// mos -----------------------------
|
||||
|
||||
define mos
|
||||
use shard_common
|
||||
cmdLine monitor_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_monitor_service/monitor_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_monitor_service/";
|
||||
|
||||
|
||||
// ms ------------------------------
|
||||
|
||||
define ms
|
||||
use shard_common
|
||||
cmdLine mirror_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_mirror_service/mirror_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_mirror_service/";
|
||||
cfgAfter GraphVars += { "UserSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "UserSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
|
||||
define ms_mini_ring
|
||||
use ms
|
||||
|
||||
define ms_mini_mainland
|
||||
use ms
|
||||
|
||||
define ms_std_ring
|
||||
use ms
|
||||
|
||||
define ms_std_mainland
|
||||
use ms
|
||||
|
||||
|
||||
// raes -----------------------------
|
||||
|
||||
define raes
|
||||
cmdLine none
|
||||
data service_ryzom_admin_service
|
||||
|
||||
|
||||
// ras -----------------------------
|
||||
|
||||
define ras
|
||||
use common
|
||||
data data_www
|
||||
cmdLine ryzom_admin_service --fulladminname=ryzom_admin_service --shortadminname=AS -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_ryzom_admin_service/ryzom_as.cfg"
|
||||
cfg WriteFilesDirectory="../";
|
||||
|
||||
|
||||
// rns ------------------------------
|
||||
|
||||
define rns
|
||||
use common
|
||||
cmdLine ryzom_naming_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_ryzom_naming_service/naming_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_ryzom_naming_service/";
|
||||
|
||||
define rns_ring
|
||||
use rns
|
||||
|
||||
define rns_mainland
|
||||
use rns
|
||||
|
||||
|
||||
// rws ------------------------------
|
||||
|
||||
define rws
|
||||
use common
|
||||
cmdLine ryzom_welcome_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_ryzom_welcome_service/welcome_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_ryzom_welcome_service/";
|
||||
|
||||
define rws_std
|
||||
use rws
|
||||
|
||||
// sbs ------------------------------
|
||||
|
||||
define sbs
|
||||
use common
|
||||
cmdLine session_browser_server -C. -L. --nobreak --writepid
|
||||
cfg SBSPort = FSUDPPort+1000;
|
||||
cfg WriteFilesDirectory="../live/service_session_browser_server/";
|
||||
cfg DontUseNS = 0;
|
||||
cfg StartCommands +=
|
||||
cfg {
|
||||
cfg "moduleManager.createModule SessionBrowserServerMod sbs suAddr="+SUHost+":49999 listenPort="+SBSPort+" ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")",
|
||||
cfg "sbs.plug gw",
|
||||
cfg };
|
||||
cfgAfter GraphVars += { "NetSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "NetSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
|
||||
|
||||
define sbs_std
|
||||
use sbs
|
||||
|
||||
// su ------------------------------
|
||||
|
||||
define su
|
||||
use common
|
||||
cmdLine shard_unifier_service -C. -L. --nobreak --writepid
|
||||
data data_www
|
||||
cfg #include "../live/service_shard_unifier_service/shard_unifier_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_shard_unifier_service/";
|
||||
cfgAfter // Create a command executor
|
||||
cfgAfter StartCommands +=
|
||||
cfgAfter {
|
||||
cfgAfter "moduleManager.createModule CommandExecutor ce",
|
||||
cfgAfter "ce.plug gw",
|
||||
// cfgAfter "addNegativeFilterDebug NOPE",
|
||||
cfgAfter };
|
||||
cfgAfter GraphVars += { "TotalConcurentUser", "60000" };
|
||||
cfgAfter GraphVars += { "NetSpeedLoop", "0" };
|
||||
cfgAfter GraphVars += { "NetSpeedLoop", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackCount", "60000" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "0" };
|
||||
cfgAfter GraphVars += { "L5CallbackTime", "60000" };
|
||||
|
||||
|
||||
define su_std
|
||||
use su
|
||||
|
||||
define su_mini
|
||||
use su
|
||||
|
||||
|
||||
// ts ------------------------------
|
||||
|
||||
define ts
|
||||
use shard_common
|
||||
cmdLine tick_service -C. -L. --nobreak --writepid
|
||||
cfg #include "../live/service_tick_service/tick_service.cfg"
|
||||
cfg WriteFilesDirectory="../live/service_tick_service/";
|
||||
|
||||
define ts_std
|
||||
use ts
|
443
code/ryzom/server/patchman_cfg_khanat/shard_ctrl_khaganat.txt
Normal file
443
code/ryzom/server/patchman_cfg_khanat/shard_ctrl_khaganat.txt
Normal file
|
@ -0,0 +1,443 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// The set of khaganat domains
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Khanat Domain
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// the khanat domain -----------------
|
||||
|
||||
define domain_khanat
|
||||
domain khanat
|
||||
use shard_khanat_unifier
|
||||
use shard_khanat_lirria
|
||||
// use shard_khanat_mainland02
|
||||
use shard_khanat_ring01
|
||||
use shard_khanat_ring02
|
||||
|
||||
// domain ports
|
||||
cfg ASWebPort="46700";
|
||||
cfg ASPort="46701";
|
||||
cfg AESPort="46702";
|
||||
cfg SUPort = 50505;
|
||||
cfg SUGlobalPort = 50503;
|
||||
cfg L3BSPort = "49950";
|
||||
cfg L3SlaveBSPort = "49951";
|
||||
cfg L3MasterLGSPort = 49992;
|
||||
cfg L3SlaveLGSPort = 49993;
|
||||
cfg LGSBSPort = 49994;
|
||||
cfg L3LGSBSPort = 49995;
|
||||
|
||||
// domain hosts
|
||||
cfg AESHost = "localhost";
|
||||
cfg SUHost = "lirria.khaganat.net";
|
||||
cfg MFSHost = "lirria.khaganat.net";
|
||||
cfg BSHost = "lirria.khaganat.net:49990"; // Backup service host for domain
|
||||
cfg SlaveBSHost= "lirria.khaganat.net:49991";
|
||||
cfg MasterLGSHost = "lirria.khaganat.net";
|
||||
cfg SlaveLGSHost = "lirria.khaganat.net";
|
||||
cfg LGSBSHost = "lirria.khaganat.net"; // Backup service host for log service
|
||||
cfg DBHost = "lirria.khaganat.net";
|
||||
cfgAfter WebSrvHost = "http://lirria.khaganat.net:50000/";
|
||||
|
||||
// initial config files
|
||||
cfgFile ../cfg/00_base.cfg
|
||||
cfgFile ../cfg/01_domain_khanat.cfg
|
||||
|
||||
// shard names and ids
|
||||
cfgAfter Mainlands = {
|
||||
cfgAfter "101", "Lirria", "(Lirria)", "fr",
|
||||
// cfgAfter "102", "Mainland 02", "(Mainland 02)", "en",
|
||||
cfgAfter };
|
||||
cfgAfter HomeMainlandNames =
|
||||
cfgAfter {
|
||||
cfgAfter "101", "Lirria", "mla",
|
||||
// cfgAfter "102", "Mainland 02", "mlb",
|
||||
cfgAfter };
|
||||
cfgAfter RRDVarPath = "../rrd_graphs";
|
||||
|
||||
// addition of extra filters for this domain
|
||||
// cfgAfter NegFiltersDebug+= {"DEFAULT_CB", "NET","ADMIN","MIRROR","CDB_MULTI_IMPULSION"};
|
||||
cfgAfter NegFiltersInfo+= {"FESTATS", "FETIME", "FERECV", "FESEND: sent SYNC message to client 1", "EIT: Register EId"};
|
||||
cfgAfter NegFiltersWarning+= {"PIPO_SESSION1", "casino_session_matis01", "invalid damage type 10", "_log_Item_Delete",
|
||||
cfgAfter "_log_Item_Money", "_log_Item_Create", "_log_Item_Move", "botChatMissionAdvance> invalid index 0",
|
||||
cfgAfter "_MaxRange(0) < _MinRange(1)", "Can't find craft plan sheet 'unknown.unknown'"};
|
||||
cfgAfter DontUseAES=1;
|
||||
// cfgAfter RingAccessLimits="d3:j2:f2:l2:p2";
|
||||
cfgAfter RingRPEnabled=0;
|
||||
cfgAfter DomainName = "khanat";
|
||||
cfgAfter EnableStlAllocatorChecker = 0;
|
||||
|
||||
cfgAfter // start commands for setting up the exchange level caps of different khanat shards
|
||||
cfgAfter StartCommands += { "setShardExchangeLimit 101 250" };
|
||||
cfgAfter StartCommands += { "setShardExchangeLimit 102 250" };
|
||||
cfgAfter StartCommands += { "displayShardExchangeLimits" };
|
||||
|
||||
|
||||
// shard unifier -------------------
|
||||
|
||||
define shard_khanat_unifier
|
||||
shard unifier
|
||||
cfg ShardId = 100;
|
||||
use shard_exe_set_khanat_ras
|
||||
use shard_exe_set_khanat_unifier
|
||||
|
||||
define shard_exe_set_khanat_ras
|
||||
use ras
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_unifier
|
||||
use exe_set_std_unifier
|
||||
host lirria.khaganat.net
|
||||
cfg DBPass = DBNelPass;
|
||||
|
||||
|
||||
// shard lirria ----------------
|
||||
|
||||
define shard_khanat_lirria
|
||||
shard lirria
|
||||
use shard_exe_set_khanat_lirria_be01
|
||||
use shard_exe_set_khanat_lirria_be02
|
||||
use shard_exe_set_khanat_lirria_be03
|
||||
use shard_exe_set_khanat_lirria_fe01
|
||||
use shard_exe_set_khanat_lirria_fe02
|
||||
cfg ShardId = 101;
|
||||
cfg BasePort = 51000;
|
||||
cfg SaveFilesDirectory="khanat_lirria/";
|
||||
cfg NSHost = "lirria.khaganat.net";
|
||||
cfgFile ../cfg/02_shard_type_std_mainland.cfg
|
||||
|
||||
define shard_exe_set_khanat_lirria_be01
|
||||
use exe_set_std_mainland_be01
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_lirria_be02
|
||||
use exe_set_std_mainland_be02
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_lirria_be03
|
||||
use exe_set_std_mainland_be03
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_lirria_fe01
|
||||
use exe_set_std_mainland_fe
|
||||
host lirria.khaganat.net
|
||||
cfg FSListenHost = "lirria.khaganat.net";
|
||||
|
||||
define shard_exe_set_khanat_lirria_fe02
|
||||
use exe_set_std_mainland_fe
|
||||
host lirria.khaganat.net
|
||||
cfg FSListenHost = "lirria.khaganat.net";
|
||||
|
||||
|
||||
// shard mainland02 ----------------
|
||||
|
||||
/*
|
||||
define shard_std01_mainland02
|
||||
shard mainland02
|
||||
use shard_exe_set_std01_mainland02_be01
|
||||
use shard_exe_set_std01_mainland02_be02
|
||||
use shard_exe_set_std01_mainland02_be03
|
||||
use shard_exe_set_std01_mainland02_fe01
|
||||
use shard_exe_set_std01_mainland02_fe02
|
||||
cfg ShardId = 102;
|
||||
cfg BasePort = 51100;
|
||||
cfg SaveFilesDirectory="std01_mainland02/";
|
||||
cfg NSHost = "mlb1.std01.ryzomcore.local";
|
||||
cfgFile ../cfg/02_shard_type_std_mainland.cfg
|
||||
|
||||
define shard_exe_set_std01_mainland02_be01
|
||||
use exe_set_std_mainland_be01
|
||||
host mlb1.std01.ryzomcore.local
|
||||
|
||||
define shard_exe_set_std01_mainland02_be02
|
||||
use exe_set_std_mainland_be02
|
||||
host mlb2.std01.ryzomcore.local
|
||||
|
||||
define shard_exe_set_std01_mainland02_be03
|
||||
use exe_set_std_mainland_be03
|
||||
host mlb3.std01.ryzomcore.local
|
||||
|
||||
define shard_exe_set_std01_mainland02_fe01
|
||||
use exe_set_std_mainland_fe
|
||||
host mlb4.std01.ryzomcore.local
|
||||
cfg FSListenHost = "mlb4.std01.ryzomcore.local";
|
||||
|
||||
define shard_exe_set_std01_mainland02_fe02
|
||||
use exe_set_std_mainland_fe
|
||||
host mlb5.std01.ryzomcore.local
|
||||
cfg FSListenHost = "mlb5.std01.ryzomcore.local";
|
||||
*/
|
||||
|
||||
// shard ring01 --------------------
|
||||
|
||||
define shard_khanat_ring01
|
||||
shard ring01
|
||||
use shard_exe_set_khanat_ring01_be
|
||||
use shard_exe_set_khanat_ring01_fe
|
||||
cfg ShardId = 201;
|
||||
cfg BasePort = 51400;
|
||||
cfg SaveFilesDirectory="khanat_ring01/";
|
||||
cfg NSHost = "ring1.khaganat.net";
|
||||
cfgFile ../cfg/02_shard_type_std_ring.cfg
|
||||
|
||||
define shard_exe_set_khanat_ring01_be
|
||||
use exe_set_std_ring_be
|
||||
host ring1.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_ring01_fe
|
||||
use exe_set_std_ring_fe
|
||||
host ring1.khaganat.net
|
||||
cfg FSListenHost = "ring1.khaganat.net";
|
||||
|
||||
|
||||
// shard ring02 --------------------
|
||||
|
||||
define shard_khanat_ring02
|
||||
shard ring02
|
||||
use shard_exe_set_khanat_ring02_be
|
||||
use shard_exe_set_khanat_ring02_fe
|
||||
cfg ShardId = 202;
|
||||
cfg BasePort = 51500;
|
||||
cfg SaveFilesDirectory="khanat_ring02/";
|
||||
cfg NSHost = "ring2.khaganat.net";
|
||||
cfgFile ../cfg/02_shard_type_std_ring.cfg
|
||||
|
||||
define shard_exe_set_khanat_ring02_be
|
||||
use exe_set_std_ring_be
|
||||
host ring2.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_ring02_fe
|
||||
use exe_set_std_ring_fe
|
||||
host ring2.khaganat.net
|
||||
cfg FSListenHost = "ring2.khaganat.net";
|
||||
|
||||
|
||||
// the khanat backup domain ----------
|
||||
|
||||
define domain_khanat_backup
|
||||
domain backup01
|
||||
use shard_khanat_backup_ras
|
||||
use shard_khanat_backup
|
||||
use shard_khanat_lgs
|
||||
|
||||
// domain ports
|
||||
cfg ASWebPort="46710";
|
||||
cfg ASPort="46711";
|
||||
cfg AESPort="46712";
|
||||
|
||||
// initial config files
|
||||
cfgFile ../cfg/00_base.cfg
|
||||
cfgFile ../cfg/01_domain_khanat.cfg
|
||||
|
||||
// addition of extra filters for this domain
|
||||
cfgAfter NegFiltersDebug+= {"DEFAULT_CB", "NET","ADMIN","MIRROR","CDB_MULTI_IMPULSION"};
|
||||
cfgAfter NegFiltersInfo+= {"NET", "FETIME","TimerManagerUpdate"};
|
||||
cfgAfter NegFiltersWarning+= {"AES"};
|
||||
|
||||
// Force all backup services to launch in write only mode
|
||||
cfgAfter BSReadState = 0;
|
||||
cfgAfter RRDVarPath = "../rrd_graphs";
|
||||
cfgAfter DontUseAES=1;
|
||||
cfgAfter DontUseNS=1;
|
||||
|
||||
// shard names and ids
|
||||
cfgAfter Mainlands = {
|
||||
cfgAfter "101", "Lirria", "(Lirria)", "fr",
|
||||
// cfgAfter "102", "Mainland 02", "(Mainland 02)", "en",
|
||||
cfgAfter };
|
||||
cfgAfter HomeMainlandNames =
|
||||
cfgAfter {
|
||||
cfgAfter "101", "Lirria", "mla",
|
||||
// cfgAfter "102", "Mainland 02", "mlb",
|
||||
cfgAfter };
|
||||
|
||||
|
||||
// backup domain ras ---------------
|
||||
|
||||
define shard_khanat_backup_ras
|
||||
shard khanat_backup_ras
|
||||
cfg ShardId = 100;
|
||||
use ras
|
||||
host lirria.khaganat.net
|
||||
|
||||
|
||||
// the main backup pair ------------
|
||||
|
||||
define shard_khanat_backup
|
||||
shard backup
|
||||
use shard_exe_set_khanat_backup_master
|
||||
use shard_exe_set_khanat_backup_slave
|
||||
|
||||
define shard_exe_set_khanat_backup_master
|
||||
name bs_master
|
||||
use exe_set_std_backup_master
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_backup_slave
|
||||
name bs_slave
|
||||
// hack to workaround bug in backup service
|
||||
// use exe_set_std_backup_slave
|
||||
use exe_set_khanat_backup_slave
|
||||
host lirria.khaganat.net
|
||||
cfgAfter MasterBSHost = "lirria.khaganat.net:49990";
|
||||
|
||||
// hack to workaround bug in backup service
|
||||
define exe_set_khanat_backup_slave
|
||||
use raes
|
||||
use khanat_backup_slave
|
||||
use pdss
|
||||
|
||||
// hack to workaround bug in backup service
|
||||
define khanat_backup_slave
|
||||
use bms
|
||||
cmdLine backup_service -C. -L. --nobreak --writepid -P49991
|
||||
cfg #include "../khanat/cfg/backup_module_service_slave.cfg"
|
||||
cfgAfter ListeningPort = 49991;
|
||||
cfgAfter L3ListeningPort = 49951;
|
||||
cfgAfter WebPort = 49971;
|
||||
cfgAfter BSReadState = 0;
|
||||
cfgAfter SaveShardRoot = "../save_shard/";
|
||||
|
||||
|
||||
// lgs pair & relates bs ------------
|
||||
|
||||
define shard_khanat_lgs
|
||||
shard lgs
|
||||
use shard_exe_set_khanat_lgs_primary
|
||||
use shard_exe_set_khanat_lgs_secondary
|
||||
use shard_exe_set_khanat_lgs_bs
|
||||
cfg L3MasterLGSPort = 49992;
|
||||
cfg L3SlaveLGSPort = 49993;
|
||||
cfg LGSBSPort = 49994;
|
||||
cfg L3LGSBSPort = 49995;
|
||||
cfg MasterLGSHost = "lirria.khaganat.net";
|
||||
cfg SlaveLGSHost = "lirria.khaganat.net";
|
||||
cfg LGSBSHost = "lirria.khaganat.net";
|
||||
|
||||
define shard_exe_set_khanat_lgs_primary
|
||||
name lgs_primary
|
||||
use raes
|
||||
use exe_set_std_lgs_master
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_lgs_secondary
|
||||
name lgs_secondary
|
||||
use raes
|
||||
use exe_set_std_lgs_slave
|
||||
host lirria.khaganat.net
|
||||
|
||||
define shard_exe_set_khanat_lgs_bs
|
||||
name lgs_bs
|
||||
use raes
|
||||
use backup_lgs
|
||||
host lirria.khaganat.net
|
||||
|
||||
|
||||
// the khanat las domain -------------
|
||||
|
||||
define domain_khanat_las
|
||||
domain las01
|
||||
use shard_khanat_las_ras
|
||||
use shard_khanat_las_master
|
||||
use shard_khanat_las_slave
|
||||
|
||||
// domain ports
|
||||
cfg ASWebPort="46720";
|
||||
cfg ASPort="46721";
|
||||
cfg AESPort="46722";
|
||||
|
||||
// initial config files
|
||||
cfgFile ../cfg/00_base.cfg
|
||||
// cfgFile ../cfg/01_domain_khanat.cfg
|
||||
|
||||
// addition of extra filters for this domain
|
||||
cfgAfter NegFiltersDebug+= {"DEFAULT_CB", "NET","ADMIN","MIRROR","CDB_MULTI_IMPULSION"};
|
||||
cfgAfter NegFiltersInfo+= {"NET", "FETIME","TimerManagerUpdate"};
|
||||
cfgAfter NegFiltersWarning+= {"AES"};
|
||||
cfgAfter DontUseAES=1;
|
||||
|
||||
|
||||
// las domain ras ------------------
|
||||
|
||||
define shard_khanat_las_ras
|
||||
shard khanat_las_ras
|
||||
cfg ShardId = 100;
|
||||
use ras
|
||||
host lirria.khaganat.net
|
||||
|
||||
|
||||
// master las ----------------------
|
||||
|
||||
define shard_khanat_las_master
|
||||
shard khanat_las_master
|
||||
cfg ShardId = 99;
|
||||
use raes
|
||||
use las_lirria
|
||||
// use las_mainland02
|
||||
use las_ring01
|
||||
use las_ring02
|
||||
host pd3.std01.ryzomcore.local
|
||||
|
||||
define las_lirria
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/khanat_lirria/pds"};
|
||||
cfgAfter WebPort = 49899;
|
||||
name las_lirria
|
||||
use las
|
||||
|
||||
/*define las_mainland02
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/std01_mainland02/pds"};
|
||||
cfgAfter WebPort = 49898;
|
||||
name las_mainland02
|
||||
use las
|
||||
*/
|
||||
define las_ring01
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/khanat_ring01/pds"};
|
||||
cfgAfter WebPort = 49894;
|
||||
name las_ring01
|
||||
use las
|
||||
|
||||
define las_ring02
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/khanat_ring02/pds"};
|
||||
cfgAfter WebPort = 49893;
|
||||
name las_ring02
|
||||
use las
|
||||
|
||||
|
||||
// slave las ------------------------
|
||||
|
||||
define shard_khanat_las_slave
|
||||
shard khanat_las_slave
|
||||
cfg ShardId = 98;
|
||||
use raes
|
||||
use las_lirria_slave
|
||||
// use las_mainland02_slave
|
||||
use las_ring01_slave
|
||||
use las_ring02_slave
|
||||
host lirria.khaganat.net
|
||||
|
||||
define las_lirria_slave
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/khanat_lirria/pds"};
|
||||
cfgAfter WebPort = 49899;
|
||||
name las2_lirria
|
||||
use las
|
||||
|
||||
/*define las_mainland02_slave
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/std01_mainland02/pds"};
|
||||
cfgAfter WebPort = 49898;
|
||||
name las2_mainland02
|
||||
use las
|
||||
*/
|
||||
define las_ring01_slave
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/khanat_ring01/pds"};
|
||||
cfgAfter WebPort = 49894;
|
||||
name las2_ring01
|
||||
use las
|
||||
|
||||
define las_ring02_slave
|
||||
cfgAfter StartCommands += {"PDRootDirectory /srv/core/backup01/save_shard_pd/khanat_ring02/pds"};
|
||||
cfgAfter WebPort = 49893;
|
||||
name las2_ring02
|
||||
use las
|
|
@ -0,0 +1,93 @@
|
|||
//--------------------------------------------------------------------------------
|
||||
// Stuff for Windows (as opposed to Linux)
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Stuff common to all patchman services
|
||||
DontUseAES = 1;
|
||||
DontUseTS = 1;
|
||||
DontUseNS = 1;
|
||||
UpdateAssertionThreadTimeout = 0;
|
||||
|
||||
// Common Filters
|
||||
NegFiltersDebug = { "NET", "VERBOSE", "GUSREP" };
|
||||
NegFiltersInfo = { "NET" };
|
||||
NegFiltersWarning = { "NETL", "CT_LRC", "VAR:" };
|
||||
|
||||
// Setting up WIN displayer
|
||||
WindowStyle = "GTK";
|
||||
FontName = "Courier New";
|
||||
FontSize = 9;
|
||||
|
||||
// For windows boxes we dissable out stdin thread
|
||||
DontUseStdIn = 1;
|
||||
|
||||
// how to sleep between to network update
|
||||
// 0 = pipe
|
||||
// 1 = usleep
|
||||
// 2 = nanosleep
|
||||
// 3 = sched_yield
|
||||
// 4 = nothing
|
||||
UseYieldMethod = 0;
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Start Commands for configuring modules
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup gateways
|
||||
|
||||
// bridge gateway
|
||||
// "moduleManager.createModule StandardGateway gw1",
|
||||
// "gw1.transportAdd L3Client l3client",
|
||||
// "gw1.transportCmd l3client(connect addr=lirria.khaganat.net:44748)",
|
||||
|
||||
// Setup Manager gateway (on bridge)
|
||||
"moduleManager.createModule StandardGateway gw2",
|
||||
"gw2.transportAdd L3Client l3client",
|
||||
"gw2.transportCmd l3client(connect addr=localhost:44751)",
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
// Setup for terminal
|
||||
|
||||
// setup an 'spt' module to act as a terminal for the internal spm module
|
||||
"moduleManager.createModule ServerPatchTerminal terminal target=spm_khanat",
|
||||
"terminal.plug gw1",
|
||||
"terminal.plug gw2",
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------
|
||||
// Displayed Variables...
|
||||
|
||||
DisplayedVariables +=
|
||||
{
|
||||
"@States|terminal.state *",
|
||||
"", "@MINI01 Domains (Core Mini)|terminal.dump",
|
||||
"", "@SPA States|terminal.state *spa",
|
||||
"@Deploy|terminal.uploadDepCfg",
|
||||
"@PAM States|terminal.state *pam",
|
||||
"@Update PAMs|terminal.on *pam installUpdate",
|
||||
"@Quit PAMs|terminal.on *pam quit",
|
||||
// "", "SPT0",
|
||||
// "", "SPT1",
|
||||
// "", "SPT2",
|
||||
// "", "SPT3",
|
||||
// "", "SPT4",
|
||||
// "", "SPT5",
|
||||
// "", "SPT6",
|
||||
// "", "SPT7",
|
||||
// "", "SPT8",
|
||||
// "", "SPT9",
|
||||
// "", "SPTA",
|
||||
// "", "SPTB",
|
||||
// "", "SPTC",
|
||||
// "", "SPTD",
|
||||
// "", "SPTE",
|
||||
// "", "SPTF",
|
||||
// "", "LastMsg|LastSPTMessage",
|
||||
};
|
||||
|
||||
NumSPTWatches=5;
|
|
@ -0,0 +1,10 @@
|
|||
// ---------------------------------
|
||||
// common definitions
|
||||
|
||||
include "../shard_ctrl_definitions.txt"
|
||||
|
||||
|
||||
// ---------------------------------
|
||||
// live domain
|
||||
|
||||
include "../shard_ctrl_khaganat.txt"
|
3
code/ryzom/server/patchman_cfg_khanat/terminal_khanat/terminal_khanat
Executable file
3
code/ryzom/server/patchman_cfg_khanat/terminal_khanat/terminal_khanat
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/bash
|
||||
|
||||
/Volumes/SIELA/Khaganat/khaganat/code/build_server/bin/ryzom_patchman_service --nolog -C. -L.
|
|
@ -0,0 +1,2 @@
|
|||
@echo off
|
||||
start R:\build\bin\Release\ryzom_patchman_service.exe --nolog -C. -L.
|
Loading…
Reference in a new issue