// Use with commandline: entities_game_service -C. -L. --nobreak --writepid

// ---- config local variables

#define DONT_USE_LGS_SLAVE

AESPort="46702";
SUPort = 50505;
SUGlobalPort = 50503;
L3MasterLGSPort = 41292;
L3SlaveLGSPort = 49993;
SUHost = "localhost";
MasterLGSHost = "localhost";
SlaveLGSHost = "localhost";
// SU - listen address of the SU service (for L5 connections)
SUAddress = SUHost+":"+SUPort;

#include "entities_game_service_default.cfg"

// ---- service NeL variables (used by ConfigFile class)

AESAliasName= "egs";

StartCommands += {
"moduleManager.createModule AnimSessionManager asm",
"asm.plug gw",
};

// start commands for setting up the exchange level caps of different ryzom shards
StartCommands += { "setShardExchangeLimit 302 250" };

StartCommands += { "displayShardExchangeLimits" };
StartCommands += { "EnableStlAllocatorChecker 0" };

GraphVars += {	"CharacterLoadPerTick", "60000" };
GraphVars += {	"CharacterSavePerTick", "60000" };
GraphVars += {	"TickSpeedLoop", "60000" };
GraphVars += {	"L5CallbackCount", "60000" };
GraphVars += {	"L5CallbackTime", "60000" };
GraphVars += {	"MirrorCallbackCount", "60000" };
GraphVars += {	"MirrorCallbackTime", "60000" };

NSHost = "localhost";

Paths = {
	".",
	"../common/data_common",
	"../common/data_leveldesign",
};
PathsNoRecurse= {"."};


// ---- service NeL variables (used by CVariable class)

// ---- service custom variables (used by ConfigFile class)

WebSrvHost = "http://localhost:55555/";

NbPlayersLimit = PlayerLimit;
NbGuildLimit = 15000;

// Entity Limits (EGS)
NbObjectsLimit = 2000;
NbNpcSpawnedByEGSLimit = 5000;
NbForageSourcesLimit = 10000;
NbToxicCloudsLimit = 5000;

#include "used_continents.cfg"

// define the primitives configuration used.
UsedPrimitives =
{
	"newbieland_all",
};

// 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 = { "" };

HomeMainlandNames =
{
"302", 	"Open",	"open",
};

/*
UsedContinents +=
{
"bagne",		"0",
"fyros",		"1",
"fyros_island",	"2",
"fyros_newbie",	"3",
"indoors",		"4",	// NB : this is for uninstanciated indoors building.
"matis",		"5",
"matis_newbie",	"7",
"matis_island",	"8",
"nexus",		"9",
"route_gouffre","10",
"sources",		"11",
"terre",		"12",
//	"testroom",		"13",
"tryker",		"14",
"tryker_island","15",
"tryker_newbie","16",
"zorai",		"17",
"zorai_island",	"18",
"zorai_newbie",	"19",
"newbieland",	"20",
"kitiniere",	"21",
};

// define the primitives configuration used.
UsedPrimitives =
{
"newbieland_all",
"matis_newbie_all",
"matis_all",
"matis_island_all",
"zorai_newbie_all",
"zorai_all",
"zorai_island_all",
"fyros_newbie_all",
"fyros_all",
"fyros_island_all",
"tryker_newbie_all",
"tryker_all",
"tryker_island_all",
"terre_all",
"sources_all",
"route_gouffre_all",
"nexus_all",
"bagne_all",
"kitiniere_all",
};
*/

// Mirror limits
DatasetSizefe_temp = 600000;
DatasetSizefame = 26000;


// ---- service custom variables (used by CVariable class)

RingRPEnabled=0;
RingRPXPRequiredPerAction=700;
RingRPXPRequiredPerTimeSlice=700;

MaxXPGainPerPlayer = 30.0;
DeathXPFactor = 0.1;

MFSHost = "localhost";

// Use Shard Unifier or not
DontUseSU = 0;

// 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
FixedSessionId = ShardId;

// Level limit for newb scenarios
FreeTrialSkillLimit=21;

// Level limit for newb scenarios
DefaultInterShardExchangeLevelCap=0;

// Disable ryzom verbose logging
VerboseMIRROR = 0;
VerboseRingRPLog = 0;
VerboseCDBGroup = 0;

// 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;

/* 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;

#include "backup_service_interface.cfg"

XMLSave = 0;