hg/feature/sound
Matt Raykowski 15 years ago
commit 6eb4cfa546

@ -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 @@
#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;
// Use with commandline: ryzom_admin_service -A. -C. -L. --nobreak --fulladminname=admin_executor_service --shortadminname=AES
#include "admin_executor_service_default.cfg"
AESAliasName= "aes";
// ---- config local variables
//
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";
// 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;
// ---- service NeL variables (used by ConfigFile class)
#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,312 +1,69 @@
// 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)",
// SU - listen address of the SU service (for L5 connections)
SUAddress = SUHost+":"+SUPort;
/// 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 "ai_service_default.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+")",
};
// ---- service NeL variables (used by ConfigFile class)
/// A list of vars to graph for any service
GraphVars =
{
"ProcessUsedMemory", "60000", // every minute
};
AESAliasName= "ais_newbyland";
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" };
/* 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 = "";
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
// Log PD updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableLog = 1;
// ---- service NeL variables (used by CVariable class)
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
// ---- service custom variables (used by ConfigFile class)
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
#include "used_continents.cfg"
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
// Mirror limits
DatasetSizefe_temp = 600000;
DatasetSizefame = 26000;
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
// define the primitives configuration used. (AIS, EGS)
UsedPrimitives =
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
"newbieland_all",
};
// 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";
// ---- service custom variables (used by CVariable class)
// Will SaveFilesDirectory will be converted to a full path?
ConvertSaveFilesDirectoryToFullPath = 0;
NbPlayersLimit = PlayerLimit;
// 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";
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 = "../rrd_graphs";
ReadTranslationWork = 1;
TranslationWorkPath = "";
#include "backup_service_interface.cfg"
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" };
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
IsRingShard = 0;
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
// 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)",
/// 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;
#include "backup_service_default.cfg"
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
// ---- config local variables
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
// ---- service NeL variables (used by ConfigFile class)
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
AESAliasName = "bms_master";
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
Paths = {
".",
"../common/data_leveldesign",
};
// 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)
// BS - Root directory where data are backuped to
IncrementalBackupDirectory = "../incremental_backup";
// IOS - Directory to store ios.string_cache file
StringManagerCacheDirectory = "data_shard_local";
WebPort = 49970;
// IOS - Directory to log chat into
LogChatDirectory = "data_shard_local";
// ---- service custom variables (used by CVariable class)
// MFS - Directories
WebRootDirectory = "../www";
// BS - Root directory where data are backuped to
IncrementalBackupDirectory = "../incremental_backup";
// 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"
// ---- service NeL variables (used by ConfigFile class)
DontUseNS = 1;
DontUseNS = BSDontUseNS;
NSHost = BSNSHost;
// ---- service NeL variables (used by CVariable class)
ListeningPort = 49990;
// ---- 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;
// Listening port for the Web server to connect in
WebPort = 49898;
// 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;
SaveExtList = "_pdr.bin _pdr.xml .bin";
//BSFilePrefix = "R:/code/ryzom/r2_shard/";
//BSFileSubst = "r2_shard/";

@ -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 = "";
// SU - listen address of the SU service (for L5 connections)
SUAddress = SUHost+":"+SUPort;
// Log PD updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableLog = 1;
#include "entities_game_service_default.cfg"
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
// ---- service NeL variables (used by ConfigFile class)
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
AESAliasName= "egs";
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
StartCommands += {
"moduleManager.createModule AnimSessionManager asm",
"asm.plug gw",
};
// 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;
// start commands for setting up the exchange level caps of different ryzom shards
StartCommands += { "setShardExchangeLimit 302 250" };
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
SaveFilesDirectory = "";
StartCommands += { "displayShardExchangeLimits" };
StartCommands += { "EnableStlAllocatorChecker 0" };
// where to save generic shard data (ie: packed_sheet)
WriteFilesDirectory = "data_shard";
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" };
// Will SaveFilesDirectory will be converted to a full path?
ConvertSaveFilesDirectoryToFullPath = 0;
NSHost = "localhost";
// BS - Root directory where data are backuped to
IncrementalBackupDirectory = "../incremental_backup";
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
PathsNoRecurse= {"."};
// IOS - Directory to store ios.string_cache file
StringManagerCacheDirectory = "data_shard_local";
// IOS - Directory to log chat into
LogChatDirectory = "data_shard_local";
// ---- service NeL variables (used by CVariable class)
// MFS - Directories
WebRootDirectory = "../www";
// ---- service custom variables (used by ConfigFile class)
// Root directory where data from shards are stored into
SaveShardRoot = "save_shard/";
WebSrvHost = "http://localhost:55555/";
// 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;
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 =
// define the primitives configuration used.
UsedPrimitives =
{
"newbieland", "20",
"newbieland_all",
};
// define the primitives configuration used.
UsedPrimitives =
// 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 =
{
"newbieland_all",
"302", "Open", "open",
};
//UsedContinents = { "dummy", "10000" };
#include "entities_game_service_default.cfg"
PathsNoRecurse= {"."};
NeverAggroPriv = ":OBSERVER:G:SG:GM:SGM:EM:";
AlwaysInvisiblePriv = ":OBSERVER:EM:";
TimeBeforeDisconnection = 300;
/*
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,7 +1,5 @@
#include "common.cfg"
#ifndef DONT_USE_LGS_SLAVE
StartCommands +=
{
// L5 connect to the shard unifier
@ -24,64 +22,22 @@ StartCommands +=
"lgs_gw.transportAdd L3Client masterL3c",
// open the transport
"lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")",
};
#ifndef DONT_USE_LGS_SLAVE
StartCommands +=
{
// 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,280 +1,18 @@
// Use with commandline: frontend_service -C. -L. --nobreak --writepid
AESAliasName= "fes";
//AcceptInvalidCookie = 1;
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";
// ---- config local variables
// 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;
FSUDPPort = 47851;
FSListenHost = "open.ryzom.com";
// AIS Specifics --------------------------------------------------------------------------
// Entity Limits (AIS)
NbPetLimit = NbPlayersLimit*4;
NbFaunaLimit = 50000;
NbNpcLimit = 20000;
NbFxLimit = 500;
#include "frontend_service_default.cfg"
// This is the list of continent to use with their unique instance number
UsedContinents =
{
"newbieland", "20",
};
// ---- service NeL variables (used by ConfigFile class)
// define the primitives configuration used.
UsedPrimitives =
{
"newbieland_all",
};
FSUDPPort = 47851;
#include "frontend_service_default.cfg"
AESAliasName= "fes";
GraphVars += { "TickSpeedLoop", "0" };
GraphVars += { "TickSpeedLoop", "60000" };
@ -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 = "";
#include "gpm_service_default.cfg"
// Log PD updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableLog = 1;
// ---- config local variables
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
// ---- service NeL variables (used by ConfigFile class)
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
AESAliasName= "gpms";
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
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" };
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
// 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";
// ---- service NeL variables (used by CVariable class)
// 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 custom variables (used by ConfigFile class)
// 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;
#include "used_continents.cfg"
// 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;
// ---- service custom variables (used by CVariable class)
// 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 = "";
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" };
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
IsRingShard = 0;
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
// Disable ryzom verbose logging
VerboseMIRROR = 0;

@ -1,5 +1,5 @@
#include "common.cfg"
CheckPlayerSpeed = 0;
SecuritySpeedFactor = 1.5;

@ -1,180 +1,70 @@
// 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;
// SU - listen address of the SU service (for L5 connections)
SUAddress = SUHost+":"+SUPort;
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
#include "input_output_service_default.cfg"
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
// ---- service NeL variables (used by ConfigFile class)
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
AESAliasName= "ios";
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
// Create a char name mapper
StartCommands +=
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
"moduleManager.createModule CharNameMapper cnm",
"cnm.plug gw",
"moduleManager.createModule IOSRingModule iosrm",
"iosrm.plug gw",
};
// 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";
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
// Level limit for newb scenarios
FreeTrialSkillLimit=21;
// ---- service NeL variables (used by CVariable class)
// Level limit for newb scenarios
DefaultInterShardExchangeLevelCap=0;
// ---- service custom variables (used by ConfigFile class)
// Configureation for DSS
MaxNpcs = 300;
MaxStaticObjects = 200;
// 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 = { "" };
// 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;
HomeMainlandNames =
{
"302", "Open", "open",
};
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
SaveFilesDirectory = "";
// ---- service custom variables (used by CVariable class)
// where to save generic shard data (ie: packed_sheet)
WriteFilesDirectory = "data_shard";
// Set this shard as a ring (1) or mainland (0) shard (main behavior switch)
IsRingShard = 0;
// Will SaveFilesDirectory will be converted to a full path?
ConvertSaveFilesDirectoryToFullPath = 0;
// Disable ryzom verbose logging
VerboseMIRROR = 0;
// BS - Root directory where data are backuped to
IncrementalBackupDirectory = "../incremental_backup";
#include "backup_service_interface.cfg"
// IOS - Directory to store ios.string_cache file
StringManagerCacheDirectory = "data_shard_local";
@ -182,132 +72,10 @@ 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"
ReadTranslationWork = 1;
TranslationWorkPath = "";
VerboseStringManager = 0;
VerboseStringManagerParser = 0;
VerboseChat = 0;
VerboseChatManagement = 0;
VerboseNameTranslation = 0;
// Create a char name mapper
StartCommands +=
{
"moduleManager.createModule CharNameMapper cnm",
"cnm.plug gw",
"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",
};

@ -1,6 +1,6 @@
#include "common.cfg"
#ifndef DONT_USE_LGS_SLAVE
// ---- service NeL variables (used by ConfigFile class)
StartCommands +=
{
@ -23,52 +23,25 @@ StartCommands +=
"lgs_gw.transportAdd L3Client masterL3c",
// open the transport
"lgs_gw.transportCmd masterL3c(connect addr="+MasterLGSHost+":"+L3MasterLGSPort+")",
};
#ifndef DONT_USE_LGS_SLAVE
StartCommands +=
{
// 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,36 +49,36 @@ 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 = {};
// IOS don't use work directory by default
ReadTranslationWork = 0;
TranslationWorkPath = "translation/work";
// Global shard bot name translation file. You sould overide this
// in input_output_service.cfg to specialize the file
// depending on the shard main language.
BotNameTranslationFile = "bot_names.txt";
// Global shard event faction translation file. You sould override this
// in input_output_service.cfg to specialize the file
// depending on the shard main language.
EventFactionTranslationFile = "event_factions.txt";
// ---- 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,317 +1,50 @@
// Use with commandline: logger_service -C. -L. --nobreak --writepid
#include "logger_service_default.cfg"
AESAliasName= "lgs";
// ---- 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 = "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)",
LGSL3Port = 41292;
/// 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",
// ---- service NeL variables (used by ConfigFile class)
// 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+")",
};
AESAliasName= "lgs";
/// A list of vars to graph for any service
GraphVars =
StartCommands +=
{
"ProcessUsedMemory", "60000", // every minute
"moduleManager.createModule LoggerService ls",
"moduleManager.createModule StandardGateway lgs_gw",
"ls.plug lgs_gw",
"lgs_gw.transportAdd L3Server l3s",
"lgs_gw.transportOptions l3s(PeerInvisible)",
"lgs_gw.transportCmd l3s(open port="+ LGSL3Port +")",
};
DontUseNS = 1;
/* 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"
Paths = {
".",
"../common/data_leveldesign",
};
// 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;
// ---- service NeL variables (used by CVariable class)
// Where to save specific shard data (ie: player backup), relatively to SaveShardRoot
SaveFilesDirectory = "";
SaveFilesDirectory = "save_shard/";
// 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;
// ---- service custom variables (used by ConfigFile class)
// 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;
// Use Shard Unifier or not
DontUseSU = 0;
StartCommands +=
{
"moduleManager.createModule LoggerService ls",
"moduleManager.createModule StandardGateway lgs_gw",
"ls.plug lgs_gw",
"lgs_gw.transportAdd L3Server l3s",
"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",
"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" };
// ---- service custom variables (used by CVariable class)
Paths = {
".",
"../common/data_leveldesign",
};
#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;
#include "mail_forum_service_default.cfg"
// EGS Specifics --------------------------------------------------------------------------
// Entity Limits (EGS)
NbObjectsLimit = 2000;
NbNpcSpawnedByEGSLimit = 5000;
NbForageSourcesLimit = 10000;
NbToxicCloudsLimit = 5000;
// ---- config local variables
// AIS Specifics --------------------------------------------------------------------------
// Entity Limits (AIS)
NbPetLimit = NbPlayersLimit*4;
NbFaunaLimit = 50000;
NbNpcLimit = 20000;
NbFxLimit = 500;
// ---- service NeL variables (used by ConfigFile class)
// This is the list of continent to use with their unique instance number
UsedContinents =
{
"newbieland", "20",
};
AESAliasName= "mfs";
// define the primitives configuration used.
UsedPrimitives =
{
"newbieland_all",
Paths = {
".",
};
#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 = "";
// ---- service NeL variables (used by CVariable 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" };
// ---- service custom variables (used by ConfigFile class)
Paths = {
".",
};
// ---- service custom variables (used by CVariable class)

@ -1,7 +1,16 @@
#include "common.cfg"
// ---- 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";
DontUseNS = 1;
// 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 = "";
#include "mirror_service_default.cfg"
// Log PD updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableLog = 1;
// ---- config local variables
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
// ---- service NeL variables (used by ConfigFile class)
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
AESAliasName= "ms";
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
GraphVars += { "UserSpeedLoop", "0" };
GraphVars += { "UserSpeedLoop", "60000" };
GraphVars += { "L5CallbackCount", "0" };
GraphVars += { "L5CallbackCount", "60000" };
GraphVars += { "L5CallbackTime", "0" };
GraphVars += { "L5CallbackTime", "60000" };
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
Paths = {
".",
"../common/data_common",
"../common/data_leveldesign",
};
// Block the system in the tick service that provokes stalls when overloaded
WaitForBSThreshold=0;
// ---- service NeL variables (used by CVariable class)
IgnoredFiles = { "continent.cfg", "__read_me.txt", "bandit.html", "flora_primr.primitive" };
// ---- service custom variables (used by ConfigFile 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 = 6000000;
DefaultMaxExpectedBlockSize = 200000000; // 200 M !
DefaultMaxSentBlockSize = 200000000; // 200 M !
// 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;
// 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;
// ---- service custom variables (used by CVariable class)
// 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 = "";
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",
};

@ -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;
#include "naming_service_default.cfg"
// Log PD StringManager updates to log file (1 enabled, 0 disabled), see PDLogSaveDirectory to choose where to log
PDEnableStringLog = 0;
// ---- config local variables
// Number of seconds between 2 logs to file
PDLogUpdate = 10;
// ---- service NeL variables (used by ConfigFile class)
// MySGL wrapper strict mode - controls use of asserts if SQL requests fail
MSWStrictMode=0;
AESAliasName= "rns";
// This is the mapping for logical continent to physical one
ContinentNameTranslator =
{
"matis_newbie", "matis",
"zorai_newbie", "zorai",
"terre", "terre_oubliee",
"sources", "sources_interdites"
Paths = {
"data_www"
};
// 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;
// ---- service NeL variables (used by CVariable class)
// MFS config
WebSrvUsersDirectory = "";
WebRootDirectory = "save_shard/www";
HoFHDTDirectory = "/local/www/hof/hdt";
// ---- service custom variables (used by ConfigFile class)
// 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 = "";
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 = {
"data_www"
};
// ---- service custom variables (used by CVariable class)

@ -1,279 +1,19 @@
// Use with commandline: session_browser_server -C. -L. --nobreak --writepid
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";
#include "session_browser_server_default.cfg"
// IOS - Directory to log chat into
LogChatDirectory = "data_shard_local";
// ---- config local variables
// MFS - Directories
WebRootDirectory = "../www";
#include "sql.cfg"
// Root directory where data from shards are stored into
SaveShardRoot = "save_shard/";
SBSPort = 48851;
// 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;
SUHost = "localhost";
// AIS Specifics --------------------------------------------------------------------------
// Entity Limits (AIS)
NbPetLimit = NbPlayersLimit*4;
NbFaunaLimit = 50000;
NbNpcLimit = 20000;
NbFxLimit = 500;
// ---- service NeL variables (used by ConfigFile class)
// This is the list of continent to use with their unique instance number
UsedContinents =
{
"newbieland", "20",
};
AESAliasName= "sbs";
// 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",
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",
};
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" };
// The max number of ring points (aka ring access) for each ecosystem
MaxRingPoints = "A1:D7:F7:J8:L6:R13";
Paths = {
".",
};
// ---- service custom variables (used by CVariable class)

@ -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,277 +1,16 @@
// Use with commandline: shard_unifier_service -C. -L. --nobreak --writepid
AESAliasName= "su";
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";
// ---- config local variables
// 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;
SUGlobalPort = 50503;
// EGS Specifics --------------------------------------------------------------------------
// Entity Limits (EGS)
NbObjectsLimit = 2000;
NbNpcSpawnedByEGSLimit = 5000;
NbForageSourcesLimit = 10000;
NbToxicCloudsLimit = 5000;
#include "sql.cfg"
// AIS Specifics --------------------------------------------------------------------------
// Entity Limits (AIS)
NbPetLimit = NbPlayersLimit*4;
NbFaunaLimit = 50000;
NbNpcLimit = 20000;
NbFxLimit = 500;
#include "shard_unifier_service_default.cfg"
// This is the list of continent to use with their unique instance number
UsedContinents =
{
"newbieland", "20",
};
// ---- service NeL variables (used by ConfigFile class)
// define the primitives configuration used.
UsedPrimitives =
{
"newbieland_all",
};
#include "shard_unifier_service_default.cfg"
AESAliasName= "su";
// Create a command executor
StartCommands +=
@ -279,6 +18,7 @@ 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",
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",
"302", "Open", "open",
};
RRDVarPath = "save_shard/rrd_graphs";
ReadTranslationWork = 1;
TranslationWorkPath = "";
DontUseAES=1;
RingRPEnabled=0;
// ---- service custom variables (used by CVariable class)
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 = {
".",
};
// The privileges needed to access any ring session
PrivilegeForSessionAccess = ":DEV:SGM:GM:SG:";
#include "backup_service_interface.cfg"

@ -1,11 +1,7 @@
#include "common.cfg"
NSHost = SUNSHost;
DontUseNS = SUDontUseNS;
// SU - listen address of the SU service (for L5 connections)
SUAddress = SUHost+":"+SUPort;
DontUseNS = 1;
StartCommands +=
{
// Create a gateway for global interconnection

@ -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"

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save