• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Linux linux crash on player save

Pawcio6

Member
Joined
Sep 26, 2009
Messages
143
Solutions
4
Reaction score
15
Hi
I configure debian 8 VPS, site with database works fine but when i compiled my custom 0.3.6 source i had some errors with unused variables and some loop integrate problem but when i check the line it says that this line is wrong
Code:
    for(int8_t i = 0; i <= 13; i++)
        talkState[i] = false;
i dont even know what can be wrong with that but still the file is creating so i just ignore and continue. Engine is running correctly, firstly i had crash immediately after player login but i make config line displayPlayersLogging = true to false and it worked i could log into but the server have much weird problems like server no responding for sending chat msg and when player trying to save on logout it crash. The console msg on crash is
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff2ef3700 (LWP 8327)]
IOLoginData::savePlayer (this=this@entry=0x8ab280 <IOLoginData::getInstance()::instance>,
    player=player@entry=0x7fffc42fd950, preSave=preSave@entry=true, shallow=shallow@entry=false)
    at iologindata.cpp:896
896                     if(Item* item = player->inventory[slotId])
my savePlayer function is
Code:
bool IOLoginData::savePlayer(Player* player, bool preSave/* = true*/, bool shallow/* = false*/)
{

}
The makefile.am
Code:
noinst_PROGRAMS = theforgottenserver

CXXFLAGS = -g -O1
AM_CXXFLAGS = $(XML_CPPFLAGS) $(OTSERV_FLAGS) $(LUA_CFLAGS) $(DEBUG_FLAGS)\
$(MYSQL_FLAGS) $(SQLITE_FLAGS) $(ODBC_FLAGS) $(PGSQL_FLAGS)\
$(PROFILER_FLAGS) $(OPTIONAL_FLAGS) -D_THREAD_SAFE -D_REENTRANT -Wall -lpthread

theforgottenserver_LDADD = $(LUA_LIBS)

if USE_MYSQL
MAYBE_MYSQL = databasemysql.cpp databasemysql.h
endif
if USE_SQLITE
MAYBE_SQLITE = databasesqlite.cpp databasesqlite.h
endif
if USE_PGSQL
MAYBE_PGSQL = databasepgsql.cpp databasepgsql.h
endif
if USE_ODBC
MAYBE_ODBC = databaseodbc.cpp databaseodbc.h
endif
if LOGIN_SERVER
MAYBE_LOGIN = gameservers.cpp gameservers.h
endif
if REMOTE_CONTROL
MAYBE_REMOTE = admin.cpp admin.h
endif

theforgottenserver_SOURCES = account.h actions.cpp actions.h $(MAYBE_REMOTE) \
   allocator.cpp allocator.h attributesmod.cpp attributesmod.h baseevents.cpp baseevents.h beds.cpp \
   beds.h chat.cpp chat.h combat.cpp combat.h condition.cpp condition.h \
   config.h configmanager.cpp configmanager.h connection.cpp \
   connection.h const.h container.cpp container.h creature.cpp \
   creature.h creatureevent.cpp creatureevent.h cylinder.cpp cylinder.h \
   database.cpp database.h databasemanager.cpp databasemanager.h \
   $(MAYBE_MYSQL) $(MAYBE_SQLITE) $(MAYBE_PGSQL) $(MAYBE_ODBC) \
   depot.cpp depot.h exception.cpp exception.h fileloader.cpp \
   fileloader.h game.cpp game.h $(MAYBE_LOGIN) globalevent.cpp \
   globalevent.h group.cpp group.h gui.cpp gui.h house.cpp house.h \
   housetile.cpp housetile.h inputbox.cpp inputbox.h ioban.cpp ioban.h \
   ioguild.cpp ioguild.h iologindata.cpp iologindata.h iomap.cpp \
   iomapserialize.cpp iomapserialize.h iomarket.cpp iomarket.h item.cpp item.h itemattributes.cpp \
   itemattributes.h items.cpp items.h luascript.cpp luascript.h \
   mailbox.cpp mailbox.h map.cpp map.h md5.cpp md5.h monster.cpp \
   monster.h monsters.cpp monsters.h movement.cpp movement.h \
   networkmessage.cpp networkmessage.h npc.cpp npc.h otpch.h \
   otserv.cpp otsystem.h outfit.cpp outfit.h outputmessage.cpp \
   outputmessage.h party.cpp party.h playerbox.cpp playerbox.h \
   player.cpp player.h position.cpp position.h protocol.cpp protocol.h \
   protocolgame.cpp protocolgame.h protocollogin.cpp protocollogin.h \
   protocolold.cpp protocolold.h quests.cpp quests.h raids.cpp raids.h \
   resources.h rsa.cpp rsa.h scheduler.cpp scheduler.h scriptmanager.cpp \
   scriptmanager.h server.cpp server.h sha1.cpp sha1.h spawn.cpp spawn.h \
   spells.cpp spells.h status.cpp status.h talkaction.cpp talkaction.h \
   tasks.cpp tasks.h teleport.cpp teleport.h templates.h textlogger.cpp \
   textlogger.h thing.cpp thing.h tile.cpp tile.h tools.cpp tools.h \
   town.h trashholder.cpp trashholder.h waitlist.cpp waitlist.h \
   waypoints.h weapons.cpp weapons.h vocation.cpp vocation.h
i used this commands to compile
Code:
    apt-get install autoconf build-essential pkg-config automake libboost-all-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libsqlite3-dev
    cd /forgottenserver036-master
    chmod -R 777 src
    cd src
    ./autogen.sh && ./configure --enable-mysql --enable-root-permission && make
i dont worked with linux before i dont know what should i do now since windows working perfectly fine, any ideas?
 
Last edited:
ok i kinda fix it after reinstalling system to debian 7 probably some compile files like debianfix.sh or something isnt compatible with debian 8 if someone would have some problems with crashing on startup turn off all log files in config.lua it helped me.
 
Back
Top