• 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!

Serwer 8.1 + source

gepard15

New Member
Joined
Feb 22, 2011
Messages
27
Reaction score
2
Witam.
Niedawno postanowiłem postawić OTS. Mam serwer (linux) lecz nie mogę znaleźć source pod TFS 8.1.
Moje pytanie brzmi:
- Jaki wgl serwer byłby najlepszy do postawienia sewera 8.1?
- Czy ktoś posiada source pod 8.1??
Za odpowiedzi dziękuję :)
Pozdrawiam.
 
Dziękuję Bardzo :)
A mam jeszcze jedno pytanie.
Ma ktoś jakiś sprawdzony poradnik kompilacji TFS pod linux debian?
Mam problem też przy nadawaniu uprawnień (chmod). Chodzi o to, że w tym source nie ma plików autogen.sh oraz bulid
@edyt
Po wpisaniu komendy "make" w folderze z source, który pobrałem w powyższego linku, wyskakuje następujący błąd:
Code:
root@xxx:/0.3a1.r7# make
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c game.cpp
game.cpp: In member function 'Item* Game::findItemOfType(Cylinder*, uint16_t, bool, int32_t)':
game.cpp:1423:10: error: converting 'false' to pointer type 'Item*' [-Werror=conversion-null]
  return false;
          ^
cc1plus: all warnings being treated as errors
make: *** [game.o] Error 1
root@xxx:/0.3a1.r7#
 
Last edited:
Spróbuj doinstalować GCC, poprzez komendę:
Code:
apt-get update
apt-get install gcc-4.7 g++-4.7
na Ubuntu dodajesz do tego "sudo",
potem
Code:
make clean
make
powinno pomóc :)
 
zrobiłem jak napisałeś. niestety :(
Code:
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c account.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c actions.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c admin.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c allocator.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c baseevents.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c beds.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c creature.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c creatureevent.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c chat.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c combat.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c commands.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c condition.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c configmanager.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c connection.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c container.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c cylinder.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c database.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c databasemysql.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c databasesqlite.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c depot.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c exception.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c fileloader.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c game.cpp
game.cpp: In member function 'Item* Game::findItemOfType(Cylinder*, uint16_t, bool, int32_t)':
game.cpp:1423:10: error: converting 'false' to pointer type 'Item*' [-Werror=conversion-null]
  return false;
  ^
cc1plus: all warnings being treated as errors
make: *** [game.o] Error 1
 
Z problem powyższym się uporałem niestety napotkałem kolejny :/

Code:
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c account.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c actions.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c admin.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c allocator.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c baseevents.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c beds.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c creature.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c creatureevent.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c chat.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c combat.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c commands.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c condition.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c configmanager.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c connection.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c container.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c cylinder.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c database.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c databasemysql.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c databasesqlite.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c depot.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c exception.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c fileloader.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c game.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c gameservers.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c globalevent.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c gui.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c house.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c housetile.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c ioban.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c ioguild.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c iologindata.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c iomap.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c iomapserialize.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c inputbox.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c item.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c items.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c logger.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c luascript.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c mailbox.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c map.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c md5.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c monster.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c monsters.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c movement.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c networkmessage.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c npc.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c otserv.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c outfit.cpp
g++ -I. -I/usr/include/libxml2 -I/usr/include/lua5.1 -Werror -Wall -O1 -D__NO_HOMEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -D__ENABLE_SERVER_DIAGNOSTIC__ -O1 -c outputmessage.cpp
outputmessage.cpp: In member function 'void OutputMessagePool::releaseMessage(OutputMessage*, bool)':
outputmessage.cpp:174: error: 'cout' is not a member of 'std'
outputmessage.cpp:182: error: 'cout' is not a member of 'std'
outputmessage.cpp:185: error: 'cout' is not a member of 'std'
make: *** [outputmessage.o] Error 1

Wie ktoś o co chodzi? W sumie ten sam tylko trochę dalej...
 
Last edited:
Zawartość pliku:
Code:
//////////////////////////////////////////////////////////////////////
// OpenTibia - an opensource roleplaying game
//////////////////////////////////////////////////////////////////////
//
//////////////////////////////////////////////////////////////////////
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
//////////////////////////////////////////////////////////////////////
#include "otpch.h"

#include "outputmessage.h"
#include "connection.h"
#include "protocol.h"

OutputMessage::OutputMessage()
{
    freeMessage();
}

//*********** OutputMessagePool ****************//

OutputMessagePool::OutputMessagePool()
{
    OTSYS_THREAD_LOCKVARINIT(m_outputPoolLock);
    for(uint32_t i = 0; i < OUTPUT_POOL_SIZE; ++i)
    {
        OutputMessage* msg = new OutputMessage();
        m_outputMessages.push_back(msg);
#ifdef __TRACK_NETWORK__
        m_allOutputMessages.push_back(msg);
#endif
    }

    m_frameTime = OTSYS_TIME();
}

void OutputMessagePool::startExecutionFrame()
{
    m_frameTime = OTSYS_TIME();
}

OutputMessagePool::~OutputMessagePool()
{
    OutputMessageVector::iterator it;
    for(it = m_outputMessages.begin(); it != m_outputMessages.end(); ++it)
        delete *it;

    m_outputMessages.clear();
    OTSYS_THREAD_LOCKVARRELEASE(m_outputPoolLock);
}

void OutputMessagePool::send(OutputMessage* msg)
{
    OTSYS_THREAD_LOCK(m_outputPoolLock, "");
    OutputMessage::OutputMessageState state = msg->getState();
    OTSYS_THREAD_UNLOCK(m_outputPoolLock, "");

    if(state == OutputMessage::STATE_ALLOCATED_NO_AUTOSEND)
    {
        #ifdef __DEBUG_NET_DETAIL__
        std::cout << "Sending message - SINGLE" << std::endl;
        #endif

        if(msg->getConnection())
        {
            if(msg->getConnection()->send(msg))
            {
                //Note: if we ever decide to change how the pool works this will have to change
                OTSYS_THREAD_LOCK(m_outputPoolLock, "");
                if(msg->getState() != OutputMessage::STATE_FREE)
                    msg->setState(OutputMessage::STATE_WAITING);
                OTSYS_THREAD_UNLOCK(m_outputPoolLock, "");
            }
            else
                internalReleaseMessage(msg);
        }
        else
        {
            #ifdef __DEBUG_NET__
            std::cout << "Error: [OutputMessagePool::send] NULL connection." << std::endl;
            #endif
        }
    }
    else
    {
        #ifdef __DEBUG_NET__
        std::cout << "Warning: [OutputMessagePool::send] State != STATE_ALLOCATED_NO_AUTOSEND" << std::endl;
        #endif
    }
}

void OutputMessagePool::sendAll()
{
    OTSYS_THREAD_LOCK_CLASS lockClass(m_outputPoolLock);
    for(OutputMessageVector::iterator it = m_autoSendOutputMessages.begin(); it != m_autoSendOutputMessages.end(); )
    {
        #ifdef __NO_PLAYER_SENDBUFFER__
        //use this define only for debugging
        bool v = 1;
        #else
        //It will send only messages bigger then 1 kb or with a lifetime greater than 10 ms
        bool v = (*it)->getMessageLength() > 1024 || (m_frameTime - (*it)->getFrame() > 10);
        #endif
        if(v)
        {
            #ifdef __DEBUG_NET_DETAIL__
            std::cout << "Sending message - ALL" << std::endl;
            #endif

            if((*it)->getConnection())
            {
                if((*it)->getConnection()->send(*it))
                {
                    // Note: if we ever decide to change how the pool works this will have to change
                    if((*it)->getState() != OutputMessage::STATE_FREE)
                        (*it)->setState(OutputMessage::STATE_WAITING);
                }
                else
                    internalReleaseMessage(*it);
            }
            else
            {
                #ifdef __DEBUG_NET__
                std::cout << "Error: [OutputMessagePool::send] NULL connection." << std::endl;
                #endif
            }
            m_autoSendOutputMessages.erase(it++);
        }
        else
            ++it;
    }
}

void OutputMessagePool::internalReleaseMessage(OutputMessage* msg)
{
    //Simulate that the message is sent and then liberate it
    msg->getProtocol()->onSendMessage(msg);
    msg->freeMessage();
    m_outputMessages.push_back(msg);
}

void OutputMessagePool::releaseMessage(OutputMessage* msg, bool sent /*= false*/)
{
    OTSYS_THREAD_LOCK_CLASS lockClass(m_outputPoolLock);
    switch(msg->getState())
    {
        case OutputMessage::STATE_ALLOCATED:
        {
            OutputMessageVector::iterator it =
                std::find(m_autoSendOutputMessages.begin(), m_autoSendOutputMessages.end(), msg);
            if(it != m_autoSendOutputMessages.end())
                m_autoSendOutputMessages.erase(it);
            msg->freeMessage();
            m_outputMessages.push_back(msg);
            break;
        }
        case OutputMessage::STATE_ALLOCATED_NO_AUTOSEND:
            msg->freeMessage();
            m_outputMessages.push_back(msg);
            break;
        case OutputMessage::STATE_WAITING:
            if(!sent)
                std::cout << "Error: [OutputMessagePool::releaseMessage] Releasing STATE_WAITING OutputMessage." << std::endl;
            else
            {
                msg->freeMessage();
                m_outputMessages.push_back(msg);
            }
            break;
        case OutputMessage::STATE_FREE:
            std::cout << "Error: [OutputMessagePool::releaseMessage] Releasing STATE_FREE OutputMessage." << std::endl;
            break;
        default:
            std::cout << "Error: [OutputMessagePool::releaseMessage] Releasing STATE_?(" << msg->getState() <<") OutputMessage." << std::endl;
            break;
    }
}

OutputMessage* OutputMessagePool::getOutputMessage(Protocol* protocol, bool autosend /*= true*/)
{
    #ifdef __DEBUG_NET__
    if(protocol->getConnection() == NULL)
        std::cout << "Warning: [OutputMessagePool::getOutputMessage] NULL connection." << std::endl;
    #endif
    #ifdef __DEBUG_NET_DETAIL__
    std::cout << "request output message - auto = " << autosend << std::endl;
    #endif

    OTSYS_THREAD_LOCK_CLASS lockClass(m_outputPoolLock);
    OutputMessage* outputmessage;
    if(m_outputMessages.empty())
    {
#ifdef __TRACK_NETWORK__
        if(m_allOutputMessages.size() >= 5000)
        {
            std::cout << "High usage of outputmessages: " << std::endl;
            m_allOutputMessages.back()->PrintTrace();
        }
#endif
        outputmessage = new OutputMessage;
#ifdef __TRACK_NETWORK__
        m_allOutputMessages.push_back(outputmessage);
#endif
    }
    else
    {
        outputmessage = m_outputMessages.back();
#ifdef __TRACK_NETWORK__
        // Print message trace
        if(outputmessage->getState() != OutputMessage::STATE_FREE)
        {
            std::cout << "Using allocated message, message trace:" << std::endl;
            outputmessage->PrintTrace();
        }
#else
        assert(outputmessage->getState() == OutputMessage::STATE_FREE);
#endif
        m_outputMessages.pop_back();
    }

    configureOutputMessage(outputmessage, protocol, autosend);
    return outputmessage;
}

void OutputMessagePool::configureOutputMessage(OutputMessage* msg, Protocol* protocol, bool autosend)
{
    msg->Reset();
    if(autosend)
    {
        msg->setState(OutputMessage::STATE_ALLOCATED);
        m_autoSendOutputMessages.push_back(msg);
    }
    else
        msg->setState(OutputMessage::STATE_ALLOCATED_NO_AUTOSEND);

    msg->setProtocol(protocol);
    msg->setConnection(protocol->getConnection());
    msg->setFrame(m_frameTime);
}
Fakt nie ma "#include <iostream>"
Może opisz proces w jaki "próbuje" kompilować.
 
Sory za post ;p
Kolejny problem, który napotkałem to:
Code:
MEDIR_CONF__ -D__USE_MYSQL__ -D__USE_SQLITE__ -c database.cpp
database.cpp: In static member function 'static Database* _Database::getInstance()':
database.cpp:261: error: '_Database' is an inaccessible base of 'DatabaseSqLite'
make: *** [database.o] Error 1
Co do:
Proszę bardzo, tu masz pod 8.1 + jakieś nowości z protka 8.22:
http://tibiafans.com/download_file_358_TFS-0-3a1-Source-.html
To pod 8.2 :D
 
Last edited:
Back
Top