mirror of
https://port.numenaute.org/aleajactaest/khanat-opennel-code.git
synced 2024-12-27 11:20:54 +00:00
merge
This commit is contained in:
commit
6eb4cfa546
300 changed files with 5920 additions and 5610 deletions
16
.hgignore
16
.hgignore
|
@ -23,8 +23,9 @@ Temp
|
|||
save_shard
|
||||
last_loaded_char.bin
|
||||
*.binprim
|
||||
default_c
|
||||
*.string_cache
|
||||
graphs_output
|
||||
default_c
|
||||
|
||||
# Windows compile
|
||||
*.exe
|
||||
|
@ -42,6 +43,7 @@ default_c
|
|||
*.so
|
||||
*.so.*
|
||||
*_debug
|
||||
core
|
||||
|
||||
# Log dump files
|
||||
report_refused
|
||||
|
@ -56,6 +58,10 @@ log.txt
|
|||
*.dlm
|
||||
*.dlu
|
||||
|
||||
#makeall build
|
||||
.mode_static
|
||||
|
||||
|
||||
#cmake build files & directories
|
||||
CMakeFiles
|
||||
*.cmake
|
||||
|
@ -95,10 +101,12 @@ ipch
|
|||
*.sdf
|
||||
|
||||
# Ryzom server garbage
|
||||
aes_alias_name.cfg
|
||||
aes_nagios_report.txt
|
||||
aes_state.txt
|
||||
*.launch_ctrl
|
||||
*.state
|
||||
*.start_count
|
||||
|
||||
# Vim and kwrite cache
|
||||
*~
|
||||
|
@ -123,6 +131,12 @@ moc_*.cpp
|
|||
*.7z
|
||||
external
|
||||
|
||||
# build
|
||||
code/nel/build/*
|
||||
code/nelns/build/*
|
||||
code/snowballs/build/*
|
||||
code/ryzom/build/*
|
||||
|
||||
# Linux nel compile
|
||||
code/nel/build/nel-config
|
||||
code/nel/config.status
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
syntax: glob
|
||||
code/nel/build/*
|
||||
code/nelns/build/*
|
||||
code/snowballs/build/*
|
||||
code/ryzom/build/*
|
|
@ -726,8 +726,8 @@ void loadForm2(const std::vector<std::string> &sheetFilters, const std::string &
|
|||
{
|
||||
uint dicIndex;
|
||||
// add a new dictionnary entry
|
||||
dicIndex = dictionnary.size();
|
||||
dictionnaryIndex.insert(std::make_pair(filename, dictionnary.size()));
|
||||
dicIndex = (uint)dictionnary.size();
|
||||
dictionnaryIndex.insert(std::make_pair(filename, (NLMISC::TSStringId)dictionnary.size()));
|
||||
dictionnary.push_back(filename);
|
||||
|
||||
// add the dependency index
|
||||
|
@ -793,7 +793,7 @@ void loadForm2(const std::vector<std::string> &sheetFilters, const std::string &
|
|||
ofile.serialCont(dictionnary);
|
||||
|
||||
// write the dependencies data
|
||||
uint32 depSize = dependencies.size();
|
||||
uint32 depSize = (uint32)dependencies.size();
|
||||
ofile.serial(depSize);
|
||||
std::map<NLMISC::CSheetId, std::vector<uint32> >::iterator first(dependencies.begin()), last(dependencies.end());
|
||||
for (; first != last; ++first)
|
||||
|
@ -811,7 +811,7 @@ void loadForm2(const std::vector<std::string> &sheetFilters, const std::string &
|
|||
ofile.seek(endBlockSize, NLMISC::IStream::begin);
|
||||
|
||||
// write the sheet data
|
||||
uint32 nbEntries = sheetIds.size();
|
||||
uint32 nbEntries = (uint32)sheetIds.size();
|
||||
uint32 ver = T::getVersion ();
|
||||
ofile.serial (nbEntries);
|
||||
ofile.serial (ver);
|
||||
|
|
|
@ -1504,7 +1504,7 @@ private:
|
|||
}
|
||||
else
|
||||
{
|
||||
len= cont.size();
|
||||
len= (sint32)cont.size();
|
||||
serial(len);
|
||||
__iterator it= cont.begin();
|
||||
|
||||
|
@ -1667,7 +1667,7 @@ private:
|
|||
}
|
||||
else
|
||||
{
|
||||
len= cont.size();
|
||||
len= (sint32)cont.size();
|
||||
serial(len);
|
||||
__iterator it= cont.begin();
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ uint8 CBitmap::readPNG( NLMISC::IStream &f )
|
|||
// read rest of file, and get additional chunks in info_ptr
|
||||
png_read_end(png_ptr, info_ptr);
|
||||
|
||||
uint32 dstChannels, firstChannel, lastChannel;
|
||||
uint32 dstChannels = 0, firstChannel = 0, lastChannel = 0;
|
||||
|
||||
if (iColorType == PNG_COLOR_TYPE_RGBA || iColorType == PNG_COLOR_TYPE_RGB || iColorType == PNG_COLOR_TYPE_PALETTE)
|
||||
{
|
||||
|
|
|
@ -206,7 +206,7 @@ void NLPACS::CGlobalRetriever::check() const
|
|||
}
|
||||
|
||||
if (chain.getRight()>=(sint)retriever.getSurfaces().size() ||
|
||||
chain.getRight()<=CChain::getDummyBorderChainId() && !CChain::isBorderChainId(chain.getRight()))
|
||||
(chain.getRight()<=CChain::getDummyBorderChainId() && !CChain::isBorderChainId(chain.getRight())))
|
||||
{
|
||||
nlwarning("retriever %d, chain %d: reference on right surface is not valid", instance.getRetrieverId(), j);
|
||||
}
|
||||
|
@ -313,7 +313,7 @@ void NLPACS::CGlobalRetriever::getBorders(const CAABBox &sbox, std::vector<std::
|
|||
bool luw = (lsurface.getFlags() & (1 << CRetrievableSurface::IsUnderWaterBit)) != 0;
|
||||
bool ruw = (rsurface.getFlags() & (1 << CRetrievableSurface::IsUnderWaterBit)) != 0;
|
||||
|
||||
if (luw && !ruw || !luw && ruw)
|
||||
if (luw != ruw)
|
||||
chainType = 3;
|
||||
}
|
||||
|
||||
|
@ -1461,7 +1461,7 @@ void NLPACS::CGlobalRetriever::testCollisionWithCollisionChains(CCollisionSurfac
|
|||
//========================
|
||||
|
||||
float t=0.0, tMin=1;
|
||||
CVector2f normal, normalMin;
|
||||
CVector2f normal, normalMin(0.0f, 0.0f);
|
||||
// run list of edge.
|
||||
sint32 curEdge= colChain.FirstEdgeCollide;
|
||||
while(curEdge!=(sint32)0xFFFFFFFF)
|
||||
|
|
|
@ -1415,7 +1415,7 @@ void NLPACS::CLocalRetriever::snapToInteriorGround(NLPACS::ULocalPosition &posit
|
|||
CVector posh = pos+CVector(0.0f, 0.0f, 1.0f);
|
||||
CVector2f pos2d = position.Estimation;
|
||||
float bestDist = 1.0e10f;
|
||||
CVector best;
|
||||
CVector best(0.0f, 0.0f, 0.0f);
|
||||
vector<uint32>::iterator it;
|
||||
snapped = false;
|
||||
for (it=selection.begin(); it!=selection.end(); ++it)
|
||||
|
@ -1483,7 +1483,7 @@ float NLPACS::CLocalRetriever::getHeight(const NLPACS::ULocalPosition &position)
|
|||
CVector pos = position.Estimation;
|
||||
CVector posh = pos+CVector(0.0f, 0.0f, 1.0f);
|
||||
float bestDist = 1.0e10f;
|
||||
CVector best;
|
||||
CVector best(0.0f, 0.0f, 0.0f);
|
||||
vector<uint32>::iterator it;
|
||||
for (it=selection.begin(); it!=selection.end(); ++it)
|
||||
{
|
||||
|
@ -1580,7 +1580,7 @@ float NLPACS::CLocalRetriever::getInteriorHeightAround(const ULocalPosition &pos
|
|||
CVector pos = position.Estimation;
|
||||
CVector posh = pos+CVector(0.0f, 0.0f, 1.0f);
|
||||
float bestDist = 1.0e10f;
|
||||
CVector best;
|
||||
CVector best(0.0f, 0.0f, 0.0f);
|
||||
vector<uint32>::iterator it;
|
||||
for (it=selection.begin(); it!=selection.end(); ++it)
|
||||
{
|
||||
|
|
|
@ -1183,7 +1183,7 @@ void CPrimitiveWorldImage::reaction (CPrimitiveWorldImage& second, const CCollis
|
|||
collisionPosition+=_Speed*desc.ContactTime;
|
||||
|
||||
// Calc new speed
|
||||
CVectorD newSpeed;
|
||||
CVectorD newSpeed(0.0, 0.0, 0.0);
|
||||
|
||||
// Obstacle ?
|
||||
if (collision)
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Version="9.00"
|
||||
Name="admin_service"
|
||||
ProjectGUID="{AA03E539-FE77-4B63-BE0E-DE637635E5A9}"
|
||||
RootNamespace="admin_service"
|
||||
|
@ -20,8 +20,8 @@
|
|||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="obj\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
|
@ -68,7 +68,6 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="mysqlclient.lib"
|
||||
OutputFile="$(RootNamespace)_d.exe"
|
||||
SuppressStartupBanner="true"
|
||||
IgnoreDefaultLibraryNames="msvcrt"
|
||||
GenerateDebugInformation="true"
|
||||
|
@ -101,8 +100,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
|
@ -150,7 +149,6 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="mysqlclient.lib"
|
||||
OutputFile="$(RootNamespace)_d.exe"
|
||||
SuppressStartupBanner="true"
|
||||
IgnoreDefaultLibraryNames=""
|
||||
GenerateDebugInformation="true"
|
||||
|
@ -183,8 +181,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="obj\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="obj\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
|
@ -231,7 +229,6 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib mysqlclient.lib"
|
||||
OutputFile="$(RootNamespace)_r.exe"
|
||||
SuppressStartupBanner="true"
|
||||
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrtd"
|
||||
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
|
||||
|
@ -265,8 +262,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="2"
|
||||
>
|
||||
|
@ -314,7 +311,6 @@
|
|||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="winmm.lib odbc32.lib odbccp32.lib ws2_32.lib libxml2.lib zlib.lib freetype.lib mysqlclient.lib"
|
||||
OutputFile="$(RootNamespace)_r.exe"
|
||||
SuppressStartupBanner="true"
|
||||
IgnoreDefaultLibraryNames="libc;libcmt;libcmtd;msvcrtd"
|
||||
ProgramDatabaseFile="$(IntDir)\$(TargetName).pdb"
|
||||
|
|
|
@ -145,11 +145,16 @@ void CEventsListener::operator()(const CEvent& event)
|
|||
// Event from the Mouse (ANGLE)
|
||||
if(event == EventGDMouseMove)
|
||||
{
|
||||
#ifdef NL_OS_WINDOWS
|
||||
CGDMouseMove* mouseEvent=(CGDMouseMove*)&event;
|
||||
// Mouse acceleration
|
||||
sint dX = mouseEvent->X;
|
||||
sint dY = ClientCfg.FreeLookInverted ? -mouseEvent->Y : mouseEvent->Y;
|
||||
updateFreeLookPos((float) dX, (float) dY);
|
||||
#else
|
||||
// just to make sure that there is no game device implementation un unix
|
||||
nlerror("not expecting EventGDMouseMove on unix");
|
||||
#endif
|
||||
}
|
||||
// Event from the Mouse (MOVE)
|
||||
else if(event == EventMouseMoveId)
|
||||
|
|
|
@ -65,6 +65,11 @@ bool SetMousePosFirstTime = true;
|
|||
// mask for mouse buttons that are known to be down
|
||||
uint DownMouseButtons = 0;
|
||||
|
||||
#ifdef NL_OS_UNIX
|
||||
// on X11, store whether the mouse was captured or not
|
||||
bool MouseCapture = false;
|
||||
#endif
|
||||
|
||||
//////////////
|
||||
// FUNCTION //
|
||||
//////////////
|
||||
|
@ -244,6 +249,13 @@ void SetMouseFreeLook ()
|
|||
}
|
||||
UpdateMouse ();
|
||||
}
|
||||
|
||||
#ifdef NL_OS_UNIX
|
||||
// on X11 the mouse needs to get pulled into the middle each update, else
|
||||
// the cursor would reach the border of the window / desktop
|
||||
// and freelook would hang
|
||||
Driver->setMousePos(0.5f, 0.5f);
|
||||
#endif
|
||||
}
|
||||
|
||||
//*********************************************************************************
|
||||
|
@ -360,24 +372,28 @@ void CaptureSystemCursor()
|
|||
HWND drvWnd = (HWND) Driver->getDisplay();
|
||||
if (!drvWnd) return;
|
||||
SetCapture(drvWnd);
|
||||
#else
|
||||
// on X11, set driver mouse capture on and store it locally as well
|
||||
Driver->setCapture(MouseCapture = true);
|
||||
#endif
|
||||
}
|
||||
|
||||
//*********************************************************************************
|
||||
void ReleaseSystemCursor()
|
||||
{
|
||||
if (!IsSystemCursorCaptured()) return;
|
||||
#ifdef NL_OS_WINDOWS
|
||||
if (IsSystemCursorCaptured())
|
||||
// if hardware mouse and not in client area, then force to update its aspect by updating its pos
|
||||
if (!IsSystemCursorInClientArea())
|
||||
{
|
||||
// if hardware mouse and not in client area, then force to update its aspect by updating its pos
|
||||
if (!IsSystemCursorInClientArea())
|
||||
{
|
||||
// force update
|
||||
ShowCursor(FALSE);
|
||||
ShowCursor(TRUE);
|
||||
}
|
||||
ReleaseCapture();
|
||||
// force update
|
||||
ShowCursor(FALSE);
|
||||
ShowCursor(TRUE);
|
||||
}
|
||||
ReleaseCapture();
|
||||
#else
|
||||
// on X11, set driver mouse capture off and store it locally as well
|
||||
Driver->setCapture(MouseCapture = false);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -388,7 +404,7 @@ bool IsSystemCursorCaptured()
|
|||
#ifdef NL_OS_WINDOWS
|
||||
return GetCapture() == (HWND) Driver->getDisplay();
|
||||
#else
|
||||
return false;
|
||||
return MouseCapture;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -2625,7 +2625,7 @@ void CGroupHTML::handle ()
|
|||
_URL = home();
|
||||
|
||||
string finalUrl;
|
||||
lookupLocalFile (finalUrl, _URL.c_str(), true);
|
||||
bool isLocal = lookupLocalFile (finalUrl, _URL.c_str(), true);
|
||||
|
||||
// Reset the title
|
||||
if(_TitlePrefix.empty())
|
||||
|
@ -2664,7 +2664,12 @@ void CGroupHTML::handle ()
|
|||
C3WSmartPtr uri = HTParse(finalUrl.c_str(), NULL, PARSE_ALL);
|
||||
|
||||
// Create an anchor
|
||||
#ifdef NL_OS_WINDOWS
|
||||
if ((_LibWWW->Anchor = HTAnchor_findAddress(uri)) == NULL)
|
||||
#else
|
||||
// temporarily disable local URL's until LibWWW can be replaced.
|
||||
if (isLocal || ((_LibWWW->Anchor = HTAnchor_findAddress(uri)) == NULL))
|
||||
#endif
|
||||
{
|
||||
browseError((string("The page address is malformed : ")+(const char*)uri).c_str());
|
||||
}
|
||||
|
|
|
@ -66,7 +66,7 @@ static string getWebAuthKey()
|
|||
|
||||
void addWebIGParams (string &url)
|
||||
{
|
||||
if(!UserEntity) return;
|
||||
if(!UserEntity || (NetMngr.getConnectionState() < CNetworkConnection::Connected)) return;
|
||||
|
||||
uint32 cid = NetMngr.getLoginCookie().getUserId() * 16 + PlayerSelectedSlot;
|
||||
url += ((url.find('?') != string::npos) ? "&" : "?") +
|
||||
|
|
|
@ -31,9 +31,15 @@
|
|||
#undef assert
|
||||
#define assert nlassert
|
||||
#include <luabind/luabind.hpp>
|
||||
// in luabind > 0.6, LUABIND_MAX_ARITY is set to 10
|
||||
#if LUABIND_MAX_ARITY == 10
|
||||
# include <luabind/version.hpp>
|
||||
# include <luabind/operator.hpp>
|
||||
# include <luabind/version.hpp>
|
||||
# ifndef LUABIND_VERSION
|
||||
// luabind 0.7 doesn't define LUABIND_VERSION
|
||||
# define LUABIND_VERSION 700
|
||||
# endif
|
||||
// luabind 0.6 doesn't define LUABIND_VERSION but LUABIND_MAX_ARITY is set to 5
|
||||
#elif LUABIND_MAX_ARITY == 5
|
||||
# define LUABIND_VERSION 600
|
||||
#else
|
||||
|
@ -289,8 +295,10 @@ bool CLuaIHM::getUCStringOnStack(CLuaState &ls, sint index, ucstring &dest)
|
|||
void CLuaIHM::push(CLuaState &ls, const ucstring &value)
|
||||
{
|
||||
//H_AUTO(Lua_CLuaIHM_push)
|
||||
#if LUABIND_VERSION > 600
|
||||
luabind::detail::push(ls.getStatePointer(), value);
|
||||
#else
|
||||
luabind::object obj(ls.getStatePointer(), value);
|
||||
#if LUABIND_VERSION == 600
|
||||
obj.pushvalue();
|
||||
#endif
|
||||
}
|
||||
|
@ -647,16 +655,22 @@ void CLuaIHM::luaValueFromReflectedProperty(CLuaState &ls, CReflectable &reflect
|
|||
break;
|
||||
case CReflectedProperty::UCString:
|
||||
{
|
||||
luabind::object obj(ls.getStatePointer(), (reflectedObject.*(property.GetMethod.GetUCString))() );
|
||||
#if LUABIND_VERSION == 600
|
||||
ucstring str = (reflectedObject.*(property.GetMethod.GetUCString))();
|
||||
#if LUABIND_VERSION > 600
|
||||
luabind::detail::push(ls.getStatePointer(), str);
|
||||
#else
|
||||
luabind::object obj(ls.getStatePointer(), str);
|
||||
obj.pushvalue();
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case CReflectedProperty::RGBA:
|
||||
{
|
||||
luabind::object obj(ls.getStatePointer(), (reflectedObject.*(property.GetMethod.GetRGBA))());
|
||||
#if LUABIND_VERSION == 600
|
||||
CRGBA color = (reflectedObject.*(property.GetMethod.GetRGBA))();
|
||||
#if LUABIND_VERSION > 600
|
||||
luabind::detail::push(ls.getStatePointer(), color);
|
||||
#else
|
||||
luabind::object obj(ls.getStatePointer(), color);
|
||||
obj.pushvalue();
|
||||
#endif
|
||||
}
|
||||
|
@ -1131,17 +1145,17 @@ int CLuaIHM::getClientCfgVar(CLuaState &ls)
|
|||
ls.newTable();
|
||||
CLuaObject result(ls);
|
||||
uint count = 0;
|
||||
for(uint i = 0; (sint)i<v->StrValues.size(); i++)
|
||||
for(uint i = 0; i<v->StrValues.size(); i++)
|
||||
{
|
||||
result.setValue(toString(count).c_str(), v->StrValues[i]);
|
||||
count++;
|
||||
}
|
||||
for(uint i = 0; (sint)i<v->IntValues.size(); i++)
|
||||
for(uint i = 0; i<v->IntValues.size(); i++)
|
||||
{
|
||||
result.setValue(toString(count).c_str(), (double)v->IntValues[i]);
|
||||
count++;
|
||||
}
|
||||
for(uint i = 0; (sint)i<v->RealValues.size(); i++)
|
||||
for(uint i = 0; i<v->RealValues.size(); i++)
|
||||
{
|
||||
result.setValue(toString(count).c_str(), (double)v->RealValues[i]);
|
||||
count++;
|
||||
|
@ -1994,7 +2008,7 @@ void CLuaIHM::unpauseBGDownloader()
|
|||
// ***************************************************************************
|
||||
void CLuaIHM::requestBGDownloaderPriority(uint priority)
|
||||
{
|
||||
if (priority < 0 || priority >= BGDownloader::ThreadPriority_Count)
|
||||
if (priority >= BGDownloader::ThreadPriority_Count)
|
||||
{
|
||||
throw NLMISC::Exception("requestBGDownloaderPriority() : invalid priority");
|
||||
}
|
||||
|
@ -2668,8 +2682,10 @@ int CLuaIHM::runExprAndPushResult(CLuaState &ls, const std::string &expr)
|
|||
// push a ucstring?
|
||||
if(mustUseUCString)
|
||||
{
|
||||
luabind::object obj(ls.getStatePointer(), ucstr );
|
||||
#if LUABIND_VERSION == 600
|
||||
#if LUABIND_VERSION > 600
|
||||
luabind::detail::push(ls.getStatePointer(), ucstr);
|
||||
#else
|
||||
luabind::object obj(ls.getStatePointer(), ucstr);
|
||||
obj.pushvalue();
|
||||
#endif
|
||||
}
|
||||
|
@ -2681,10 +2697,11 @@ int CLuaIHM::runExprAndPushResult(CLuaState &ls, const std::string &expr)
|
|||
}
|
||||
case CInterfaceExprValue::RGBA:
|
||||
{
|
||||
luabind::object obj(ls.getStatePointer(), value.getRGBA());
|
||||
CRGBA color = value.getRGBA();
|
||||
#if LUABIND_VERSION > 600
|
||||
obj.push(ls.getStatePointer());
|
||||
luabind::detail::push(ls.getStatePointer(), color);
|
||||
#else
|
||||
luabind::object obj(ls.getStatePointer(), color);
|
||||
obj.pushvalue();
|
||||
#endif
|
||||
break;
|
||||
|
|
|
@ -431,6 +431,11 @@ void CUserControls::getMouseAngleMove(float &dx, float &dy)
|
|||
// The mouse may still "StandardMove" ie through a CEventMouseMove
|
||||
// This can happens cause DirectInputDisabled, or because of the "Rotation Anti-Lag system"
|
||||
// which start to rotate before the mouse is hid and message mode passed to RawMode
|
||||
//
|
||||
// If we are not on Windows; on X11 there is always StandardMove/CEventMouseMove.
|
||||
// Currently, there is only a direct input IMouseDevice, not available on X11.
|
||||
|
||||
#ifdef NL_OS_WINDOWS
|
||||
extern IMouseDevice *MouseDevice;
|
||||
if (MouseDevice)
|
||||
{
|
||||
|
@ -446,6 +451,35 @@ void CUserControls::getMouseAngleMove(float &dx, float &dy)
|
|||
EventsListener.updateFreeLookPos(dmpx, dmpy);
|
||||
}
|
||||
}
|
||||
#else
|
||||
// On X11, do the thing without IMouseDevice implementation
|
||||
if( EventsListener.getMousePosX() != _LastFrameMousePosX ||
|
||||
EventsListener.getMousePosY() != _LastFrameMousePosY )
|
||||
{
|
||||
float dmpx, dmpy;
|
||||
|
||||
// On X11 in free look mode, the mouse is pulled back to (0.5, 0.5)
|
||||
// every update to prevent reaching a border and get stuck.
|
||||
if(IsMouseFreeLook())
|
||||
{
|
||||
dmpx = EventsListener.getMousePosX() - 0.5;
|
||||
dmpy = EventsListener.getMousePosY() - 0.5;
|
||||
}
|
||||
else
|
||||
{
|
||||
dmpx = EventsListener.getMousePosX() - _LastFrameMousePosX;
|
||||
dmpy = EventsListener.getMousePosY() - _LastFrameMousePosY;
|
||||
}
|
||||
|
||||
// TODO: read desktop mouse speed value on X11 / implement X11MouseDevice
|
||||
dmpx *= 450.0f;
|
||||
dmpy *= 450.0f;
|
||||
|
||||
if(ClientCfg.FreeLookInverted) dmpy = -dmpy;
|
||||
// update free look
|
||||
EventsListener.updateFreeLookPos(dmpx, dmpy);
|
||||
}
|
||||
#endif
|
||||
|
||||
// If the mouse move on the axis X, with a CGDMouseMove
|
||||
if(EventsListener.isMouseAngleX())
|
||||
|
|
|
@ -1078,7 +1078,7 @@ function r2.activities:initActivityMenu()
|
|||
activityMenu:addSubMenu(activitiesNb)
|
||||
local zonesMenu = activityMenu:getSubMenu(activitiesNb)
|
||||
local zonesTable = r2.Scenario:getAllInstancesByType(zone)
|
||||
for key, z in zonesTable do
|
||||
for key, z in pairs(zonesTable) do
|
||||
uc_activity:fromUtf8(z.Name)
|
||||
zonesMenu:addLine(uc_activity, "lua", "r2.activities:setActivityType('"..actType.."', '".. z.InstanceId .."')", z.InstanceId)
|
||||
end
|
||||
|
|
|
@ -502,7 +502,7 @@ end
|
|||
-- default is to look recursively in the 'son select bar container'
|
||||
function baseClass.getFirstSelectBarSon(this)
|
||||
local sons = this:getSelectBarSons()
|
||||
if not sons then return nil end
|
||||
if not sons then return nil end
|
||||
for k, v in specPairs(sons) do
|
||||
if v:displayInSelectBar() then
|
||||
return v
|
||||
|
|
|
@ -380,7 +380,7 @@ function r2.events:filterEvents(logicEntityId)
|
|||
end
|
||||
|
||||
table.insert(allLogicEntities, r2.Scenario)
|
||||
for k0, entity in allLogicEntities do
|
||||
for k0, entity in pairs(allLogicEntities) do
|
||||
|
||||
local behavior = self:getBehavior(entity)
|
||||
if not self.memberManagement then -- TEMP
|
||||
|
|
|
@ -248,7 +248,7 @@ end
|
|||
|
||||
function component.initLogicEntitiesInstancesMenu(this, subMenu, calledFunction)
|
||||
local entitiesTable = r2.Scenario:getAllInstancesByType(this.Name)
|
||||
for key, entity in entitiesTable do
|
||||
for key, entity in pairs(entitiesTable) do
|
||||
local uc_name = ucstring()
|
||||
uc_name:fromUtf8(entity.Name)
|
||||
subMenu:addLine(uc_name, "lua", calledFunction.."('".. entity.InstanceId .."')", entity.InstanceId)
|
||||
|
|
|
@ -786,7 +786,7 @@ Logic.Components.ChatSequence = {
|
|||
initLogicEntitiesInstancesMenu = function(this, subMenu, calledFunction)
|
||||
|
||||
local entitiesTable = r2.Scenario:getAllInstancesByType(this.Name)
|
||||
for key, entity in entitiesTable do
|
||||
for key, entity in pairs(entitiesTable) do
|
||||
local uc_name = ucstring()
|
||||
uc_name:fromUtf8(entity.Name)
|
||||
subMenu:addLine(uc_name, "lua", calledFunction.."('".. entity.InstanceId .."')", entity.InstanceId)
|
||||
|
|
|
@ -298,7 +298,7 @@ end
|
|||
--function logicEntity.initLogicEntitiesInstancesMenu(this, subMenu, calledFunction)
|
||||
--
|
||||
-- local entitiesTable = r2.Scenario:getAllInstancesByType(this.Name)
|
||||
-- for key, entity in entitiesTable do
|
||||
-- for key, entity in pairs(entitiesTable) do
|
||||
-- local uc_name = ucstring()
|
||||
-- uc_name:fromUtf8(entity.Name)
|
||||
-- subMenu:addLine(uc_name, "lua", calledFunction.."('".. entity.InstanceId .."')", entity.InstanceId)
|
||||
|
|
|
@ -83,7 +83,7 @@ function r2.ContextualCommands:update()
|
|||
end
|
||||
-- if one of the command is highlighted, let it highlighted after the toolbar has been rebuilt
|
||||
--local highlightedCommand
|
||||
--for index, button in self.IndexToButton do
|
||||
--for index, button in pairs(self.IndexToButton) do
|
||||
-- if button == r2.ToolUI:getActiveToolUI() then
|
||||
-- debugInfo("highlighted command found")
|
||||
-- highlightedCommand = self.CurrentCommands[index]
|
||||
|
|
|
@ -2193,7 +2193,7 @@ function r2:updateEquipment(instance, init)
|
|||
|
||||
comboBox:resetTexts()
|
||||
|
||||
for k1, v1 in v do
|
||||
for k1, v1 in pairs(v) do
|
||||
comboBox:addText(ucstring(v1.trad))
|
||||
end
|
||||
end
|
||||
|
|
|
@ -722,7 +722,7 @@ r2.ActUIDisplayer.LastSelfCreatedActInstanceId = nil -- id of the last act creat
|
|||
for i = 0, r2:getMaxNumberOfAdditionnalActs() - 1 do
|
||||
local tree = self:getContainer():find(treeName .. tostring(i))
|
||||
local used = false
|
||||
for index, entry in self:getActTable() do
|
||||
for index, entry in pairs(self:getActTable()) do
|
||||
local entryTree = entry.Tree
|
||||
if macroTree==true then entryTree = entry.MacroTree end
|
||||
if entryTree == tree then
|
||||
|
|
|
@ -1889,7 +1889,7 @@ function r2:buildAllPropertySheetsAndForms()
|
|||
|
||||
--debugInfo('building forms')
|
||||
if r2.Forms ~= nil then
|
||||
for formName, form in r2.Forms do
|
||||
for formName, form in pairs(r2.Forms) do
|
||||
local mustRebuild = true
|
||||
if r2FormsCache[formName] ~= nil then
|
||||
if isEqualIgnoreFunctions(r2FormsCache[formName], form.Prop) then
|
||||
|
|
|
@ -903,7 +903,7 @@ function r2:openActivityMenu()
|
|||
-- activityMenu:addSubMenu(6)
|
||||
-- local regionsMenu = activityMenu:getSubMenu(6)
|
||||
-- local regionsTable = r2.Scenario:getAllInstancesByType("Region")
|
||||
-- for key, region in regionsTable do
|
||||
-- for key, region in pairs(regionsTable) do
|
||||
-- regionsMenu:addLine(ucstring(region.Name), "lua", "r2:setActivity('Deploy', '".. region.InstanceId .."')", region.InstanceId)
|
||||
-- end
|
||||
-- if table.getn(regionsTable) == 0 then
|
||||
|
|
|
@ -14,9 +14,13 @@
|
|||
// You should have received a copy of the GNU Affero General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
/*
|
||||
* Completely implemented in xml_auto_ptr.h
|
||||
*/
|
||||
|
||||
#include "stdpch.h"
|
||||
|
||||
/*
|
||||
#include "xml_auto_ptr.h"
|
||||
#include <libxml/parser.h>
|
||||
|
||||
|
@ -45,10 +49,4 @@ CXMLAutoPtr &CXMLAutoPtr::operator = (const char *other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*/
|
||||
|
|
|
@ -28,7 +28,7 @@ class CXMLAutoPtr
|
|||
public:
|
||||
CXMLAutoPtr(const char *value = NULL) : _Value(value) {}
|
||||
CXMLAutoPtr(const unsigned char *value) : _Value((const char *) value) {}
|
||||
~CXMLAutoPtr();
|
||||
~CXMLAutoPtr() { destroy(); }
|
||||
operator const char *() const { return _Value; }
|
||||
operator bool() const { return _Value != NULL; }
|
||||
operator std::string() const { return std::string(_Value); }
|
||||
|
@ -36,7 +36,14 @@ public:
|
|||
operator const unsigned char *() const { return (const unsigned char *) _Value; }
|
||||
const char operator * () const { nlassert(_Value); return *_Value; }
|
||||
/// NB : This remove previous owned pointer with xmlFree
|
||||
CXMLAutoPtr &operator = (const char *other);
|
||||
CXMLAutoPtr &operator = (const char *other)
|
||||
{
|
||||
if (other == _Value) return *this;
|
||||
destroy();
|
||||
_Value = other;
|
||||
return *this;
|
||||
}
|
||||
|
||||
CXMLAutoPtr &operator = (const unsigned char *other)
|
||||
{
|
||||
*this = (const char *) other;
|
||||
|
@ -47,7 +54,15 @@ public:
|
|||
private:
|
||||
const char *_Value;
|
||||
private:
|
||||
void destroy();
|
||||
void destroy()
|
||||
{
|
||||
if (_Value)
|
||||
{
|
||||
xmlFree(const_cast<char *>(_Value));
|
||||
_Value = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
// We'd rather avoid problems
|
||||
CXMLAutoPtr(const CXMLAutoPtr &/* other */)
|
||||
{
|
||||
|
|
|
@ -1,57 +1,16 @@
|
|||
// Use with commandline: ryzom_admin_service -A. -C. -L. --nobreak --fulladminname=admin_executor_service --shortadminname=AES
|
||||
|
||||
#include "admin_executor_service_default.cfg"
|
||||
|
||||
// I'm the AES, I'll not connect to myself!
|
||||
DontUseAES = 1;
|
||||
// I don't need a connection to a naming service
|
||||
DontUseNS = 1;
|
||||
// ---- config local variables
|
||||
|
||||
|
||||
AESAliasName= "aes";
|
||||
|
||||
//
|
||||
DontUseStdIn = 0;
|
||||
|
||||
// Address ofthe admin service (default port is 49996)
|
||||
// Address of the admin service (default port is 49996)
|
||||
ASHost = "localhost";
|
||||
ASPort="46701";
|
||||
|
||||
// Config for AES
|
||||
AESPort = "46702";
|
||||
AESHost = "localhost";
|
||||
ASPort = "46701";
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
|
||||
// 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 exeternal 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;
|
||||
|
||||
#include "./aes_alias_name.cfg"
|
||||
AESAliasName= "aes_open";
|
||||
|
||||
StartCommands=
|
||||
{
|
||||
|
@ -73,7 +32,6 @@ StartCommands=
|
|||
"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",
|
||||
|
||||
|
@ -93,11 +51,31 @@ StartCommands=
|
|||
// plug the as
|
||||
"aes.plug asc_gw",
|
||||
"aes.plug aes_gw",
|
||||
};
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
"aes.addRegisteredService bms_master open",
|
||||
// "aes.addRegisteredService bms_pd_master open",
|
||||
"aes.addRegisteredService egs open",
|
||||
"aes.addRegisteredService gpms open",
|
||||
"aes.addRegisteredService ios open",
|
||||
"aes.addRegisteredService rns open",
|
||||
"aes.addRegisteredService rws open",
|
||||
"aes.addRegisteredService ts open",
|
||||
"aes.addRegisteredService ms open",
|
||||
"aes.addRegisteredService ais_newbyland open",
|
||||
"aes.addRegisteredService mfs open",
|
||||
"aes.addRegisteredService su open",
|
||||
"aes.addRegisteredService fes open",
|
||||
"aes.addRegisteredService sbs open",
|
||||
"aes.addRegisteredService lgs open",
|
||||
// "aes.addRegisteredService mos open",
|
||||
// "aes.addRegisteredService pdss open",
|
||||
"aes.addRegisteredService ras open",
|
||||
};
|
||||
|
||||
|
||||
ShardName="dev";
|
||||
bms_master = { "./", "/home/nevrax/dev/live/service_backup_service/backup_service", "-C. -L. --nobreak --writepid -P49990" };
|
||||
bms_pd_master = { "./", "/home/nevrax/dev/live/service_backup_service/backup_service", "-C. -L. --nobreak --writepid -P49992" };
|
||||
egs = { "./", "/home/nevrax/dev/live/service_entities_game_service/entities_game_service", "-C. -L. --nobreak --writepid" };
|
||||
|
@ -139,24 +117,33 @@ RegisteredServices=
|
|||
"ras",
|
||||
};
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
"aes.addRegisteredService bms_master open",
|
||||
// "aes.addRegisteredService bms_pd_master open",
|
||||
"aes.addRegisteredService egs open",
|
||||
"aes.addRegisteredService gpms open",
|
||||
"aes.addRegisteredService ios open",
|
||||
"aes.addRegisteredService rns open",
|
||||
"aes.addRegisteredService rws open",
|
||||
"aes.addRegisteredService ts open",
|
||||
"aes.addRegisteredService ms open",
|
||||
"aes.addRegisteredService ais_newbyland open",
|
||||
"aes.addRegisteredService mfs open",
|
||||
"aes.addRegisteredService su open",
|
||||
"aes.addRegisteredService fes open",
|
||||
"aes.addRegisteredService sbs open",
|
||||
"aes.addRegisteredService lgs open",
|
||||
// "aes.addRegisteredService mos open",
|
||||
// "aes.addRegisteredService pdss open",
|
||||
"aes.addRegisteredService ras open",
|
||||
};
|
||||
//
|
||||
DontUseStdIn = 0;
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// 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;
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// 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 exeternal configuration system responsible for launching apps and
|
||||
// for configuring AES services
|
||||
DontLaunchServicesDirectly = 1;
|
||||
UseExplicitAESRegistration = 1;
|
||||
KillServicesOnDisconnect = 1;
|
||||
|
||||
ShardName="dev";
|
||||
|
|
|
@ -1 +1,7 @@
|
|||
#include "common.cfg"
|
||||
|
||||
// I'm the AES, I'll not connect to myself!
|
||||
DontUseAES = 1;
|
||||
|
||||
// I don't need a connection to a naming service
|
||||
DontUseNS = 1;
|
||||
|
|
|
@ -1,298 +1,22 @@
|
|||
// Use with commandline: ryzom_admin_service --fulladminname=ryzom_admin_service --shortadminname=AS -C. -L. --nobreak --writepid
|
||||
AESAliasName= "ras";
|
||||
|
||||
// ---- config local variables
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "admin_service_default.cfg"
|
||||
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
AESAliasName= "ras";
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
AESAliasName= "aes_open";
|
||||
AESPort="46702";
|
||||
ASPort="46701";
|
|
@ -1,279 +1,17 @@
|
|||
// Use with commandline: ai_service -C. -L. --nobreak --writepid -mCommon:Newbieland:Post
|
||||
AESAliasName= "ais_newbyland";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
// ---- config local variables
|
||||
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "db1.ryzom.com";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "/home/nevrax/live/save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "ai_service_default.cfg"
|
||||
WriteFilesDirectory= "data_shard";
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "ais_newbyland";
|
||||
|
||||
GraphVars += { "TickSpeedLoop", "0" };
|
||||
GraphVars += { "TickSpeedLoop", "60000" };
|
||||
|
@ -285,28 +23,47 @@ GraphVars += { "MirrorCallbackCount", "0" };
|
|||
GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
GraphVars += { "MirrorCallbackTime", "0" };
|
||||
GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "../rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_common",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
#include "used_continents.cfg"
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// define the primitives configuration used. (AIS, EGS)
|
||||
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 = { "" };
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
NbPlayersLimit = PlayerLimit;
|
||||
|
||||
// Entity Limits (AIS)
|
||||
NbPetLimit = NbPlayersLimit*4;
|
||||
NbFaunaLimit = 50000;
|
||||
NbNpcLimit = 20000;
|
||||
NbFxLimit = 500;
|
||||
|
||||
#include "backup_service_interface.cfg"
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 0;
|
||||
|
||||
// Disable ryzom verbose logging
|
||||
VerboseMIRROR = 0;
|
||||
|
|
|
@ -1,169 +1,19 @@
|
|||
// Use with commandline: backup_service -C. -L. --nobreak --writepid -P49990
|
||||
AESAliasName= "bms_master";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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)",
|
||||
#include "backup_service_default.cfg"
|
||||
|
||||
/// 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",
|
||||
// ---- config local variables
|
||||
|
||||
// create a layer 3 client to connect to aes gateway
|
||||
"gw_aes.transportAdd L3Client aes_l3c",
|
||||
"gw_aes.transportCmd aes_l3c(connect addr=localhost:"+AESPort+")",
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName = "bms_master";
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
/// 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"
|
||||
};
|
||||
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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;
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
|
||||
SaveFilesDirectory = "";
|
||||
|
@ -171,135 +21,14 @@ SaveFilesDirectory = "";
|
|||
// where to save generic shard data (ie: packed_sheet)
|
||||
WriteFilesDirectory = "data_shard";
|
||||
|
||||
// Will SaveFilesDirectory will be converted to a full path?
|
||||
ConvertSaveFilesDirectoryToFullPath = 0;
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
WebPort = 49970;
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// 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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "backup_service_default.cfg"
|
||||
|
||||
ListeningPort = 49990;
|
||||
L3ListeningPort = 49950;
|
||||
WebPort = 49970;
|
||||
BSReadState = 1;
|
||||
SaveShardRoot = "save_shard";
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
|
|
@ -1,23 +1,31 @@
|
|||
#include "common.cfg"
|
||||
|
||||
DontUseNS = BSDontUseNS;
|
||||
NSHost = BSNSHost;
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
DontUseNS = 1;
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
ListeningPort = 49990;
|
||||
|
||||
// Port for the Layer 3 interface of the backup service
|
||||
L3ListeningPort = 49950;
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Listening port for the Web server to connect in
|
||||
|
||||
WebPort = 49898;
|
||||
|
||||
BSReadState = 1;
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// Port for the Layer 3 interface of the backup service
|
||||
L3ListeningPort = 49950;
|
||||
|
||||
// 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";
|
||||
|
||||
BSReadState = 1;
|
||||
|
||||
//BSFilePrefix = "R:/code/ryzom/r2_shard/";
|
||||
//BSFileSubst = "r2_shard/";
|
||||
|
|
5
code/ryzom/server/backup_service_interface.cfg
Normal file
5
code/ryzom/server/backup_service_interface.cfg
Normal file
|
@ -0,0 +1,5 @@
|
|||
L3BSPort = "49950";
|
||||
BSHost = "localhost:49990";
|
||||
UseBS = 1;
|
||||
// Root directory where data from shards are stored into
|
||||
SaveShardRoot = "save_shard/";
|
|
@ -1,2 +1,99 @@
|
|||
// ---- config local variables
|
||||
|
||||
// Used by ConfigFile in EGS and WS
|
||||
ShardId = 302;
|
||||
|
||||
// Used by CVariable in WS
|
||||
PlayerLimit = 5000;
|
||||
|
||||
// Used to connect to AES (this file) and to set up AES service (admin_executor_service.cfg)
|
||||
AESPort="46702";
|
||||
AESHost="localhost";
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
WindowStyle = "WIN";
|
||||
|
||||
// don't connect to the old NeLNS AES
|
||||
DontUseAES = 1;
|
||||
|
||||
// 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+")",
|
||||
};
|
||||
|
||||
NSHost = "localhost";
|
||||
|
||||
// A list of vars to graph for any service
|
||||
GraphVars +=
|
||||
{
|
||||
"ProcessUsedMemory", "60000", // every minute
|
||||
};
|
||||
|
||||
IgnoredFiles = { "continent.cfg", "__read_me.txt", "bandit.html", "flora_primr.primitive" };
|
||||
|
||||
// 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;
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
|
||||
// Disable nel net verbose logging
|
||||
VerboseNETTC = 0;
|
||||
VerboseLNETL0 = 0;
|
||||
VerboseLNETL1 = 0;
|
||||
VerboseLNETL2 = 0;
|
||||
VerboseLNETL3 = 0;
|
||||
VerboseLNETL4 = 0;
|
||||
VerboseLNETL5 = 0;
|
||||
VerboseLNETL6 = 0;
|
||||
|
||||
// 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;
|
||||
|
||||
// how to sleep between 2 network updates
|
||||
// 0 = pipe
|
||||
// 1 = usleep
|
||||
// 2 = nanosleep
|
||||
// 3 = sched_yield
|
||||
// 4 = nothing
|
||||
UseYieldMethod = 0;
|
||||
|
||||
DefaultMaxExpectedBlockSize = 200000000; // 200 M !
|
||||
DefaultMaxSentBlockSize = 200000000; // 200 M !
|
||||
|
||||
// Will SaveFilesDirectory will be converted to a full path?
|
||||
ConvertSaveFilesDirectoryToFullPath = 0;
|
||||
|
||||
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
|
||||
SaveFilesDirectory = "";
|
||||
|
||||
// where to save generic shard data (ie: packed_sheet)
|
||||
WriteFilesDirectory = "data_shard";
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
|
|
@ -1,282 +1,94 @@
|
|||
// Use with commandline: entities_game_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "egs";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
// ---- config local variables
|
||||
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// WS Specifics --------------------------------------------------------------------------
|
||||
// WS - use or not the legacy WelcomeService from nel ns (only for backward compatibility during transition to ring)
|
||||
DontUseLSService = 1;
|
||||
#include "entities_game_service_default.cfg"
|
||||
|
||||
// Global config --------------------------------------------------------------------------
|
||||
// set to 0 if you want to use the admin system
|
||||
DontUseAES = 1;
|
||||
// ---- 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", "0" };
|
||||
GraphVars += { "CharacterLoadPerTick", "60000" };
|
||||
GraphVars += { "CharacterSavePerTick", "0" };
|
||||
GraphVars += { "CharacterSavePerTick", "60000" };
|
||||
GraphVars += { "TickSpeedLoop", "0" };
|
||||
GraphVars += { "TickSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
GraphVars += { "MirrorCallbackCount", "0" };
|
||||
GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
GraphVars += { "MirrorCallbackTime", "0" };
|
||||
GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// Player limits (AIS, EGS, WS, FS)
|
||||
NbPlayersLimit = 5000;
|
||||
|
||||
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;
|
||||
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;
|
||||
#include "used_continents.cfg"
|
||||
|
||||
// This is the list of continent to use with their unique instance number
|
||||
UsedContinents =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
//UsedContinents = { "dummy", "10000" };
|
||||
#include "entities_game_service_default.cfg"
|
||||
PathsNoRecurse= {"."};
|
||||
NeverAggroPriv = ":OBSERVER:G:SG:GM:SGM:EM:";
|
||||
AlwaysInvisiblePriv = ":OBSERVER:EM:";
|
||||
TimeBeforeDisconnection = 300;
|
||||
|
||||
// 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 +=
|
||||
{
|
||||
|
@ -328,54 +140,64 @@ UsedPrimitives =
|
|||
};
|
||||
*/
|
||||
|
||||
StartCommands += {
|
||||
"moduleManager.createModule AnimSessionManager asm",
|
||||
"asm.plug gw",
|
||||
};
|
||||
GraphVars += { "NbPlayers", "60000" };
|
||||
GraphVars += { "CharacterLoadPerTick", "0" };
|
||||
GraphVars += { "CharacterLoadPerTick", "60000" };
|
||||
GraphVars += { "CharacterSavePerTick", "0" };
|
||||
GraphVars += { "CharacterSavePerTick", "60000" };
|
||||
GraphVars += { "TickSpeedLoop", "0" };
|
||||
GraphVars += { "TickSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
GraphVars += { "MirrorCallbackCount", "0" };
|
||||
GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
GraphVars += { "MirrorCallbackTime", "0" };
|
||||
GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
// 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;
|
||||
CachePrims = 1;
|
||||
CorrectInvalidPlayerPositions = 1;
|
||||
WebSrvHost = "http://localhost:55555/";
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
MFSHost = "localhost";
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_common",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
// 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;
|
||||
|
|
|
@ -1,87 +1,43 @@
|
|||
#include "common.cfg"
|
||||
|
||||
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+")",
|
||||
};
|
||||
|
||||
#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 shard unifier client module
|
||||
"moduleManager.createModule ShardUnifierClient suc",
|
||||
// Create a client commands forwader module
|
||||
"moduleManager.createModule ClientCommandForwader ccf",
|
||||
|
||||
// Create a characer control module
|
||||
"moduleManager.createModule CharacterControl cc",
|
||||
|
||||
// Create a guild unifier module
|
||||
"moduleManager.createModule GuildUnifier gu",
|
||||
|
||||
//Create a shard unifier name mapper
|
||||
"moduleManager.createModule CharNameMapperClient cnmc",
|
||||
|
||||
// Create the logger service client module
|
||||
"moduleManager.createModule LoggerServiceClient lsc",
|
||||
|
||||
"suc.plug gw",
|
||||
"ccf.plug gw",
|
||||
"cc.plug gw",
|
||||
"gu.plug glob_gw",
|
||||
"cnmc.plug gw",
|
||||
"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 shard unifier client module
|
||||
"moduleManager.createModule ShardUnifierClient suc",
|
||||
// Create a client commands forwader module
|
||||
|
@ -105,7 +61,6 @@ StartCommands +=
|
|||
"gu.plug glob_gw",
|
||||
"cnmc.plug gw",
|
||||
"lsc.plug lgs_gw",
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,281 +1,19 @@
|
|||
// Use with commandline: frontend_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "fes";
|
||||
|
||||
//AcceptInvalidCookie = 1;
|
||||
// ---- config local variables
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "open.ryzom.com";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
FSUDPPort = 47851;
|
||||
FSListenHost = "open.ryzom.com";
|
||||
|
||||
#include "frontend_service_default.cfg"
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "fes";
|
||||
|
||||
GraphVars += { "TickSpeedLoop", "0" };
|
||||
GraphVars += { "TickSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
|
@ -286,28 +24,29 @@ GraphVars += { "MirrorCallbackCount", "0" };
|
|||
GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
GraphVars += { "MirrorCallbackTime", "0" };
|
||||
GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
|
||||
Paths = {
|
||||
"../common/data_common",
|
||||
".",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
//AcceptInvalidCookie = 1;
|
||||
|
||||
ClientLimit = 1000;
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// Disable ryzom verbose logging
|
||||
VerboseMIRROR = 0;
|
||||
|
||||
// Root directory where data from shards are stored into
|
||||
SaveShardRoot = "save_shard/";
|
||||
|
|
|
@ -1,311 +1,44 @@
|
|||
// Use with commandline: gpm_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "gpms";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
//#include "../live/cfg/gpm_service_mainland.cfg"
|
||||
#include "gpm_service_default.cfg"
|
||||
|
||||
GraphVars += { "TickSpeedLoop", "0" };
|
||||
GraphVars += { "TickSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
GraphVars += { "MirrorCallbackCount", "0" };
|
||||
GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
GraphVars += { "MirrorCallbackTime", "0" };
|
||||
GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
// ---- config local variables
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "gpms";
|
||||
|
||||
GraphVars += { "TickSpeedLoop", "0" };
|
||||
GraphVars += { "TickSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
GraphVars += { "MirrorCallbackCount", "0" };
|
||||
GraphVars += { "MirrorCallbackCount", "60000" };
|
||||
GraphVars += { "MirrorCallbackTime", "0" };
|
||||
GraphVars += { "MirrorCallbackTime", "60000" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_common",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
#include "used_continents.cfg"
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 0;
|
||||
|
||||
// Disable ryzom verbose logging
|
||||
VerboseMIRROR = 0;
|
||||
|
|
|
@ -1,283 +1,26 @@
|
|||
// Use with commandline: input_output_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "ios";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
// ---- config local variables
|
||||
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "input_output_service_default.cfg"
|
||||
|
||||
VerboseStringManager = 0;
|
||||
VerboseStringManagerParser = 0;
|
||||
VerboseChat = 0;
|
||||
VerboseChatManagement = 0;
|
||||
VerboseNameTranslation = 0;
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "ios";
|
||||
|
||||
// Create a char name mapper
|
||||
StartCommands +=
|
||||
{
|
||||
|
@ -286,28 +29,53 @@ StartCommands +=
|
|||
"moduleManager.createModule IOSRingModule iosrm",
|
||||
"iosrm.plug gw",
|
||||
};
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_common",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// 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 = { "" };
|
||||
|
||||
// Use Shard Unifier or not
|
||||
DontUseSU = 0;
|
||||
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
|
||||
IsRingShard = 0;
|
||||
|
||||
// Disable ryzom verbose logging
|
||||
VerboseMIRROR = 0;
|
||||
|
||||
#include "backup_service_interface.cfg"
|
||||
|
||||
// IOS - Directory to store ios.string_cache file
|
||||
StringManagerCacheDirectory = "data_shard_local";
|
||||
|
||||
// IOS - Directory to log chat into
|
||||
LogChatDirectory = "data_shard_local";
|
||||
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
VerboseStringManager = 0;
|
||||
VerboseStringManagerParser = 0;
|
||||
VerboseChat = 0;
|
||||
VerboseChatManagement = 0;
|
||||
VerboseNameTranslation = 0;
|
||||
|
|
|
@ -1,74 +1,47 @@
|
|||
#include "common.cfg"
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
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+")",
|
||||
};
|
||||
|
||||
#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",
|
||||
|
@ -76,12 +49,13 @@ StartCommands +=
|
|||
// Create the logger service client module
|
||||
"moduleManager.createModule LoggerServiceClient lsc",
|
||||
"lsc.plug lgs_gw",
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
DisableMonotonicClock = 1;
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// a list of system command that can be run with "sysCmd" service command.
|
||||
SystemCmd = {};
|
||||
|
@ -100,12 +74,11 @@ BotNameTranslationFile = "bot_names.txt";
|
|||
// depending on the shard main language.
|
||||
EventFactionTranslationFile = "event_factions.txt";
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// Activate/deactivate debugging of missing paremeter replacement
|
||||
DebugReplacementParameter = 1;
|
||||
|
||||
// Id of database for PDS Chat Logging
|
||||
DatabaseId = 1;
|
||||
|
||||
// Default verbose debug flags:
|
||||
//-----------------------------
|
||||
|
||||
|
|
|
@ -1,285 +1,15 @@
|
|||
// Use with commandline: logger_service -C. -L. --nobreak --writepid
|
||||
|
||||
#include "logger_service_default.cfg"
|
||||
|
||||
// ---- config local variables
|
||||
|
||||
LGSL3Port = 41292;
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "lgs";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "db1.ryzom.com";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "/home/nevrax/live/save_shard/www";
|
||||
HoFHDTDirectory = "/local/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_dev";
|
||||
// Nel DB user
|
||||
DBNelUser = "su_dev";
|
||||
// Ring DB user
|
||||
DBRingUser = "su_dev";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "logger_service_default.cfg"
|
||||
LogQueryResultFile = "log_query_result.txt";
|
||||
SaveFilesDirectory = "save_shard/";
|
||||
BSHost = LGSBSHost+":"+LGSBSPort;
|
||||
L3BSPort = LGSBSPort;
|
||||
DontUseNS = 1;
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
"moduleManager.createModule LoggerService ls",
|
||||
|
@ -289,29 +19,32 @@ StartCommands +=
|
|||
"lgs_gw.transportOptions l3s(PeerInvisible)",
|
||||
"lgs_gw.transportCmd l3s(open port="+ LGSL3Port +")",
|
||||
};
|
||||
SaveShardRoot = "save_shard";
|
||||
SaveFilesDirectory = "save_shard/";
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "../rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
DontUseNS = 1;
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
|
||||
SaveFilesDirectory = "save_shard/";
|
||||
|
||||
// where to save generic shard data (ie: packed_sheet)
|
||||
WriteFilesDirectory = "r2_shard/data_shard";
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Use Shard Unifier or not
|
||||
DontUseSU = 0;
|
||||
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
#include "backup_service_interface.cfg"
|
||||
|
|
|
@ -1,299 +1,19 @@
|
|||
// Use with commandline: mail_forum_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "mfs";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "db1.ryzom.com";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "/home/nevrax/live/save_shard/www";
|
||||
HoFHDTDirectory = "/local/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_dev";
|
||||
// Nel DB user
|
||||
DBNelUser = "su_dev";
|
||||
// Ring DB user
|
||||
DBRingUser = "su_dev";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "mail_forum_service_default.cfg"
|
||||
WriteFilesDirectory="data_shard";
|
||||
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "../rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
// ---- config local variables
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "mfs";
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
|
|
@ -1,8 +1,17 @@
|
|||
#include "common.cfg"
|
||||
|
||||
WebRootDirectory = "save_shard/www";
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
DontUseNS = 1;
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
WebRootDirectory = "save_shard/www";
|
||||
|
||||
// Set if Hall of Fame generator is enabled
|
||||
HoFEnableGenerator = 1;
|
||||
|
||||
|
|
|
@ -1,306 +1,38 @@
|
|||
// Use with commandline: mirror_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "ms";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "mirror_service_default.cfg"
|
||||
|
||||
GraphVars += { "UserSpeedLoop", "0" };
|
||||
GraphVars += { "UserSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
// ---- config local variables
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "ms";
|
||||
|
||||
GraphVars += { "UserSpeedLoop", "0" };
|
||||
GraphVars += { "UserSpeedLoop", "60000" };
|
||||
GraphVars += { "L5CallbackCount", "0" };
|
||||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
"../common/data_common",
|
||||
"../common/data_leveldesign",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Mirror limits
|
||||
DatasetSizefe_temp = 600000;
|
||||
DatasetSizefame = 26000;
|
||||
|
||||
// MS Packet size limit in bytes, PER DATASET (warning: depending on the weights, limits per property may be very small)
|
||||
MaxOutBandwidth = 100000000;
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
// Disable ryzom verbose logging
|
||||
VerboseMIRROR = 0;
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
#include "common.cfg"
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Linux only
|
||||
DestroyGhostSegments = 1;
|
||||
|
|
|
@ -1,298 +1,21 @@
|
|||
// Use with commandline: ryzom_naming_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "rns";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "naming_service_default.cfg"
|
||||
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
// ---- config local variables
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "rns";
|
||||
|
||||
Paths = {
|
||||
"data_www"
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
BasePort = 51000;
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
|
|
@ -1,279 +1,19 @@
|
|||
// Use with commandline: session_browser_server -C. -L. --nobreak --writepid
|
||||
|
||||
#include "session_browser_server_default.cfg"
|
||||
|
||||
// ---- config local variables
|
||||
|
||||
#include "sql.cfg"
|
||||
|
||||
SBSPort = 48851;
|
||||
|
||||
SUHost = "localhost";
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "sbs";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
FSUDPPort = 47851;
|
||||
SBSPort = FSUDPPort+1000;
|
||||
DontUseNS = 0;
|
||||
StartCommands +=
|
||||
{
|
||||
"moduleManager.createModule SessionBrowserServerMod sbs suAddr="+SUHost+":49999 listenPort="+SBSPort+" ring_db(host="+DBHost+" user="+DBRingUser+" password="+DBRingPass+" base="+DBRingName+")",
|
||||
|
@ -286,26 +26,24 @@ GraphVars += { "L5CallbackCount", "0" };
|
|||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Use Shard Unifier or not
|
||||
DontUseSU = 0;
|
||||
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
|
||||
// The max number of ring points (aka ring access) for each ecosystem
|
||||
MaxRingPoints = "A1:D7:F7:J8:L6:R13";
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
|
1
code/ryzom/server/session_browser_server_default.cfg
Normal file
1
code/ryzom/server/session_browser_server_default.cfg
Normal file
|
@ -0,0 +1 @@
|
|||
#include "common.cfg"
|
|
@ -12,7 +12,7 @@ bind K kill
|
|||
bind I login on
|
||||
bind O login off
|
||||
|
||||
chdir "~/code/ryzom/server"
|
||||
chdir $RYZOM_PATH/server
|
||||
|
||||
screen -t aes /bin/sh service_launcher.sh aes src/ryzom_admin_service/ryzom_admin_service -A. -C. -L. --nobreak --fulladminname=admin_executor_service --shortadminname=AES
|
||||
|
||||
|
|
|
@ -1,284 +1,24 @@
|
|||
// Use with commandline: shard_unifier_service -C. -L. --nobreak --writepid
|
||||
AESAliasName= "su";
|
||||
|
||||
ASWebPort="46700";
|
||||
ASPort="46701";
|
||||
AESPort="46702";
|
||||
SUPort = 50505;
|
||||
// ---- config local variables
|
||||
|
||||
SUGlobalPort = 50503;
|
||||
L3BSPort = "49950";
|
||||
L3MasterLGSPort = 41292;
|
||||
L3SlaveLGSPort = 49993;
|
||||
LGSBSPort = 49990;
|
||||
L3LGSBSPort = 49990;
|
||||
LGSL3Port = L3MasterLGSPort;
|
||||
SUHost = "localhost";
|
||||
MFSHost = "localhost";
|
||||
BSHost = "localhost:49990";
|
||||
MasterLGSHost = "localhost";
|
||||
SlaveLGSHost = "localhost";
|
||||
LGSBSHost = "localhost";
|
||||
DBHost = "localhost";
|
||||
#define DONT_USE_LGS_SLAVE
|
||||
// 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",
|
||||
#include "sql.cfg"
|
||||
|
||||
// create a layer 3 client to connect to aes gateway
|
||||
"gw_aes.transportAdd L3Client aes_l3c",
|
||||
"gw_aes.transportCmd aes_l3c(connect addr=localhost:"+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"
|
||||
};
|
||||
|
||||
// Block the system in the tick service that provokes stalls when overloaded
|
||||
WaitForBSThreshold=0;
|
||||
|
||||
|
||||
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;
|
||||
|
||||
// Configureation 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;
|
||||
|
||||
// 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 = "";
|
||||
WebRootDirectory = "save_shard/www";
|
||||
HoFHDTDirectory = "/local/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 = "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_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// 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;
|
||||
|
||||
// Disable generation / display of nldebug messages
|
||||
DisableNLDebug = 1;
|
||||
FSListenHost = "localhost";
|
||||
DBPass="";
|
||||
ShardId = 302;
|
||||
BasePort = 51000;
|
||||
SaveFilesDirectory="";
|
||||
NSHost = "localhost";
|
||||
// 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 =
|
||||
{
|
||||
"newbieland", "20",
|
||||
};
|
||||
|
||||
// define the primitives configuration used.
|
||||
UsedPrimitives =
|
||||
{
|
||||
"newbieland_all",
|
||||
};
|
||||
#include "shard_unifier_service_default.cfg"
|
||||
|
||||
// ---- service NeL variables (used by ConfigFile class)
|
||||
|
||||
AESAliasName= "su";
|
||||
|
||||
// Create a command executor
|
||||
StartCommands +=
|
||||
{
|
||||
"moduleManager.createModule CommandExecutor ce",
|
||||
"ce.plug gw",
|
||||
};
|
||||
|
||||
GraphVars += { "TotalConcurentUser", "60000" };
|
||||
GraphVars += { "NetSpeedLoop", "0" };
|
||||
GraphVars += { "NetSpeedLoop", "60000" };
|
||||
|
@ -286,26 +26,28 @@ GraphVars += { "L5CallbackCount", "0" };
|
|||
GraphVars += { "L5CallbackCount", "60000" };
|
||||
GraphVars += { "L5CallbackTime", "0" };
|
||||
GraphVars += { "L5CallbackTime", "60000" };
|
||||
Mainlands = {
|
||||
"302", "Open", "(Open Developer Community)", "en",
|
||||
};
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
RRDVarPath = "save_shard/rrd_graphs";
|
||||
ReadTranslationWork = 1;
|
||||
TranslationWorkPath = "";
|
||||
|
||||
DontUseAES=1;
|
||||
RingRPEnabled=0;
|
||||
DomainName = "ryzom_open";
|
||||
EnableStlAllocatorChecker = 0;
|
||||
// start commands for setting up the exchange level caps of different ryzom shards
|
||||
StartCommands += { "setShardExchangeLimit 301 250" };
|
||||
StartCommands += { "displayShardExchangeLimits" };
|
||||
StartCommands += { "EnableStlAllocatorChecker 0" };
|
||||
|
||||
Paths = {
|
||||
".",
|
||||
};
|
||||
|
||||
// ---- service NeL variables (used by CVariable class)
|
||||
|
||||
// ---- service custom variables (used by ConfigFile class)
|
||||
|
||||
// Use Shard Unifier or not
|
||||
DontUseSU = 0;
|
||||
|
||||
HomeMainlandNames =
|
||||
{
|
||||
"302", "Open", "open",
|
||||
};
|
||||
|
||||
// ---- service custom variables (used by CVariable class)
|
||||
|
||||
DomainName = "ryzom_open";
|
||||
|
||||
// The privileges needed to access any ring session
|
||||
PrivilegeForSessionAccess = ":DEV:SGM:GM:SG:";
|
||||
|
||||
#include "backup_service_interface.cfg"
|
||||
|
|
|
@ -1,10 +1,6 @@
|
|||
#include "common.cfg"
|
||||
|
||||
NSHost = SUNSHost;
|
||||
DontUseNS = SUDontUseNS;
|
||||
|
||||
// SU - listen address of the SU service (for L5 connections)
|
||||
SUAddress = SUHost+":"+SUPort;
|
||||
DontUseNS = 1;
|
||||
|
||||
StartCommands +=
|
||||
{
|
||||
|
|
14
code/ryzom/server/sql.cfg
Normal file
14
code/ryzom/server/sql.cfg
Normal file
|
@ -0,0 +1,14 @@
|
|||
DBHost = "localhost";
|
||||
DBNelName = "nel";
|
||||
DBRingName = "ring_open";
|
||||
// Nel DB user
|
||||
DBNelUser = "shard";
|
||||
// Ring DB user
|
||||
DBRingUser = "shard";
|
||||
// SU - password to access to the nel database with DBNelUseruser (default is no password)
|
||||
DBNelPass = "";
|
||||
// SU - password to access to the ring database with DBRingUser (default is no password)
|
||||
DBRingPass = "";
|
||||
|
||||
// MySQL wrapper strict mode - controls use of asserts if SQL requests fail
|
||||
MSWStrictMode=0;
|
|
@ -21,8 +21,8 @@
|
|||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
|
@ -85,8 +85,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
|
@ -150,8 +150,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
|
@ -219,8 +219,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
|
|
|
@ -809,7 +809,7 @@ namespace ADMIN
|
|||
|
||||
// read the text from the file - note that the number of bytes read may be less than the
|
||||
// number of bytes requested because we've opened the file in text mode and not binary mode
|
||||
uint32 bytesRead= fread(&txt[0],1,fileSize,f);
|
||||
uint32 bytesRead= (uint32)fread(&txt[0],1,fileSize,f);
|
||||
txt.resize(bytesRead);
|
||||
fclose(f);
|
||||
|
||||
|
@ -833,7 +833,7 @@ namespace ADMIN
|
|||
|
||||
// read the text from the file - note that the number of bytes read may be less than the
|
||||
// number of bytes requested because we've opened the file in text mode and not binary mode
|
||||
uint32 bytesRead= fread(&txt[0],1,fileSize,f);
|
||||
uint32 bytesRead= (uint32)fread(&txt[0],1,fileSize,f);
|
||||
txt.resize(bytesRead);
|
||||
fclose(f);
|
||||
|
||||
|
@ -859,7 +859,7 @@ namespace ADMIN
|
|||
|
||||
// read the text from the file - note that the number of bytes read may be less than the
|
||||
// number of bytes requested because we've opened the file in text mode and not binary mode
|
||||
uint32 bytesRead= fread(&txt[0],1,fileSize,f);
|
||||
uint32 bytesRead= (uint32)fread(&txt[0],1,fileSize,f);
|
||||
txt.resize(bytesRead);
|
||||
fclose(f);
|
||||
|
||||
|
|
|
@ -919,7 +919,7 @@ void CMovementMagnet::getNewDestination(RYAI_MAP_CRUNCH::CWorldPosition const& a
|
|||
{
|
||||
// first, try to take the same way as another bot of the group with the same comportment.
|
||||
CCont<CBot > &bots = _BotFauna.spawnGrp().bots();
|
||||
uint32 nbBots=bots.size();
|
||||
uint32 nbBots=(uint32)bots.size();
|
||||
|
||||
float bestScore=0.f;
|
||||
CAIVector bestDest;
|
||||
|
|
|
@ -496,7 +496,7 @@ void CBotNpc::calcSpawnPos(RYAI_MAP_CRUNCH::CWorldMap const& worldMap)
|
|||
std::vector<CShape::TPosition> const& posList = state->shape().getGeometry();
|
||||
do
|
||||
{
|
||||
const uint32 a=CAIS::rand16(posList.size());
|
||||
const uint32 a=CAIS::rand16((uint32)posList.size());
|
||||
const uint32 b=(a+1)%posList.size();
|
||||
const double weight=CAIS::frand();
|
||||
_StartPos.setXY(posList[a].toAIVector()+(posList[b].toAIVector()-posList[a].toAIVector())*weight);
|
||||
|
@ -973,7 +973,7 @@ void CBotNpc::setColours(std::string input)
|
|||
if (NLMISC::nlstricmp(colour,colourNames[i][j])==0)
|
||||
{
|
||||
// found an entry so add to the results vector
|
||||
results.push_back(i);
|
||||
results.push_back((uint32)i);
|
||||
done=true;
|
||||
}
|
||||
}
|
||||
|
@ -1003,7 +1003,7 @@ void CBotNpc::setColours(std::string input)
|
|||
{
|
||||
// upper body colour
|
||||
generator.srand(seed+975*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorArms(val);
|
||||
_Sheet->setColorHands(val);
|
||||
_Sheet->setColorBody(val);
|
||||
|
@ -1012,7 +1012,7 @@ void CBotNpc::setColours(std::string input)
|
|||
{
|
||||
// lower body colour
|
||||
generator.srand(seed+977*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorLegs(val);
|
||||
_Sheet->setColorFeets(val);
|
||||
}
|
||||
|
@ -1020,49 +1020,49 @@ void CBotNpc::setColours(std::string input)
|
|||
{
|
||||
// hair colour, mapped to head
|
||||
generator.srand(seed+976*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorHead(val);
|
||||
}
|
||||
else if ( NLMISC::nlstricmp(keyword,"CHEAD")==0)
|
||||
{
|
||||
// head color
|
||||
generator.srand(seed+979*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorHead(val);
|
||||
}
|
||||
else if ( NLMISC::nlstricmp(keyword,"CARMS")==0)
|
||||
{
|
||||
// arms color
|
||||
generator.srand(seed+981*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorArms(val);
|
||||
}
|
||||
else if ( NLMISC::nlstricmp(keyword,"CHANDS")==0)
|
||||
{
|
||||
// arms color
|
||||
generator.srand(seed+983*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorHands(val);
|
||||
}
|
||||
else if ( NLMISC::nlstricmp(keyword,"CBODY")==0)
|
||||
{
|
||||
// arms color
|
||||
generator.srand(seed+985*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorBody(val);
|
||||
}
|
||||
else if ( NLMISC::nlstricmp(keyword,"CLEGS")==0)
|
||||
{
|
||||
// arms color
|
||||
generator.srand(seed+987*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorLegs(val);
|
||||
}
|
||||
else if ( NLMISC::nlstricmp(keyword,"CFEETS")==0)
|
||||
{
|
||||
// arms color
|
||||
generator.srand(seed+989*0x10000);
|
||||
uint8 val = (uint8)results[generator.rand(results.size()-1)];
|
||||
uint8 val = (uint8)results[generator.rand((uint16)results.size()-1)];
|
||||
_Sheet->setColorFeets(val);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -583,7 +583,7 @@ inline const CAIEntityMatrixIteratorTblRandom::iterator CAIEntityMatrixIteratorT
|
|||
|
||||
inline uint32 CAIEntityMatrixIteratorTblRandom::size() const
|
||||
{
|
||||
return _tbl.size();
|
||||
return (uint32)_tbl.size();
|
||||
}
|
||||
|
||||
|
||||
|
@ -631,7 +631,7 @@ inline const CAIEntityMatrixIteratorTblLinear::iterator CAIEntityMatrixIteratorT
|
|||
|
||||
inline uint32 CAIEntityMatrixIteratorTblLinear::size() const
|
||||
{
|
||||
return _tbl.size();
|
||||
return (uint32)_tbl.size();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -305,7 +305,7 @@ public:
|
|||
//@{
|
||||
virtual void addHealer(IAIEntityPhysicalHealer* healer) { _Healers.insert(healer); if (healer) healer->healerAdded(this); }
|
||||
virtual void delHealer(IAIEntityPhysicalHealer* healer) { _Healers.erase(healer); if (healer) healer->healerRemoved(this); }
|
||||
virtual int getHealerCount() { return _Healers.size(); }
|
||||
virtual int getHealerCount() { return (int)_Healers.size(); }
|
||||
//@}
|
||||
|
||||
static int _PlayerVisibilityDistance;
|
||||
|
|
|
@ -81,7 +81,7 @@ static bool s_attack(CAIEntityPhysical const& target, float const& dist,
|
|||
if (action->SelfAction() == self)
|
||||
phraseList.push_back(action);
|
||||
}
|
||||
uint32 const size = phraseList.size();
|
||||
uint32 const size = (uint32)phraseList.size();
|
||||
if (size>0)
|
||||
{
|
||||
nlassert(target.getRyzomType()!=debugCheckedType);
|
||||
|
|
|
@ -334,7 +334,7 @@ void CSpawnGroup::incSpawnedBot(CBot& spawnBot)
|
|||
{
|
||||
#if !FINAL_VERSION
|
||||
uint32 botIndex = spawnBot.getChildIndex();
|
||||
for (uint32 i=_BotsToRespawn.size(); i--; )
|
||||
for (uint32 i=(uint32)_BotsToRespawn.size(); i--; )
|
||||
{
|
||||
if (_BotsToRespawn[i].getBotIndex()==botIndex)
|
||||
{
|
||||
|
@ -344,7 +344,7 @@ void CSpawnGroup::incSpawnedBot(CBot& spawnBot)
|
|||
_BotsToRespawn.pop_back();
|
||||
}
|
||||
}
|
||||
for (uint32 i=_BotsToDespawn.size(); i--; )
|
||||
for (uint32 i=(uint32)_BotsToDespawn.size(); i--; )
|
||||
{
|
||||
if (_BotsToDespawn[i].getBotIndex()==botIndex)
|
||||
{
|
||||
|
|
|
@ -135,9 +135,9 @@ public:
|
|||
|
||||
uint32 nbSpawnedBot() const { return _NbSpawnedBot; }
|
||||
|
||||
uint32 nbBotToRespawn() const { return _BotsToRespawn.size(); }
|
||||
uint32 nbBotToRespawn() const { return (uint32)_BotsToRespawn.size(); }
|
||||
|
||||
uint32 nbBotToDespawn() const { return _BotsToDespawn.size(); }
|
||||
uint32 nbBotToDespawn() const { return (uint32)_BotsToDespawn.size(); }
|
||||
|
||||
bool isGroupAlive(uint32 const nbMoreKilledBot = 0) const;
|
||||
|
||||
|
|
|
@ -1008,7 +1008,7 @@ void CGrpFauna::setCyles(std::string const& cycles)
|
|||
{
|
||||
if (curCycle==~0)
|
||||
{
|
||||
curCycle = _Cycles.size();
|
||||
curCycle = (uint32)_Cycles.size();
|
||||
_Cycles.push_back(Cycle());
|
||||
}
|
||||
Cycle& CycleRef = _Cycles[curCycle];
|
||||
|
@ -1067,7 +1067,7 @@ void CGrpFauna::allocateBots()
|
|||
CPopulation* pop = *(it);
|
||||
uint count=0;
|
||||
|
||||
for (sint j=pop->size()-1;j>=0;j--)
|
||||
for (sint j=(sint)pop->size()-1;j>=0;j--)
|
||||
count+=(*pop)[j].getBotCount(getCountMultiplierFlag());
|
||||
|
||||
if (count>maxPopulation)
|
||||
|
|
|
@ -103,7 +103,7 @@ void CSpawnGroupNpc::resetSlowUpdateCycle()
|
|||
// Find the lowest bucket
|
||||
vector<uint32>::iterator it = std::min_element(_SlowUpdateBuckets.begin(), _SlowUpdateBuckets.end());
|
||||
// Assign it to the group
|
||||
_SlowUpdateCycle = it - _SlowUpdateBuckets.begin();
|
||||
_SlowUpdateCycle = (uint32)(it - _SlowUpdateBuckets.begin());
|
||||
// Fill the bucket with the group
|
||||
*it += bots().size();
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ void CAIInstance::updateZoneTrigger(CBotPlayer* player)
|
|||
FOREACH(it, CCont<CManager>, _Managers)
|
||||
{
|
||||
std::string name = it->getName();
|
||||
uint32 size = name.size();
|
||||
uint32 size = (uint32)name.size();
|
||||
const uint32 extensionSize = 13; // strlen(".zone_trigger");
|
||||
if (size >= 13 && name.substr(size - extensionSize, extensionSize) == ".zone_trigger" )
|
||||
{
|
||||
|
|
|
@ -837,7 +837,7 @@ void COutpost::createSquad(CGroupDesc<COutpostSquadFamily> const* groupDesc, COu
|
|||
// FOREACH(itState, CCont<CAIState>, stateMachine->states())
|
||||
for (size_t i=0; i<stateMachine->cstStates().size(); ++i)
|
||||
{
|
||||
CAIState* state = stateMachine->cstStates()[i];
|
||||
CAIState* state = stateMachine->cstStates()[(uint32)i];
|
||||
if (state->getName()==initialStateName)
|
||||
initialState = state;
|
||||
}
|
||||
|
|
|
@ -217,7 +217,7 @@ bool CBotPlayer::isAggressive() const
|
|||
void CBotPlayer::addAggroer(TDataSetRow const& row)
|
||||
{
|
||||
#if !FINAL_VERSION
|
||||
for (sint32 i=_AggroerList.size()-1;i>=0;i--)
|
||||
for (sint32 i=(sint32)_AggroerList.size()-1;i>=0;i--)
|
||||
nlassert(_AggroerList[i]!=row);
|
||||
#endif
|
||||
_AggroerList.push_back(row);
|
||||
|
@ -225,7 +225,7 @@ void CBotPlayer::addAggroer(TDataSetRow const& row)
|
|||
|
||||
void CBotPlayer::removeAggroer(TDataSetRow const& row)
|
||||
{
|
||||
for (sint32 i=_AggroerList.size()-1;i>=0;i--)
|
||||
for (sint32 i=(sint32)_AggroerList.size()-1;i>=0;i--)
|
||||
{
|
||||
if (_AggroerList[i]==row)
|
||||
{
|
||||
|
@ -407,7 +407,7 @@ void CManagerPlayer::getTeamIds(std::vector<uint16>& teamIds)
|
|||
void CBotPlayer::forgotAggroForAggroer()
|
||||
{
|
||||
|
||||
for (sint32 i=_AggroerList.size()-1; i>=0; --i)
|
||||
for (sint32 i=(sint32)_AggroerList.size()-1; i>=0; --i)
|
||||
{
|
||||
CAIEntityPhysical* const phys = CAIS::instance().getEntityPhysical(_AggroerList[i]);
|
||||
if (!phys)
|
||||
|
|
|
@ -946,7 +946,7 @@ void CGrpProfileGuard::updateProfile(uint ticksSinceLastUpdate)
|
|||
static uint32 s_maxBotsVisible = 0;
|
||||
static double s_maxBotsVisionTime = 0.0;
|
||||
|
||||
uint32 numBotsVisible = GuardVision.bots().size();
|
||||
uint32 numBotsVisible = (uint32)GuardVision.bots().size();
|
||||
double deltaVisionTime = CTime::ticksToSecond(endVisionTime-startVisionTime);
|
||||
bool bTellUs = false;
|
||||
if( s_maxBotsVisible < numBotsVisible )
|
||||
|
@ -1443,7 +1443,7 @@ void CGrpProfileGoToPoint::calcRatios()
|
|||
if (_Shape!=SHAPE_RECTANGLE)
|
||||
return;
|
||||
|
||||
const uint32 nbbots=_NpcList.size();
|
||||
const uint32 nbbots=(uint32)_NpcList.size();
|
||||
|
||||
_NbRange = (uint32) sqrt(_Ratio*nbbots);
|
||||
if (_NbRange==0)
|
||||
|
@ -1922,7 +1922,7 @@ void CGrpProfileFollowRoute::calcRatios ()
|
|||
if (_Shape!=SHAPE_RECTANGLE)
|
||||
return;
|
||||
|
||||
const uint32 nbbots=_NpcList.size();
|
||||
const uint32 nbbots=(uint32)_NpcList.size();
|
||||
|
||||
_NbRange = (uint32) sqrt(_Ratio*nbbots);
|
||||
if (_NbRange==0)
|
||||
|
@ -2574,8 +2574,8 @@ void CGrpProfileWander::updateProfile(uint ticksSinceLastUpdate)
|
|||
if (!_DestinationReachedAll)
|
||||
{
|
||||
|
||||
uint32 npcSize = pgrp.bots().size();
|
||||
uint32 reachedSize = _NpcDestinationReached.size();
|
||||
uint32 npcSize = (uint32)pgrp.bots().size();
|
||||
uint32 reachedSize = (uint32)_NpcDestinationReached.size();
|
||||
if (reachedSize!= npcSize)
|
||||
{
|
||||
_NpcDestinationReached.resize(npcSize);
|
||||
|
@ -2600,7 +2600,7 @@ void CGrpProfileWander::updateProfile(uint ticksSinceLastUpdate)
|
|||
if (!vision.players().empty())
|
||||
{
|
||||
// there are some player near, look at one if it is not behin us
|
||||
uint index = CAIS::rand16(vision.players().size());
|
||||
uint index = CAIS::rand16((uint32)vision.players().size());
|
||||
CAngle angle(CAngle::pi());
|
||||
|
||||
while (index < vision.players().size() && !target)
|
||||
|
@ -2619,7 +2619,7 @@ void CGrpProfileWander::updateProfile(uint ticksSinceLastUpdate)
|
|||
if (!target && !vision.bots().empty())
|
||||
{
|
||||
// there are some bots near, look at one if it is not behin us
|
||||
uint index = CAIS::rand16(vision.bots().size());
|
||||
uint index = CAIS::rand16((uint32)vision.bots().size());
|
||||
CAngle angle(CAngle::pi());
|
||||
|
||||
while (index < vision.bots().size() && !target)
|
||||
|
@ -2726,7 +2726,7 @@ void CGrpProfileWander::updateProfile(uint ticksSinceLastUpdate)
|
|||
pgrp.processStateEvent(pgrp.mgr().EventDestinationReachedFirst);
|
||||
}
|
||||
|
||||
uint32 first=0, last=_NpcDestinationReached.size();
|
||||
uint32 first=0, last=(uint32)_NpcDestinationReached.size();
|
||||
for ( ; first != last && _NpcDestinationReached[first]; ++first) {}
|
||||
|
||||
if (first == last)
|
||||
|
@ -2912,7 +2912,7 @@ void CGrpProfileWanderNoPrim::updateProfile(uint ticksSinceLastUpdate)
|
|||
if (!vision.players().empty())
|
||||
{
|
||||
// there are some player near, look at one if it is not behin us
|
||||
uint index = CAIS::rand16(vision.players().size());
|
||||
uint index = CAIS::rand16((uint32)vision.players().size());
|
||||
CAngle angle(CAngle::pi());
|
||||
|
||||
while (index < vision.players().size() && !target)
|
||||
|
@ -2931,7 +2931,7 @@ void CGrpProfileWanderNoPrim::updateProfile(uint ticksSinceLastUpdate)
|
|||
if (!target && !vision.bots().empty())
|
||||
{
|
||||
// there are some bots near, look at one if it is not behin us
|
||||
uint index = CAIS::rand16(vision.bots().size());
|
||||
uint index = CAIS::rand16((uint32)vision.bots().size());
|
||||
CAngle angle(CAngle::pi());
|
||||
|
||||
while (index < vision.bots().size() && !target)
|
||||
|
|
|
@ -11,8 +11,8 @@ using namespace NLMISC;
|
|||
void explodeSubStrings(const std::string &str, vector<std::string> &strings, sint32 parenthesis=0)
|
||||
{
|
||||
const std::string separators("(),");
|
||||
uint32 current=0;
|
||||
uint32 nextCurrent=current;
|
||||
string::size_type current=0;
|
||||
string::size_type nextCurrent=current;
|
||||
strings.clear();
|
||||
|
||||
nextCurrent=str.find_first_of(separators.c_str(), current);
|
||||
|
@ -989,7 +989,7 @@ public:
|
|||
vector<string> params;
|
||||
explodeSubStrings(inStr, params, -1);
|
||||
|
||||
const uint32 nbSubScript=params.size();
|
||||
const uint32 nbSubScript=(uint32)params.size();
|
||||
|
||||
std::vector<CSmartPtr<CFightScriptComp> > scriptComps;
|
||||
try
|
||||
|
@ -1060,7 +1060,7 @@ CFightScriptComp *CFightScriptCompReader::createScriptComp (const string &str) t
|
|||
{
|
||||
string scriptCompName;
|
||||
{
|
||||
const uint32 index=str.find_first_of("()", 0);
|
||||
const string::size_type index=str.find_first_of("()", 0);
|
||||
if (index==string::npos)
|
||||
throw ReadFightActionException("ScriptComp Creation of :"+str+" Failed because of bad Syntax");
|
||||
scriptCompName=str.substr(0,index);
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
|
@ -98,8 +98,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
>
|
||||
|
@ -146,8 +146,9 @@
|
|||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="libxml2.lib zlib.lib mysqlclient.lib"
|
||||
AdditionalDependencies="mysqlclient.lib"
|
||||
LinkIncremental="2"
|
||||
IgnoreDefaultLibraryNames="msvcrt.lib"
|
||||
GenerateDebugInformation="true"
|
||||
SubSystem="2"
|
||||
TargetMachine="17"
|
||||
|
@ -176,8 +177,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
|
@ -261,8 +262,8 @@
|
|||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
IntermediateDirectory="..\..\obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="1"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
|
|
|
@ -282,7 +282,7 @@ public:
|
|||
static uint size()
|
||||
{
|
||||
if (!initialised()) init();
|
||||
return Stack.size();
|
||||
return (uint)Stack.size();
|
||||
}
|
||||
|
||||
static void pop()
|
||||
|
|
|
@ -35,8 +35,8 @@ void stripWhitespaces(std::string& str)
|
|||
{
|
||||
if(str.empty()) return;
|
||||
|
||||
int startIndex = str.find_first_not_of(" ");
|
||||
int endIndex = str.find_last_not_of(" ");
|
||||
string::size_type startIndex = str.find_first_not_of(" ");
|
||||
string::size_type endIndex = str.find_last_not_of(" ");
|
||||
std::string tmp = str;
|
||||
str.erase();
|
||||
|
||||
|
@ -46,7 +46,7 @@ void stripWhitespaces(std::string& str)
|
|||
|
||||
std::string removeComment(const std::string &str)
|
||||
{
|
||||
uint newPos= str.find("//",0);
|
||||
string::size_type newPos= str.find("//",0);
|
||||
|
||||
if (newPos != string::npos)
|
||||
{
|
||||
|
|
|
@ -463,7 +463,7 @@ uint32 CCont<TChld>::getFirstFreeChild()
|
|||
if (!_Childs[index])
|
||||
break;
|
||||
}
|
||||
return index;
|
||||
return (uint32)index;
|
||||
}
|
||||
|
||||
template <class TChld>
|
||||
|
|
|
@ -823,7 +823,7 @@ public:
|
|||
fb->setModifier (_value, nrjIndex);
|
||||
return;
|
||||
}
|
||||
fb->setModifier (_value, _index);
|
||||
fb->setModifier (_value, (uint32)_index);
|
||||
}
|
||||
|
||||
virtual void doOnCellZone(CCellZone *cz) const
|
||||
|
@ -2874,7 +2874,7 @@ static int const MULTI_LINE_FORMATER_maxn = 78;
|
|||
void MULTI_LINE_FORMATER::pushTitle(std::vector<std::string>& container, std::string const& text)
|
||||
{
|
||||
int const maxn = MULTI_LINE_FORMATER_maxn;
|
||||
int n = maxn - text.length() - 4;
|
||||
int n = maxn - (int)text.length() - 4;
|
||||
container.push_back(" _/");
|
||||
container.back() += text;
|
||||
container.back() += "\\" + std::string(n, '_');
|
||||
|
|
|
@ -800,7 +800,7 @@ bool CContinent::spawn()
|
|||
// Spawn regions
|
||||
for (size_t i=0; i<_Regions.size(); ++i)
|
||||
{
|
||||
CRegion* region = _Regions[i];
|
||||
CRegion* region = _Regions[(uint32)i];
|
||||
if (!region)
|
||||
continue;
|
||||
region->spawn();
|
||||
|
@ -808,7 +808,7 @@ bool CContinent::spawn()
|
|||
// Spawn outposts
|
||||
for (size_t i=0; i<_Outposts.size(); ++i)
|
||||
{
|
||||
COutpost* outpost = _Outposts[i];
|
||||
COutpost* outpost = _Outposts[(uint32)i];
|
||||
if (!outpost)
|
||||
continue;
|
||||
outpost->spawn();
|
||||
|
@ -822,7 +822,7 @@ bool CContinent::despawn()
|
|||
// Despawn regions
|
||||
for (size_t i=0; i<_Regions.size(); ++i)
|
||||
{
|
||||
CRegion* region = _Regions[i];
|
||||
CRegion* region = _Regions[(uint32)i];
|
||||
if (!region)
|
||||
continue;
|
||||
region->despawn();
|
||||
|
@ -830,7 +830,7 @@ bool CContinent::despawn()
|
|||
// Despawn outposts
|
||||
for (size_t i=0; i<_Outposts.size(); ++i)
|
||||
{
|
||||
COutpost* outpost = _Outposts[i];
|
||||
COutpost* outpost = _Outposts[(uint32)i];
|
||||
if (!outpost)
|
||||
continue;
|
||||
outpost->despawn();
|
||||
|
@ -1113,7 +1113,7 @@ bool CRegion::spawn()
|
|||
// Spawn cellzones
|
||||
for (size_t j=0; j<_CellZones.size(); ++j)
|
||||
{
|
||||
CCellZone* cellZone = _CellZones[j];
|
||||
CCellZone* cellZone = _CellZones[(uint32)j];
|
||||
if (!cellZone)
|
||||
continue;
|
||||
cellZone->spawn();
|
||||
|
@ -1127,7 +1127,7 @@ bool CRegion::despawn()
|
|||
// Despawn cellzones
|
||||
for (size_t j=0; j<_CellZones.size(); ++j)
|
||||
{
|
||||
CCellZone* cellZone = _CellZones[j];
|
||||
CCellZone* cellZone = _CellZones[(uint32)j];
|
||||
if (!cellZone)
|
||||
continue;
|
||||
cellZone->despawn();
|
||||
|
@ -1760,7 +1760,7 @@ const CFaunaZone *CCellZone::lookupFaunaZone(const CPropertySet &activity, TASta
|
|||
}
|
||||
}
|
||||
if (candidates.size()>0)
|
||||
return candidates[CAIS::rand16(candidates.size())];
|
||||
return candidates[CAIS::rand16((uint32)candidates.size())];
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -1868,7 +1868,7 @@ const CNpcZone *CCellZone::lookupNpcZone(const CPropertySet &activity, size_t re
|
|||
}
|
||||
|
||||
if (candidates.size()>0)
|
||||
return candidates[CAIS::rand16(candidates.size())];
|
||||
return candidates[CAIS::rand16((uint32)candidates.size())];
|
||||
|
||||
// warning only once
|
||||
{
|
||||
|
@ -2099,7 +2099,7 @@ const CNpcZone *CCellZone::lookupNpcZoneScorer (std::vector<CCell*> cells, const
|
|||
|
||||
}
|
||||
if (candidates.size()>0)
|
||||
return candidates[CAIS::rand16(candidates.size())];
|
||||
return candidates[CAIS::rand16((uint32)candidates.size())];
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -2108,7 +2108,7 @@ bool CCellZone::spawn()
|
|||
// Spawn families
|
||||
for (size_t k=0; k<_Families.size(); ++k)
|
||||
{
|
||||
CFamilyBehavior* familyBehavior = _Families[k];
|
||||
CFamilyBehavior* familyBehavior = _Families[(uint32)k];
|
||||
if (!familyBehavior)
|
||||
continue;
|
||||
familyBehavior->spawn();
|
||||
|
@ -2122,7 +2122,7 @@ bool CCellZone::despawn()
|
|||
// Despawn families
|
||||
for (size_t k=0; k<_Families.size(); ++k)
|
||||
{
|
||||
CFamilyBehavior* familyBehavior = _Families[k];
|
||||
CFamilyBehavior* familyBehavior = _Families[(uint32)k];
|
||||
if (!familyBehavior)
|
||||
continue;
|
||||
familyBehavior->despawn();
|
||||
|
|
|
@ -339,9 +339,9 @@ inline
|
|||
CNpcZone* CCell::npcZone(size_t index)
|
||||
{
|
||||
if (index<_NpcZonePlaces.size())
|
||||
return _NpcZonePlaces[index];
|
||||
return _NpcZonePlaces[(uint32)index];
|
||||
else
|
||||
return _NpcZoneShapes[index];
|
||||
return _NpcZoneShapes[(uint32)index];
|
||||
}
|
||||
|
||||
inline
|
||||
|
@ -455,7 +455,7 @@ bool CGroupDesc<FamilyT>::setSheet(std::string const& sheetName)
|
|||
{
|
||||
for (size_t i=0; i<_MultiLevelSheetCount; ++i)
|
||||
{
|
||||
char letter = (i/4) + 'b';
|
||||
char letter = char(i/4) + 'b';
|
||||
char number = (i%4) + '1';
|
||||
std::string sheetNameLevel = sheetName+letter+number;
|
||||
// Compute sheet id
|
||||
|
@ -1240,7 +1240,7 @@ void CBotDesc<FamilyT>::setSheet(std::string const& sheetName)
|
|||
{
|
||||
for (size_t i=0; i<_MultiLevelSheetCount; ++i)
|
||||
{
|
||||
char letter = (i/4) + 'b';
|
||||
char letter = char(i/4) + 'b';
|
||||
char number = (i%4) + '1';
|
||||
std::string sheetNameLevel = sheetName+letter+number;
|
||||
// Compute sheet id
|
||||
|
|
|
@ -195,7 +195,7 @@ public:
|
|||
nlwarning("begin_state failed because state list is empty");
|
||||
return false;
|
||||
}
|
||||
uint i=CAIS::rand16(_states.size());
|
||||
uint i=CAIS::rand16((uint32)_states.size());
|
||||
|
||||
entity->getDebugHistory()->addHistory("GRP State Change: %s => %s",
|
||||
entity->getState()->getAliasNode()->fullName().c_str(),
|
||||
|
@ -458,7 +458,7 @@ public:
|
|||
|
||||
bool result=true;
|
||||
|
||||
const uint32 nbActions=_subActions.size();
|
||||
const uint32 nbActions=(uint32)_subActions.size();
|
||||
for (uint32 i=0;i<nbActions;i++)
|
||||
{
|
||||
if(_subActions[i]==NULL)
|
||||
|
@ -513,7 +513,7 @@ public:
|
|||
nlwarning("begin_punctual_state failed because state list is empty");
|
||||
return false;
|
||||
}
|
||||
entity->setNextPunctualState(_states[CAIS::rand16(_states.size())]);
|
||||
entity->setNextPunctualState(_states[CAIS::rand16((uint32)_states.size())]);
|
||||
entity->getDebugHistory()->addHistory("GRP BeginPunctual State: %s",
|
||||
entity->getNextPunctualState()->getAliasNode()->fullName().c_str());
|
||||
return true;
|
||||
|
@ -587,7 +587,7 @@ public:
|
|||
nlwarning("random_select failed because sub-action list is empty");
|
||||
return false;
|
||||
}
|
||||
_subActions[CAIS::rand16(_subActions.size())]->executeAction(entity,event);
|
||||
_subActions[CAIS::rand16((uint32)_subActions.size())]->executeAction(entity,event);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1193,7 +1193,7 @@ static CGroup* findGroup(const std::string& groupName,CStateMachine *stateMachin
|
|||
{
|
||||
CGroup *igroup=NULL;
|
||||
// Check if theres a group with the good name in the same stateMachine (and only one).
|
||||
for (sint32 grpIndex=grps.size()-1;grpIndex>=0;grpIndex--)
|
||||
for (sint32 grpIndex=(sint32)grps.size()-1;grpIndex>=0;grpIndex--)
|
||||
{
|
||||
if (grps[grpIndex]->getManager().getStateMachine()!=stateMachine)
|
||||
continue;
|
||||
|
@ -1376,7 +1376,7 @@ public:
|
|||
{
|
||||
CGroup *igroup=NULL;
|
||||
// Check if theres a group with the good name in the same stateMachine (and only one).
|
||||
for (sint32 grpIndex=grps.size()-1;grpIndex>=0;grpIndex--)
|
||||
for (sint32 grpIndex=(sint32)grps.size()-1;grpIndex>=0;grpIndex--)
|
||||
{
|
||||
if (grps[grpIndex]->getManager().getStateMachine()!=stateMachine)
|
||||
continue;
|
||||
|
@ -1822,7 +1822,7 @@ public:
|
|||
// r2 mode groupename:botname
|
||||
if (_R2)
|
||||
{
|
||||
uint first(0), last(_Groups.size());
|
||||
uint first = 0, last = (uint)_Groups.size();
|
||||
for (; first != last; ++first)
|
||||
{
|
||||
CGroup *grp = _Groups[first];
|
||||
|
@ -2165,7 +2165,7 @@ public:
|
|||
{
|
||||
// this line treated first ... in case we bomb out in one of the if(...) { ... return; } cases
|
||||
|
||||
uint32 nbArgs = args.size();
|
||||
uint32 nbArgs = (uint32)args.size();
|
||||
if (nbArgs==0)
|
||||
{
|
||||
nlwarning("switch_actions (%s) need an argument !", eventNode->fullName().c_str());
|
||||
|
@ -2943,7 +2943,7 @@ public:
|
|||
if(cstring=="DSS_")
|
||||
{
|
||||
_Id=true;
|
||||
NLMISC::CSString tmp = NLMISC::CSString (_Sentence).right(_Sentence.length()-4);
|
||||
NLMISC::CSString tmp = NLMISC::CSString (_Sentence).right((unsigned int)_Sentence.length()-4);
|
||||
NLMISC::CSString tmp2 = tmp.strtok(" ",false,false,false,false);
|
||||
_ScenarioId = atoi(tmp2.c_str());
|
||||
_Sentence = tmp;
|
||||
|
@ -3021,7 +3021,7 @@ public:
|
|||
else
|
||||
{
|
||||
float val;
|
||||
uint32 size=_Vars.size(),i=0;
|
||||
uint32 size=(uint32)_Vars.size(),i=0;
|
||||
std::vector<float> values;
|
||||
for(;i<size;++i)
|
||||
{
|
||||
|
|
|
@ -136,9 +136,9 @@ void CGrpProfileDynFollowPath::updateProfile(uint ticksSinceLastUpdate)
|
|||
_FollowRoute.setAIProfile(fr);
|
||||
|
||||
// faire gaffe à l'init du CGrpProfileFollowRouteSpawn dans le cadre statique .. :\ (adapter?)
|
||||
#ifdef NL_DEBUG
|
||||
nlassert(_CurrentZone==_CurrentRoad->startZone() || _CurrentZone==_CurrentRoad->endZone())
|
||||
#endif
|
||||
#ifdef NL_DEBUG
|
||||
nlassert(_CurrentZone==_CurrentRoad->startZone() || _CurrentZone==_CurrentRoad->endZone());
|
||||
#endif
|
||||
fr->setDirection(_CurrentRoad->startZone()==_CurrentZone); // CurrentZone);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -87,7 +87,7 @@ void CKnapsackSolver::optimizeOptimal()
|
|||
for (size_t i=0; i<size(); ++i)
|
||||
take[i] = false;
|
||||
// Run the optimization recursion
|
||||
optimizeOptimalRec(size()-1, _WMax, 0, take);
|
||||
optimizeOptimalRec((int)size()-1, _WMax, 0, take);
|
||||
// Delete temporary solution
|
||||
delete [] take;
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ void CKnapsackSolver::optimizeOptimalRec(int i, float w, float v, bool* take)
|
|||
void CKnapsackSolver::optimizeAddCheck()
|
||||
{
|
||||
H_AUTO(CKnapsackSolver_optimizeAddCheck);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
float w = _WMax - _WBest;
|
||||
while (i>=0)
|
||||
{
|
||||
|
@ -149,7 +149,7 @@ void CKnapsackSolver::optimizeAddCheck()
|
|||
void CKnapsackSolver::optimizeFullAddCheck()
|
||||
{
|
||||
H_AUTO(CKnapsackSolver_optimizeFullAddCheck);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
float w = _WMax - _WBest;
|
||||
while (i>=0)
|
||||
{
|
||||
|
@ -168,7 +168,7 @@ void CKnapsackSolver::optimizeFullAddCheck()
|
|||
void CKnapsackSolver::optimizeFastAddCheck()
|
||||
{
|
||||
H_AUTO(CKnapsackSolver_optimizeFastAddCheck);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
float w = _WMax - _WBest;
|
||||
while (i>=0)
|
||||
{
|
||||
|
@ -192,7 +192,7 @@ void CKnapsackSolver::optimizeFullSingleReplace()
|
|||
{
|
||||
optimizeFullAddCheck();
|
||||
H_AUTO(CKnapsackSolver_optimizeFullSingleReplace);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
while (i>=0)
|
||||
{
|
||||
// For each not taken ith element
|
||||
|
@ -202,7 +202,7 @@ void CKnapsackSolver::optimizeFullSingleReplace()
|
|||
float v = value(i);
|
||||
int worst = i;
|
||||
// Find the worst element that ith element can replace
|
||||
int j = size()-1;
|
||||
int j = (int)size()-1;
|
||||
while (j>=0)
|
||||
{
|
||||
if (i!=j && _Take[j] && w<=weight(j) && v>value(j))
|
||||
|
@ -239,7 +239,7 @@ void CKnapsackSolver::optimizeSingleReplace()
|
|||
if (_VBest > vBest)
|
||||
return;
|
||||
H_AUTO(CKnapsackSolver_optimizeSingleReplace);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
while (i>=0)
|
||||
{
|
||||
// For each not taken ith element
|
||||
|
@ -249,7 +249,7 @@ void CKnapsackSolver::optimizeSingleReplace()
|
|||
float v = value(i);
|
||||
int worst = i;
|
||||
// Find the worst element that ith element can replace
|
||||
int j = size()-1;
|
||||
int j = (int)size()-1;
|
||||
while (j>=0)
|
||||
{
|
||||
if (i!=j && _Take[j] && w<=weight(j) && v>value(j))
|
||||
|
@ -286,7 +286,7 @@ void CKnapsackSolver::optimizeFastSingleReplace()
|
|||
if (_VBest > vBest)
|
||||
return;
|
||||
H_AUTO(CKnapsackSolver_optimizeFastSingleReplace);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
while (i>=0)
|
||||
{
|
||||
// For each not taken ith element
|
||||
|
@ -296,7 +296,7 @@ void CKnapsackSolver::optimizeFastSingleReplace()
|
|||
float v = value(i);
|
||||
int worst = i;
|
||||
// Find the worst element that ith element can replace
|
||||
int j = size()-1;
|
||||
int j = (int)size()-1;
|
||||
while (j>=0)
|
||||
{
|
||||
if (i!=j && _Take[j] && w<=weight(j) && v>value(j))
|
||||
|
@ -334,7 +334,7 @@ void CKnapsackSolver::optimizeVeryFastSingleReplace()
|
|||
if (_VBest > vBest)
|
||||
return;
|
||||
H_AUTO(CKnapsackSolver_optimizeVeryFastSingleReplace);
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
while (i>=0)
|
||||
{
|
||||
// For each not taken ith element
|
||||
|
@ -344,7 +344,7 @@ void CKnapsackSolver::optimizeVeryFastSingleReplace()
|
|||
float v = value(i);
|
||||
int worst = i;
|
||||
// Find the worst element that ith element can replace
|
||||
int j = size()-1;
|
||||
int j = (int)size()-1;
|
||||
while (j>=0)
|
||||
{
|
||||
if (i!=j && _Take[j] && w<=weight(j) && v>value(j))
|
||||
|
@ -377,7 +377,7 @@ void CKnapsackSolver::optimizeTakeAll()
|
|||
H_AUTO(CKnapsackSolver_optimizeTakeAll);
|
||||
_WBest = 0;
|
||||
_VBest = 0;
|
||||
int i = size()-1;
|
||||
int i = (int)size()-1;
|
||||
while (i>=0)
|
||||
{
|
||||
_Take[i] = true;
|
||||
|
|
|
@ -785,7 +785,7 @@ void CAIAskForInfosOnEntityImp::callback (const std::string &name, NLNET::TServi
|
|||
|
||||
void CChangeActionFlagMsgImp::callback (const std::string &name, NLNET::TServiceId id)
|
||||
{
|
||||
const uint32 size = Entities.size();
|
||||
const uint32 size = (uint32)Entities.size();
|
||||
nlassert( size == ActionFlags.size() && size == Values.size());
|
||||
|
||||
for (uint32 i = 0 ; i < size ; ++i)
|
||||
|
|
|
@ -928,7 +928,7 @@ void getGroupTemplateWithFlags_sss_s(CStateInstance* entity, CScriptStack& stack
|
|||
return;
|
||||
}
|
||||
|
||||
CGroupDesc<CGroupFamily> const* groupDesc = groupDescs[CAIS::rand16(groupDescs.size())];
|
||||
CGroupDesc<CGroupFamily> const* groupDesc = groupDescs[CAIS::rand16((uint32)groupDescs.size())];
|
||||
stack.push(groupDesc->getFullName());
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -2109,7 +2109,7 @@ void npcSay_css_(CStateInstance* entity, CScriptStack& stack)
|
|||
if(prefix=="DSS_")
|
||||
{
|
||||
|
||||
NLMISC::CSString phrase = NLMISC::CSString (text).right(text.length()-4);
|
||||
NLMISC::CSString phrase = NLMISC::CSString (text).right((unsigned int)text.length()-4);
|
||||
NLMISC::CSString idStr = phrase.strtok(" ",false,false,false,false);
|
||||
uint32 scenarioId = atoi(idStr.c_str());
|
||||
forwardToDss(spawnBot->dataSetRow(), CChatGroup::say, phrase, scenarioId);
|
||||
|
@ -2118,7 +2118,7 @@ void npcSay_css_(CStateInstance* entity, CScriptStack& stack)
|
|||
|
||||
if (prefix=="RAW ")
|
||||
{
|
||||
NLMISC::CSString phrase = NLMISC::CSString (text).right(text.length()-4);
|
||||
NLMISC::CSString phrase = NLMISC::CSString (text).right((unsigned int)text.length()-4);
|
||||
npcChatToChannelSentence(spawnBot->dataSetRow(),CChatGroup::say, phrase);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -135,8 +135,8 @@ public:
|
|||
|
||||
void doOnFamily(CFamilyBehavior* fb) const
|
||||
{
|
||||
float value = fb->getModifier(_IndexSrc);
|
||||
fb->setModifier(value, _IndexDest);
|
||||
float value = fb->getModifier((uint32)_IndexSrc);
|
||||
fb->setModifier(value, (uint32)_IndexDest);
|
||||
}
|
||||
void doOnCellZone(CCellZone* cz) const { }
|
||||
|
||||
|
@ -167,7 +167,7 @@ public:
|
|||
fb->setModifier (_value, nrjIndex);
|
||||
return;
|
||||
}
|
||||
fb->setModifier (_value, _index);
|
||||
fb->setModifier (_value, (uint32)_index);
|
||||
}
|
||||
void doOnCellZone(CCellZone *cz) const { }
|
||||
|
||||
|
|
|
@ -68,15 +68,15 @@ void setEvent_f_(CStateInstance* entity, CScriptStack& stack)
|
|||
|
||||
if (IsRingShard.get())
|
||||
{
|
||||
if ( entity->isUserEventBlocked( eventIndex) ) { return; } // Do not allow uservent recursion on ring shard
|
||||
entity->blockUserEvent(eventIndex);
|
||||
if ( entity->isUserEventBlocked( (uint32)eventIndex) ) { return; } // Do not allow uservent recursion on ring shard
|
||||
entity->blockUserEvent((uint32)eventIndex);
|
||||
}
|
||||
|
||||
entity->processStateEvent(entity->getPersistentStateInstance()->getEventContainer().EventUserEvent[eventIndex]);
|
||||
|
||||
if (IsRingShard.get())
|
||||
{
|
||||
entity->unblockUserEvent(eventIndex);
|
||||
entity->unblockUserEvent((uint32)eventIndex);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -118,7 +118,7 @@ void setTimer_ff_(CStateInstance* si, CScriptStack& stack)
|
|||
nlassert(false);
|
||||
}
|
||||
|
||||
si->timerUser(timerId).set(deltaTime);
|
||||
si->timerUser((uint)timerId).set((uint32)deltaTime);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -183,7 +183,7 @@ void timerSetRyzomDaytime_fff_(CStateInstance* si, CScriptStack& stack)
|
|||
return;
|
||||
}
|
||||
|
||||
si->timerUser(timerId).set(timeTicks);
|
||||
si->timerUser((uint)timerId).set((uint32)timeTicks);
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -222,7 +222,7 @@ void timerIsEnabled_f_f(CStateInstance* si, CScriptStack& stack)
|
|||
return;
|
||||
}
|
||||
|
||||
float isEnabled = si->timerUser(timerId).isEnabled();
|
||||
float isEnabled = si->timerUser((uint)timerId).isEnabled();
|
||||
stack.push(isEnabled);
|
||||
}
|
||||
|
||||
|
@ -262,7 +262,7 @@ void timerIsSuspended_f_f(CStateInstance* si, CScriptStack& stack)
|
|||
return;
|
||||
}
|
||||
|
||||
float isSuspended = si->timerUser(timerId).isSuspended();
|
||||
float isSuspended = si->timerUser((uint)timerId).isSuspended();
|
||||
stack.push(isSuspended);
|
||||
}
|
||||
|
||||
|
@ -301,7 +301,7 @@ void timerSuspend_f_(CStateInstance* si, CScriptStack& stack)
|
|||
return;
|
||||
}
|
||||
|
||||
si->timerUser(timerId).suspend();
|
||||
si->timerUser((uint)timerId).suspend();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -339,7 +339,7 @@ void timerDisable_f_(CStateInstance* si, CScriptStack& stack)
|
|||
return;
|
||||
}
|
||||
|
||||
si->timerUser(timerId).disable();
|
||||
si->timerUser((uint)timerId).disable();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -377,7 +377,7 @@ void timerResume_f_(CStateInstance* si, CScriptStack& stack)
|
|||
return;
|
||||
}
|
||||
|
||||
si->timerUser(timerId).resume();
|
||||
si->timerUser((uint)timerId).resume();
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
|
@ -423,12 +423,12 @@ void timerAdd_ff_(CStateInstance* si, CScriptStack& stack)
|
|||
if (dt > 0)
|
||||
{
|
||||
uint32 dt2 = static_cast<uint32>(dt);
|
||||
si->timerUser(timerId).add(dt2);
|
||||
si->timerUser((uint)timerId).add(dt2);
|
||||
}
|
||||
else
|
||||
{
|
||||
uint32 dt2 = static_cast<uint32>(-dt);
|
||||
si->timerUser(timerId).sub(dt2);
|
||||
si->timerUser((uint)timerId).sub(dt2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -698,7 +698,7 @@ bool CPathCont::getPathForSource(CPathPosition& pathPos, RYAI_MAP_CRUNCH::CWorld
|
|||
|
||||
if (topoItFind!=topoItEnd)
|
||||
{
|
||||
pathPos._Index = topoItFind-topoItBegin;
|
||||
pathPos._Index = (uint)(topoItFind-topoItBegin);
|
||||
pathPos._Path = *it;
|
||||
return true;
|
||||
}
|
||||
|
@ -834,7 +834,7 @@ RYAI_MAP_CRUNCH::CTopology::TTopologyRef const& CPathPosition::getNextTopology()
|
|||
|
||||
bool CPathPosition::isFinished() const
|
||||
{
|
||||
uint32 size = _Path->topologiesPath().size();
|
||||
uint32 size = (uint32)_Path->topologiesPath().size();
|
||||
return (size==0 || _Index==size-1);
|
||||
}
|
||||
|
||||
|
|
|
@ -1117,7 +1117,7 @@ void CCompiler::dumpByteCode (const string &sourceCode, const string &fullName,
|
|||
{
|
||||
// Build a valid filename
|
||||
string tmp = fullName;
|
||||
int pos;
|
||||
string::size_type pos;
|
||||
while ((pos=tmp.find (':')) != string::npos)
|
||||
tmp[pos] = '-';
|
||||
|
||||
|
@ -2168,7 +2168,7 @@ bool compileExternalScript (const char *filename, const char *outputFilename)
|
|||
string content;
|
||||
char buffer[512];
|
||||
int read;
|
||||
while ((read = fread (buffer, 1, sizeof(buffer)-1, file)) == sizeof(buffer)-1)
|
||||
while ((read = (int)fread (buffer, 1, sizeof(buffer)-1, file)) == sizeof(buffer)-1)
|
||||
{
|
||||
buffer[read] = 0;
|
||||
content += buffer;
|
||||
|
|
|
@ -48,7 +48,7 @@ size_t makeStringId (const char *str)
|
|||
|
||||
void addSignature (char *dest, char s)
|
||||
{
|
||||
uint size = strlen (dest);
|
||||
uint size = (uint)strlen (dest);
|
||||
if (size+1 < (uint)(AICOMP_MAX_SIGNATURE))
|
||||
{
|
||||
dest[size] = s;
|
||||
|
@ -58,8 +58,8 @@ void addSignature (char *dest, char s)
|
|||
|
||||
void addSignature (char *dest, char *src)
|
||||
{
|
||||
uint size0 = strlen (dest);
|
||||
uint size1 = strlen (src);
|
||||
uint size0 = (uint)strlen (dest);
|
||||
uint size1 = (uint)strlen (src);
|
||||
if (size0+size1+1 < (uint)(AICOMP_MAX_SIGNATURE))
|
||||
strcat (dest, src);
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ bool aiCompile (std::vector<size_t> &dest, const char *script, const char *scrip
|
|||
aiLine = 1;
|
||||
aiErrorCount = 0;
|
||||
aiInputScript = script;
|
||||
aiInputScriptLength = strlen (script);
|
||||
aiInputScriptLength = (uint)strlen (script);
|
||||
strcpy (aiFile, scriptName);
|
||||
aiRoot = NULL;
|
||||
|
||||
|
@ -189,7 +189,7 @@ uint getChildrenByteCodeSize (const list<vector<size_t> * > *l)
|
|||
list<vector<size_t> * >::const_iterator ite = l->begin();
|
||||
while (ite != l->end())
|
||||
{
|
||||
size += (*ite)->size ();
|
||||
size += (uint)(*ite)->size ();
|
||||
ite++;
|
||||
}
|
||||
return size;
|
||||
|
@ -229,7 +229,7 @@ uint getChildrenByteCodeSize (const map<size_t, CCase *> *l)
|
|||
map<size_t, CCase *>::const_iterator ite = l->begin ();
|
||||
while (ite != l->end ())
|
||||
{
|
||||
size += ite->second->ByteCode->size();
|
||||
size += (uint)ite->second->ByteCode->size();
|
||||
ite ++;
|
||||
}
|
||||
return size;
|
||||
|
@ -528,22 +528,22 @@ statement: openStatement { $$ = $1; }
|
|||
|
||||
openStatement: TOKEN_IF TOKEN_LP condition TOKEN_RP statement
|
||||
{
|
||||
int sizeToJump = $5.ByteCode->size() + 1; // 1 jump instruction to escape
|
||||
int sizeToJump = (int)$5.ByteCode->size() + 1; // 1 jump instruction to escape
|
||||
NODE4 ($$, $3, CScriptVM::JE, sizeToJump, $5);
|
||||
}
|
||||
| TOKEN_IF TOKEN_LP condition statement {ERROR_DETECTED ($$, "missing ')' at the end of the if condition");}
|
||||
| TOKEN_IF condition TOKEN_RP statement {ERROR_DETECTED ($$, "missing '(' at the begining of the if condition");}
|
||||
| TOKEN_IF TOKEN_LP condition TOKEN_RP closedStatement TOKEN_ELSE openStatement
|
||||
{
|
||||
int sizeToJump0 = $5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump1 = $7.ByteCode->size() + 1; // 1 jump instruction to escape
|
||||
int sizeToJump0 = (int)$5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump1 = (int)$7.ByteCode->size() + 1; // 1 jump instruction to escape
|
||||
NODE7 ($$, $3, CScriptVM::JE, sizeToJump0, $5, CScriptVM::JUMP, sizeToJump1, $7);
|
||||
}
|
||||
| TOKEN_IF TOKEN_LP condition closedStatement TOKEN_ELSE openStatement { ERROR_DETECTED ($$, "missing ')' at the end of the if condition");}
|
||||
| TOKEN_IF condition TOKEN_RP closedStatement TOKEN_ELSE openStatement { ERROR_DETECTED ($$, "missing '(' at the begining of the if condition");}
|
||||
| TOKEN_WHILE TOKEN_LP condition TOKEN_RP openStatement
|
||||
{
|
||||
int sizeToJump0 = $5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump0 = (int)$5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump1 = -(int)$5.ByteCode->size() - 3 - (int)$3.ByteCode->size(); // 1 jump instruction to escape
|
||||
NODE6 ($$, $3, CScriptVM::JE, sizeToJump0, $5, CScriptVM::JUMP, sizeToJump1);
|
||||
}
|
||||
|
@ -552,15 +552,15 @@ openStatement: TOKEN_IF TOKEN_LP condition TOKEN_RP statement
|
|||
|
||||
closedStatement:TOKEN_IF TOKEN_LP condition TOKEN_RP closedStatement TOKEN_ELSE closedStatement
|
||||
{
|
||||
int sizeToJump0 = $5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump1 = $7.ByteCode->size() + 1; // 1 jump instruction to escape
|
||||
int sizeToJump0 = (int)$5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump1 = (int)$7.ByteCode->size() + 1; // 1 jump instruction to escape
|
||||
NODE7 ($$, $3, CScriptVM::JE, sizeToJump0, $5, CScriptVM::JUMP, sizeToJump1, $7);
|
||||
}
|
||||
| TOKEN_IF TOKEN_LP condition closedStatement TOKEN_ELSE closedStatement { ERROR_DETECTED ($$, "missing ')' at the end of the if condition");}
|
||||
| TOKEN_IF condition TOKEN_RP closedStatement TOKEN_ELSE closedStatement { ERROR_DETECTED ($$, "missing '(' at the end of the if condition");}
|
||||
| TOKEN_WHILE TOKEN_LP condition TOKEN_RP closedStatement
|
||||
{
|
||||
int sizeToJump0 = $5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump0 = (int)$5.ByteCode->size() + 3; // 2 jump instructions to escape
|
||||
int sizeToJump1 = -(int)$5.ByteCode->size() - 3 - (int)$3.ByteCode->size(); // 1 jump instruction to escape
|
||||
NODE6 ($$, $3, CScriptVM::JE, sizeToJump0, $5, CScriptVM::JUMP, sizeToJump1);
|
||||
}
|
||||
|
@ -697,7 +697,7 @@ switch: TOKEN_SWITCH TOKEN_LP expression TOKEN_RP TOKEN_LA cases TOKEN_RA
|
|||
|
||||
addNode ($$, _case->Case);
|
||||
addNode ($$, sizeToJump);
|
||||
sizeToJump += _case->ByteCode->size ();
|
||||
sizeToJump += (uint)_case->ByteCode->size ();
|
||||
sizeToJump += 1; // One for the RET
|
||||
sizeToJump -= 1; // One for the case key
|
||||
sizeToJump -= 1; // One for the offset
|
||||
|
|
|
@ -913,7 +913,7 @@ void CScriptVM::interpretCode(
|
|||
IScriptContext* const sc = stack.top();
|
||||
stack.pop();
|
||||
string const& funcName = CStringMapper::unmap(*((TStringId*)&opcodes[++index]));
|
||||
int mode = opcodes[++index];
|
||||
int mode = (int)opcodes[++index];
|
||||
string const& inParamsSig = CStringMapper::unmap(*((TStringId*)&opcodes[++index]));
|
||||
string const& outParamsSig = CStringMapper::unmap(*((TStringId*)&opcodes[++index]));
|
||||
if (sc)
|
||||
|
@ -949,7 +949,7 @@ void CScriptVM::interpretCode(
|
|||
continue;
|
||||
case RAND:
|
||||
{
|
||||
const size_t randIndex=rand32(opcodes[index+1]); // rand(RANDCOUNT)
|
||||
const size_t randIndex=rand32((uint32)opcodes[index+1]); // rand(RANDCOUNT)
|
||||
index+=3; // pass RAND + RANDCOUNT + 1
|
||||
|
||||
stack.push((int)(index+opcodes[index])); // push the absolute address for RET.
|
||||
|
|
|
@ -167,7 +167,7 @@ void AISHEETS::CActionList::serial(NLMISC::IStream& s)
|
|||
}
|
||||
else
|
||||
{
|
||||
uint32 nbSheet = _Actions.size();
|
||||
uint32 nbSheet = (uint32)_Actions.size();
|
||||
s.serial(nbSheet);
|
||||
for (uint32 i=0; i<nbSheet; ++i)
|
||||
{
|
||||
|
@ -777,7 +777,7 @@ void AISHEETS::CCreature::serial(NLMISC::IStream &s)
|
|||
}
|
||||
else
|
||||
{
|
||||
uint32 nbScript = _ScriptCompList.size();
|
||||
uint32 nbScript = (uint32)_ScriptCompList.size();
|
||||
s.serial(nbScript);
|
||||
for (uint32 index=0; index<nbScript; ++index)
|
||||
{
|
||||
|
@ -968,7 +968,7 @@ uint32 AISHEETS::CSheets::getGroupPropertiesIndex(std::string groupIndexName)
|
|||
std::map<string, uint32>::iterator it = _NameToGroupIndex.find(groupIndexName);
|
||||
if (it==_NameToGroupIndex.end())
|
||||
{
|
||||
uint32 groupIndex = _NameToGroupIndex.size();
|
||||
uint32 groupIndex = (uint32)_NameToGroupIndex.size();
|
||||
_NameToGroupIndex.insert(make_pair(groupIndexName, groupIndex));
|
||||
#if !FINAL_VERSION
|
||||
nldebug("GroupIndex Entry: %s %d", groupIndexName.c_str(), groupIndex);
|
||||
|
|
|
@ -116,7 +116,7 @@ public:
|
|||
bool hasPoints () const { return _Geometry.size()!=0; }
|
||||
|
||||
// accessors for path & patat geometry - whichever of the 2 exists
|
||||
uint32 numPoints() { return _Geometry.size(); }
|
||||
uint32 numPoints() { return (uint32)_Geometry.size(); }
|
||||
const TPosition *point(uint32 idx) { return idx<_Geometry.size()? &_Geometry[idx]: NULL; }
|
||||
|
||||
const std::vector<TPosition> &getGeometry() const { return _Geometry; }
|
||||
|
|
|
@ -105,7 +105,7 @@ I16x16Layer *I16x16Layer::compress(I16x16Layer *layer, sint32 blank)
|
|||
++((*it).second);
|
||||
}
|
||||
|
||||
uint msize = count.size();
|
||||
uint msize = (uint)count.size();
|
||||
|
||||
if (msize == 1)
|
||||
{
|
||||
|
|
|
@ -267,7 +267,7 @@ public:
|
|||
if (index>=data.size())
|
||||
{
|
||||
nlwarning("Unexpected end of input data in serialFromString()");
|
||||
index=data.size()+1;
|
||||
index=(uint)data.size()+1;
|
||||
return CArg();
|
||||
}
|
||||
}
|
||||
|
@ -279,7 +279,7 @@ public:
|
|||
if (index>data.size())
|
||||
{
|
||||
nlwarning("Unexpected end of input data in serialFromString()");
|
||||
index=data.size()+1;
|
||||
index=(uint)data.size()+1;
|
||||
return CArg();
|
||||
}
|
||||
return CArg(bool(data[index] == 1));
|
||||
|
@ -289,7 +289,7 @@ public:
|
|||
if (index>data.size())
|
||||
{
|
||||
nlwarning("Unexpected end of input data in serialFromString()");
|
||||
index=data.size()+1;
|
||||
index=(uint)data.size()+1;
|
||||
return CArg();
|
||||
}
|
||||
return CArg(((sint32 *)&data[index])[-1]);
|
||||
|
@ -299,7 +299,7 @@ public:
|
|||
if (index>data.size())
|
||||
{
|
||||
nlwarning("Unexpected end of input data in serialFromString()");
|
||||
index=data.size()+1;
|
||||
index=(uint)data.size()+1;
|
||||
return CArg();
|
||||
}
|
||||
return CArg(((float *)&data[index])[-1]);
|
||||
|
@ -315,7 +315,7 @@ public:
|
|||
break;
|
||||
}
|
||||
nlwarning("Unexpected type in serialFromString()");
|
||||
index=data.size()+1;
|
||||
index=(uint)data.size()+1;
|
||||
return CArg();
|
||||
}
|
||||
|
||||
|
|
|
@ -113,7 +113,7 @@ public:
|
|||
const NLMISC::CSmartPtr<CAIAliasDescriptionNode> &getParent () const { return _parent; }
|
||||
|
||||
// tree parse and search routines
|
||||
uint32 getChildCount () const { nlassert(this!=NULL); return _children.size(); }
|
||||
uint32 getChildCount () const { nlassert(this!=NULL); return (uint32)_children.size(); }
|
||||
CAIAliasDescriptionNode * const &getChild (uint32 idx) const { return _children[idx]; }
|
||||
const CAIAliasDescriptionNode *lookupAlias (uint32 alias) const
|
||||
{
|
||||
|
|
|
@ -82,7 +82,7 @@ struct CAiEventReport
|
|||
|
||||
inline void addDelta(AI_EVENT_REPORT::TAIReportStat stat, sint32 delta)
|
||||
{
|
||||
const uint size = AffectedStats.size();
|
||||
const uint size = (uint)AffectedStats.size();
|
||||
for (uint i = 0; i < size; ++i)
|
||||
{
|
||||
if (AffectedStats[i] == stat)
|
||||
|
|
|
@ -86,7 +86,7 @@ namespace AI_SHARE
|
|||
keyword=input.substr(i,k-i);
|
||||
|
||||
// find the end of the tail text
|
||||
for (k=input.size();k>j && isWhiteSpace(input[k-1]);) --k; // k points to character after end of tail text
|
||||
for (k=(uint)input.size();k>j && isWhiteSpace(input[k-1]);) --k; // k points to character after end of tail text
|
||||
|
||||
// find start of tail text
|
||||
do { ++j; } while(j<k && isWhiteSpace(input[j])); // j points to start of tail text
|
||||
|
@ -122,7 +122,7 @@ namespace AI_SHARE
|
|||
word=input.substr(i,j-i);
|
||||
|
||||
// find the end of the tail text
|
||||
for (i=input.size();i>j && isWhiteSpace(input[i-1]);) --i; // i points to character after end of tail text
|
||||
for (i=(uint)input.size();i>j && isWhiteSpace(input[i-1]);) --i; // i points to character after end of tail text
|
||||
|
||||
// find start of tail text
|
||||
do { ++j; } while(j<i && isWhiteSpace(input[j])); // j points to start of tail text
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
|
@ -88,7 +88,7 @@
|
|||
<Configuration
|
||||
Name="Debug|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
>
|
||||
|
@ -155,7 +155,7 @@
|
|||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
|
||||
IntermediateDirectory="$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
|
@ -226,7 +226,7 @@
|
|||
<Configuration
|
||||
Name="Release|x64"
|
||||
OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
|
||||
IntermediateDirectory="$(SolutionDir)obj64\$(ConfigurationName)\$(ProjectName)"
|
||||
ConfigurationType="4"
|
||||
CharacterSet="1"
|
||||
WholeProgramOptimization="0"
|
||||
|
|
|
@ -1461,7 +1461,7 @@ bool CWorldMap::findAStarPath(CWorldPosition const& start, CWorldPosition const&
|
|||
// Push it in the node list
|
||||
nodes.push_back(hnode);
|
||||
// Take it as first father
|
||||
uint father = nodes.size()-1;
|
||||
uint father = (uint)nodes.size()-1;
|
||||
|
||||
// Add start topology to visited nodes (father holds start topo node index for the moment)
|
||||
visited.insert(make_pair<CTopology::TTopologyId,uint>(startTopo, father));
|
||||
|
@ -1550,7 +1550,7 @@ bool CWorldMap::findAStarPath(CWorldPosition const& start, CWorldPosition const&
|
|||
visited.erase(itv);
|
||||
}
|
||||
// Create a new node for that cell
|
||||
child = nodes.size();
|
||||
child = (uint)nodes.size();
|
||||
nodes.push_back(CAStarHeapNode(next, father, distance, true));
|
||||
// Compute h(n) as an euclidian distance heuristic
|
||||
float heuristic = (endPoint-next.getCstTopologyNode().Position).norm();
|
||||
|
@ -1625,7 +1625,7 @@ bool CWorldMap::findAStarPath(const CTopology::TTopologyId &start, const CTopolo
|
|||
CAStarHeapNode hnode(startTopo,0xffffffff,0.0f,true);
|
||||
|
||||
nodes.push_back(hnode);
|
||||
uint father = nodes.size()-1;
|
||||
uint father = (uint)nodes.size()-1;
|
||||
|
||||
// add current to visited nodes
|
||||
visited.insert(make_pair<CTopology::TTopologyId,uint>(startTopo, father));
|
||||
|
@ -1682,7 +1682,7 @@ bool CWorldMap::findAStarPath(const CTopology::TTopologyId &start, const CTopolo
|
|||
if (itv == visited.end())
|
||||
{
|
||||
// if node is not open nor closed, create an entry
|
||||
child = nodes.size();
|
||||
child = (uint)nodes.size();
|
||||
nodes.push_back(cnode);
|
||||
}
|
||||
else
|
||||
|
@ -1759,7 +1759,7 @@ bool CWorldMap::findInsideAStarPath(CWorldPosition const& start, CWorldPosition
|
|||
// Create a heap node for the start point and push it in the node list
|
||||
nodes.push_back(CInsideAStarHeapNode(startNode, 0xffffffff, CDirection(), 0.f, true));
|
||||
// Take it as first father
|
||||
uint father = nodes.size()-1;
|
||||
uint father = (uint)nodes.size()-1;
|
||||
|
||||
// Add start node to visited nodes (father holds start node index for the moment)
|
||||
visited.insert(make_pair<CAStarNode, uint>(startNode, father));
|
||||
|
@ -1841,7 +1841,7 @@ bool CWorldMap::findInsideAStarPath(CWorldPosition const& start, CWorldPosition
|
|||
// Else create a new node
|
||||
else
|
||||
{
|
||||
child = nodes.size();
|
||||
child = (uint)nodes.size();
|
||||
nodes.push_back(CInsideAStarHeapNode(next, father, dir, distance, true));
|
||||
}
|
||||
// Compute h(n) as an euclidian distance heuristic
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue