GHost++ v12

This is a discussion on GHost++ v12 within the Warcraft 3 Hacks, bots and tools board part of the Warcraft 3 forum category; Hey :] GHost++ is a hostbot for Warcraft 3 TFT. It's completely free and has many useful features, just as: ...

Page 1 of 3 123 LastLast
Results 1 to 10 of 28
  1. #1
    Jolinar's Avatar
    Jolinar is offline rapid response team #1


    Array
    Join Date
    May 2008
    Location
    unicorn island
    Posts
    3,184
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)
    Rep Power
    23
    Reputation
    2486

    GHost++ v12

    Hey :]

    GHost++ is a hostbot for Warcraft 3 TFT. It's completely free and has many useful features, just as:

    • run on Windows and Linux
    • connect to official battle.net and PVPGN realms
    • connect to multiple realms at the same time
    • host battle.net games and LAN games
    • host battle.net games across realms (players from different realms can play in the same game)
    • auto refresh games on battle.net
    • auto host and start games without admin interaction
    • can be controlled via LAN (you only need one set of CD keys)
    • host multiple games at the same time
    • host melee maps and custom maps
    • high speed map downloads (with adjustable maximum download speed)
    • host saved games
    • record complete replays of hosted games (including allied and private chat from all players)
    • determine player pings and countries of origin
    • player bans
    • player statistics
    • kick players from games
    • adjustable game latency
    • adjustable lag screen
    • mute global chat in games
    • mute individual players in lobbies and games
    • and much more...

    Quote Originally Posted by Varlock (Creator of GHost++)
    This release includes support for MySQL database. This required the addition of a threaded database model so GHost++ now uses threads for database queries (it is still single threaded in all other aspects and will remain that way in future versions). If you are going to compile GHost++ yourself you will now need the MySQL development libraries and the Boost development libraries. I have included the relevant instructions in the readme.

    Note that SQLite database operations are still single threaded (you will not notice any performance improvements with large SQLite database). In addition to this, no threaded database queries are supported in the admin game so any commands that modify the database in the admin game are non functional for now when using a MySQL database (SQLite should still work fine in the admin game).

    It also includes support for Warcraft III version 1.23. In fact, this version does NOT support previous versions of Warcraft III anymore. If you try to use GHost++ version 12.0 with a previous version of Warcraft III you will be unable to join any games hosted by it. I might add support for Warcraft III version 1.22 in the future as it would be a fairly minor change to the source code (if you want this feature now please download GHostOne as it has this option already).

    There are a couple other minor bug fixes and adjustments, particularly regarding refreshing and rehosting to try and eliminate problems where the bot is getting flooded out of battle.net. As usual there may be bugs and problems with this release, please post any problems you're having with it.

    The changelog:

    Version 12.0
    - updated ip-to-country.csv to the latest version from February 26, 2009
    - added support for MySQL databases
    - added precompiled boost libraries for Visual C++
    - added precompiled mysql libraries for Visual C++
    - added mysql headers for Visual C++
    - added new command !dbstatus in battle.net
    - refresh messages are no longer permanently disabled and can be configured on or off once again
    - games are now refreshed every 3 seconds instead of 2 seconds (to reduce the risk of flooding out)
    - when a game refresh fails the bot will stop trying to refresh the game until it is rehosted (to reduce the risk of flooding out)
    - fixed the "duplicate game" bug when rehosting a game
    - fixed an error in the Makefile
    - added support for Warcraft III patch 1.23
    - bnet*_custom_war3version now defaults to 23
    - updated the game protocol to match the 1.23 game protocol
    - updated the LAN protocol to match the 1.23 LAN protocol
    - updated the replay header to match the 1.23 replay header
    - added a public domain SHA1 hashing algorithm
    - added a new map config value map_sha1
    - added support for spoof checking via friend whisper
    - added error codes to unknown socket errors
    - fixed a minor bug with the !statsdota command not responding correctly to whispers
    - fixed a bug where changes to the system clock could cause GHost++ to drop players (thanks lucasn)
    - minor optimizations
    - modified language.cfg
    Quote Originally Posted by Readme
    There are three types of admins:

    1.) Root Admins.

    Each battle.net server has a root admin defined in ghost.cfg.
    Root admins have access to every command both in battle.net and in the lobby and ingame.
    In particular this includes !addadmin, !checkadmin, !countadmins, !deladmin, !exit, and !quit among others.

    2.) Game Owners.

    Each game has an owner defined as the user who ran the !priv or !pub command or the user specified with the !privby or !pubby command.
    Game owners have access to every command in the lobby and ingame but NO commands in battle.net.
    You can think of the game owner as a temporary admin for one game only - it doesn't have to be a root admin or a regular admin.
    The game owner is also the only user who can use commands inside a game which is locked (see the !lock and !unlock commands for more information).
    The game owner for a particular can be changed after the game is created with the !owner command.

    3.) Admins.

    Each battle.net server has a list of admins.
    Admins are added and deleted by the root admin only.
    Admins have access to most commands in battle.net and all commands in the lobby and ingame.

    So, how does GHost++ determine whether a user has admin access in the lobby and ingame? The user must meet several criteria:

    1.) The user must be spoof checked.
    a.) If spoof checking is disabled they must still manually spoof check by whispering the bot.
    b.) GHost++ treats the game owner as spoof checked even if they aren't. This is because it's impossible to spoof check in LAN games.
    2.) The user must be either a root admin on the realm they spoof checked on, or they must be the game owner, or they must be an admin on the realm they spoof checked on.

    If the bot is ignoring you in the lobby and ingame it's most likely because you haven't spoof checked.
    The Admin Game (or: how to use GHost++ with one set of CD keys)


    Since Version 9.0 GHost++ can be used with only one set of CD keys.
    This feature can also be used to host LAN games without connecting to battle.net at all.
    Here's how:

    1.) You need to set admingame_create to 1 in ghost.cfg to enable the admin game.
    2.) You need to set admingame_port in ghost.cfg to the port you want to host the admin game on. It *must* be different from your bnet_hostport *and* from your Warcraft 3 port.
    3.) You need to set admingame_password in ghost.cfg to a password which you will need to login to the admin game.

    Now, when you start GHost++:



    1.) GHost++ automatically hosts a Warcraft 3 game (the "Admin Game") and broadcasts it to the local network.
    a.) If you aren't on the local network you won't be able to join the Admin Game.
    b.) The Admin Game is not created on battle.net. It is a local network (LAN) game only.
    2.) If configured to do so GHost++ logs into battle.net as usual.
    a.) This means you need to edit ghost.cfg if you haven't already done so and enter your CD keys, battle.net username, battle.net password, etc...
    b.) If you only want to host LAN games and don't want to connect to battle.net at all you can skip this step.
    3.) Open Warcraft 3 and go to the LAN screen. After a few seconds you will see a game called "GHost++ Admin Game" appear. Join it.
    4.) Use the password command to enter your Admin Game password (e.g. "!password your_password_here").
    a.) If you enter the wrong password you will be kicked from the game and temporarily banned for 5 seconds.
    5.) Use the map or load command to load a map.
    6.) Use the priv/privby/pub/pubby commands to create a game. If connecting to battle.net you should wait until it says "Battle.net game hosting succeeded" for each battle.net server before continuing.
    7.) Leave the game and return to the LAN screen. After a few seconds you will see your newly created game appear. Join it.
    8.) You are now ready to play. Your game has been created on the local network and, if configured to do so, on each battle.net server.
    9.) If you make a mistake and want to unhost the game you can use !unhost in either game (the Admin Game or your newly created game).

    Here is a complete list of the commands, taken from the readme:
    Code:
    In battle.net (via local chat or whisper at any time):
    
    !addadmin <name>         add a new admin to the database for this realm
    !addban <name> [reason]  add a new ban to the database for this realm
    !announce <sec> <msg>    set the announce message (the bot will print <msg> every <sec> seconds in the lobby), use "off" to disable the announce message
    !autohost <m> <p> <n>    auto host up to <m> games, auto starting when <p> players have joined, with name <n>, use "off" to disable auto hosting
    !autostart <players>     auto start the game when the specified number of players have joined, use "off" to disable auto start
    !ban                     alias to !addban
    !channel <name>          change battle.net channel
    !checkadmin <name>       check if a user is an admin on this realm
    !checkban <name>         check if a user is banned on this realm
    !close <number> ...      close slot
    !closeall                close all open slots
    !countadmins             display the total number of admins for this realm
    !countbans               display the total number of bans for this realm
    !deladmin <name>         remove an admin from the database for this realm
    !delban <name>           remove a ban from the database for all realms
    !disable                 disable creation of new games
    !enable                  enable creation of new games
    !end <number>            end the specified game in progress (disconnect everyone)
    !exit [force]            shutdown ghost++, optionally add [force] to skip checks
    !getclan                 refresh the internal copy of the clan members list
    !getfriends              refresh the internal copy of the friends list
    !getgame <number>        display information about a game in progress
    !getgames                display information about all games
    !hold <name> ...         hold a slot for someone
    !hostsg <name>           host a saved game
    !load <filename>         load a config file (for changing maps), leave blank to see current map - the ".cfg" is automatically appended to the filename
    !loadsg <filename>       load a saved game
    !map <filename>          alias to !load
    !open <number> ...       open slot
    !openall                 open all closed slots
    !priv <name>             host private game
    !privby <owner> <name>   host private game by another player (gives <owner> access to admin commands in the game lobby and in the game)
    !pub <name>              host public game
    !pubby <owner> <name>    host public game by another player (gives <owner> access to admin commands in the game lobby and in the game)
    !quit [force]            alias to !exit
    !say <text>              send <text> to battle.net as a chat command
    !saygame <number> <text> send <text> to the specified game in progress
    !saygames <text>         send <text> to all games
    !sp                      shuffle players
    !start [force]           start game, optionally add [force] to skip checks
    !stats [name]            display basic player statistics, optionally add [name] to display statistics for another player (can be used by non admins)
    !statsdota [name]        display DotA player statistics, optionally add [name] to display statistics for another player (can be used by non admins)
    !swap <n1> <n2>          swap slots
    !unban                   alias to !delban
    !unhost                  unhost game in lobby
    !version                 display version information (can be used by non admins)
    
    In game lobby:
    
    !a                      alias to !abort
    !abort                  abort countdown
    !addban <name> <reason> add a new ban to the database (it tries to do a partial match)
    !announce <sec> <msg>   set the announce message (the bot will print <msg> every <sec> seconds), leave blank or "off" to disable the announce message
    !autostart <players>    auto start the game when the specified number of players have joined, leave blank or "off" to disable auto start
    !autosave <on/off>      enable or disable autosaving
    !ban                    alias to !addban
    !check <name>           check a user's status (leave blank to check your own status)
    !checkban <name>        check if a user is banned on any realm
    !checkme                check your own status (can be used by non admins, sends a private message visible only to the user)
    !close <number> ...     close slot
    !closeall               close all open slots
    !comp <slot> <skill>    create a computer in slot <slot> of skill <skill> (skill is 0 for easy, 1 for normal, 2 for insane)
    !compcolour <s> <c>     change a computer's colour in slot <s> to <c> (c goes from 1 to 12)
    !comphandicap <s> <h>   change a computer's handicap in slot <s> to <h> (h is 50, 60, 70, 80, 90, or 100)
    !comprace <s> <r>       change a computer's race in slot <s> to <r> (r is "human", "orc", "night elf", "undead", or "random")
    !compteam <s> <t>       change a computer's team in slot <s> to <t> (t goes from 1 to # of teams)
    !dl <name>              alias to !download
    !download <name>        allow a user to start downloading the map (only used with conditional map downloads, it tries to do a partial match)
    !from                   display the country each player is from
    !hold <name> ...        hold a slot for someone
    !kick <name>            kick a player (it tries to do a partial match)
    !latency <number>       set game latency (50-500), leave blank to see current latency
    !lock                   lock the game so only the game owner can run commands
    !mute <name>            mute a player (it tries to do a partial match)
    !open <number> ...      open slot
    !openall                open all closed slots
    !owner [name]           set game owner to yourself, optionally add [name] to set game owner to someone else
    !ping [number]          ping players, optionally add [number] to kick players with ping above [number]
    !priv <name>            rehost as private game
    !pub <name>             rehost as public game
    !refresh <on/off>       enable or disable refresh messages
    !sendlan <ip> [port]    send a fake LAN message to IP address <ip> and port [port], default port is 6112 if not specified
    !sp                     shuffle players
    !start [force]          start game, optionally add [force] to skip checks
    !stats [name]           display basic player statistics, optionally add [name] to display statistics for another player (can be used by non admins)
    !statsdota [name]       display DotA player statistics, optionally add [name] to display statistics for another player (can be used by non admins)
    !swap <n1> <n2>         swap slots
    !synclimit <number>     set sync limit for the lag screen (10-10000), leave blank to see current sync limit
    !unhost                 unhost game
    !unlock                 unlock the game
    !unmute <name>          unmute a player (it tries to do a partial match)
    !version                display version information (can be used by non admins, sends a private message visible only to the user)
    !virtualhost <name>     change the virtual host name
    !votecancel             cancel a votekick
    !votekick <name>        start a votekick (it tries to do a partial match, can be used by non admins)
    !yes                    register a vote in the votekick (can be used by non admins)
    
    In game:
    
    !addban <name> <reason> add a new ban to the database (it tries to do a partial match)
    !autosave <on/off>      enable or disable autosaving
    !ban                    alias to !addban
    !banlast <reason>       ban the last leaver
    !check <name>           check a user's status (leave blank to check your own status)
    !checkban <name>        check if a user is banned on any realm
    !checkme                check your own status (can be used by non admins, sends a private message visible only to the user)
    !drop                   drop all lagging players
    !end                    end the game (disconnect everyone)
    !from                   display the country each player is from
    !kick <name>            kick a player (it tries to do a partial match)
    !latency <number>       set game latency (50-500), leave blank to see current latency
    !lock                   lock the game so only the game owner can run commands
    !mute <name>            mute a player (it tries to do a partial match)
    !muteall                mute global chat (allied and private chat still works)
    !owner [name]           set game owner to yourself, optionally add [name] to set game owner to someone else
    !ping                   ping players
    !stats [name]           display basic player statistics, optionally add [name] to display statistics for another player (can be used by non admins)
    !statsdota [name]       display DotA player statistics, optionally add [name] to display statistics for another player (can be used by non admins)
    !synclimit <number>     set sync limit for the lag screen (10-10000), leave blank to see current sync limit
    !unlock                 unlock the game
    !unmute <name>          unmute a player (it tries to do a partial match)
    !unmuteall              unmute global chat
    !version                display version information (can be used by non admins, sends a private message visible only to the user)
    !votecancel             cancel a votekick
    !votekick <name>        start a votekick (it tries to do a partial match, can be used by non admins)
    !yes                    register a vote in the votekick (can be used by non admins)
    
    In admin game lobby:
    
    !addadmin <name> <realm>   add a new admin to the database for the specified realm (if only one realm is defined in ghost.cfg it uses that realm instead)
    !autohost <m> <p> <n>      auto host up to <m> games, auto starting when <p> players have joined, with name <n>, use "off" to disable auto hosting
    !checkadmin <name> <realm> check if a user is an admin for the specified realm (if only one realm is defined in ghost.cfg it uses that realm instead)
    !countadmins <realm>       display the total number of admins for the specified realm (if only one realm is defined in ghost.cfg it uses that realm instead)
    !deladmin <name> <realm>   remove an admin from the database for the specified realm (if only one realm is defined in ghost.cfg it uses that realm instead)
    !disable                   disable creation of new games
    !enable                    enable creation of new games
    !end <number>              end a game in progress (disconnect everyone)
    !exit [force]              shutdown ghost++, optionally add [force] to skip checks
    !getgame <number>          display information on a game in progress
    !getgames                  display information on all games
    !hostsg <name>             host a saved game
    !load <filename>           load a config file (for changing maps), leave blank to see current map - the ".cfg" is automatically appended to the filename
    !loadsg <filename>         load a saved game
    !map <filename>            alias to !load
    !password <p>              login (the password is set in ghost.cfg with admingame_password)
    !priv <name>               host private game
    !privby <owner> <name>     host private game by another player (gives <owner> access to admin commands in the game lobby and in the game)
    !pub <name>                host public game
    !pubby <owner> <name>      host public game by another player (gives <owner> access to admin commands in the game lobby and in the game)
    !quit [force]              alias to !exit
    !saygame <number> <text>   send <text> to the specified game in progress
    !saygames <text>           send <text> to all games
    !unhost                    unhost game
    Running GHost++ on Linux

    You will need to copy ~/ghost/bncsutil/src/bncsutil/libbncutil.so to /usr/local/lib/ or otherwise set LD_LIBRARY_PATH so it can find the bncsutil library.
    You will need to copy ~/ghost/StormLib/stormlib/libStorm.so to /usr/local/lib/ or otherwise set LD_LIBRARY_PATH so it can file the StormLib library.
    You will also need to copy game.dll, storm.dll, and war3.exe from a valid Warcraft III installation to the location specified in your ghost.cfg
    GHost++ searches for "storm.dll" in all lowercase not "Storm.dll" so you may need to rename this file if yours is capitalized.

    Additional notes:
    - To get it work, the ports you entered in the cfg (bot_hostport and admingame port) and your WC3 hostport must be opened.
    - To get it work, the maps have to be in the GHost++ /maps folder as well as in the WC3 folder.
    - For problems with GHost++ either ask me or look them up on forum.codelain.com - Index

    Here is the download.

    Latest DotA mapcfg (6.59c): RapidShare: Easy Filehosting
    GHost++ v12.0: http://ghostplusplus.googlecode.com/...splus_12.0.zip




    Dearest greetings, Nisturm
    Last edited by Jolinar; 03-20-2009 at 08:28 PM.


  2. #2
    xiN
    xiN is offline Guess who's back ?
    Array
    Join Date
    Feb 2007
    Location
    Six feet under
    Posts
    1,580
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    12
    Reputation
    358
    Good job.

  3. #3
    TR4NSF0RM3RS's Avatar
    TR4NSF0RM3RS is offline Advanced Hacker
    Array
    Join Date
    Feb 2009
    Location
    Serbia , Becej
    Posts
    330
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    9
    Reputation
    87
    i saw this stuff already on bnet , it's really good

  4. #4
    Jolinar's Avatar
    Jolinar is offline rapid response team #1


    Array
    Join Date
    May 2008
    Location
    unicorn island
    Posts
    3,184
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)
    Rep Power
    23
    Reputation
    2486
    The 11.5 version does not work for the released 1.23 patch. Will update as soon as v12 comes out.


  5. #5
    Jolinar's Avatar
    Jolinar is offline rapid response team #1


    Array
    Join Date
    May 2008
    Location
    unicorn island
    Posts
    3,184
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)
    Rep Power
    23
    Reputation
    2486
    Varlock updated it really fast. v12.0 is released and up. Added, have fun.


  6. #6
    sk8erboi's Avatar
    sk8erboi is offline Addict
    Array
    Join Date
    Mar 2009
    Location
    us
    Posts
    71
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    9
    Reputation
    10
    gj...

  7. #7
    kongkaal1234 is offline Newbie
    Array
    Join Date
    Mar 2009
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    hi, how do i install v12 w/o mysql support?

  8. #8
    kongkaal1234 is offline Newbie
    Array
    Join Date
    Mar 2009
    Posts
    3
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    0
    Reputation
    0
    here's output of my make:
    [[email protected] ghost]# make
    g++ -o ./ghost++ bncsutilinterface.o bnet.o bnetprotocol.o commandpacket.o config.o crc32.o csvparser.o game.o game_base.o gameplayer.o gameprotocol.o gameslot.o ghost.o ghostdb.o ghostdbmysql.o ghostdbsqlite.o language.o map.o packed.o replay.o savegame.o sha1.o socket.o stats.o statsdota.o util.o sqlite3.o -L. -L../bncsutil/src/bncsutil/ -L../StormLib/stormlib/ -L/usr/lib/mysql/ -lbncsutil -lpthread -ldl -lz -lStorm -lrt -lmysqlclient -lboost_date_time -lboost_thread-mt
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedBanRemove(std::basic_strin g<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0x1ae0): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedDotAPlayerAdd(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned int, unsigned int, unsigned int)':
    ghostdbmysql.cpp.text+0x881b): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0x8954): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedGamePlayerSummaryCheck(std ::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0x8f24): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0x905a): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedDotAGameAdd(unsigned int, unsigned int, unsigned int, unsigned int)':
    ghostdbmysql.cpp.text+0x9646): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0x977c): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedGamePlayerAdd(unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned int, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned int)':
    ghostdbmysql.cpp.text+0x9cd8): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0x9e0e): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedAdminCount(std::basic_stri ng<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xa3a4): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xa4da): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedAdminAdd(std::basic_string <char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xa9ec): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xab22): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedAdminCheck(std::basic_stri ng<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xaf8c): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xb0c2): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedGameAdd(std::basic_string< char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xb5cd): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xb703): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedBanRemove(std::basic_strin g<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xbbac): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xbce2): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedBanAdd(std::basic_string<c har, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xc1df): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xc315): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedDownloadAdd(std::basic_str ing<char, std::char_traits<char>, std::allocator<char> >, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int, std::basic_string<char, std::char_traits<char>, std::allocator<char> >, unsigned int)':
    ghostdbmysql.cpp.text+0xc82c): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xc962): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedBanCheck(std::basic_string <char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xcdec): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xcf22): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedAdminList(std::basic_strin g<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xd4a2): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xd5d8): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedAdminRemove(std::basic_str ing<char, std::char_traits<char>, std::allocator<char> >, std::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xdadc): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xdc12): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedDotAPlayerSummaryCheck(std ::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xe184): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xe2ba): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedBanList(std::basic_string< char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xe8e2): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xea18): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `CGHostDBMySQL::ThreadedBanCount(std::basic_string <char, std::char_traits<char>, std::allocator<char> >)':
    ghostdbmysql.cpp.text+0xf024): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.cpp.text+0xf15a): undefined reference to `boost::thread::start_thread()'
    ghostdbmysql.o: In function `boost::detail::thread_data<boost::reference_wrapp er<CCallableDownloadAdd> >::~thread_data()':
    ghostdbmysql.cpp.text._ZN5boost6detail11thread_dataINS_17reference _wrapperI20CCallableDownloadAddEEED0Ev[boost::detail::thread_data<boost::reference_wrappe r<CCallableDownloadAdd> >::~thread_data()]+0x14): undefined reference to `boost::detail::thread_data_base::~thread_data_bas e()'
    ghostdbmysql.o: In function `boost::detail::thread_data<boost::reference_wrapp er<CCallableDownloadAdd> >::~thread_data()':
    ghostdbmysql.cpp.text._ZN5boost6detail11thread_dataINS_17reference _wrapperI20CCallableDownloadAddEEED1Ev[boost::detail::thread_data<boost::reference_wrappe r<CCallableDownloadAdd> >::~thread_data()]+0xe): undefined reference to `boost::detail::thread_data_base::~thread_data_bas e()'
    ghostdbmysql.o: In function `boost::detail::thread_data<boost::reference_wrapp er<CCallableDotAPlayerSummaryCheck> >::~thread_data()':
    ghostdbmysql.cpp.text._ZN5boost6detail11thread_dataINS_17reference _wrapperI31CCallableDotAPlayerSummaryCheckEEED0Ev[boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAPlayerSummaryCheck> >::~thread_data()]+0x14): undefined reference to `boost::detail::thread_data_base::~thread_data_bas e()'
    ghostdbmysql.o: In function `boost::detail::thread_data<boost::reference_wrapp er<CCallableDotAPlayerSummaryCheck> >::~thread_data()':
    ghostdbmysql.cpp.text._ZN5boost6detail11thread_dataINS_17reference _wrapperI31CCallableDotAPlayerSummaryCheckEEED1Ev[boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAPlayerSummaryCheck> >::~thread_data()]+0xe): undefined reference to `boost::detail::thread_data_base::~thread_data_bas e()'
    ghostdbmysql.o: In function `boost::detail::thread_data<boost::reference_wrapp er<CCallableDotAPlayerAdd> >::~thread_data()':
    ghostdbmysql.cpp.text._ZN5boost6detail11thread_dataINS_17reference _wrapperI22CCallableDotAPlayerAddEEED0Ev[boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAPlayerAdd> >::~thread_data()]+0x14): undefined reference to `boost::detail::thread_data_base::~thread_data_bas e()'
    ghostdbmysql.o:ghostdbmysql.cpp.text._ZN5boost6detail11thread_dataINS_17reference _wrapperI22CCallableDotAPlayerAddEEED1Ev[boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAPlayerAdd> >::~thread_data()]+0xe): more undefined references to `boost::detail::thread_data_base::~thread_data_bas e()' follow
    ghostdbmysql.o: In function `boost::detail::thread_data_base::thread_data_base ()':
    ghostdbmysql.cpp.text._ZN5boost6detail16thread_data_baseC2Ev[boost::detail::thread_data_base::thread_data_base( )]+0x25): undefined reference to `vtable for boost::detail::thread_data_base'
    ghostdbmysql.o.rodata._ZTIN5boost6detail11thread_dataINS_17refer ence_wrapperI20CCallableDownloadAddEEEE[typeinfo for boost::detail::thread_data<boost::reference_wrappe r<CCallableDownloadAdd> >]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'
    ghostdbmysql.o.rodata._ZTIN5boost6detail11thread_dataINS_17refer ence_wrapperI31CCallableDotAPlayerSummaryCheckEEEE[typeinfo for boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAPlayerSummaryCheck> >]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'
    ghostdbmysql.o.rodata._ZTIN5boost6detail11thread_dataINS_17refer ence_wrapperI22CCallableDotAPlayerAddEEEE[typeinfo for boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAPlayerAdd> >]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'
    ghostdbmysql.o.rodata._ZTIN5boost6detail11thread_dataINS_17refer ence_wrapperI20CCallableDotAGameAddEEEE[typeinfo for boost::detail::thread_data<boost::reference_wrappe r<CCallableDotAGameAdd> >]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'
    ghostdbmysql.o.rodata._ZTIN5boost6detail11thread_dataINS_17refer ence_wrapperI31CCallableGamePlayerSummaryCheckEEEE[typeinfo for boost::detail::thread_data<boost::reference_wrappe r<CCallableGamePlayerSummaryCheck> >]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'
    ghostdbmysql.o.rodata._ZTIN5boost6detail11thread_dataINS_17refer ence_wrapperI22CCallableGamePlayerAddEEEE[typeinfo for boost::detail::thread_data<boost::reference_wrappe r<CCallableGamePlayerAdd> >]+0x8): more undefined references to `typeinfo for boost::detail::thread_data_base' follow
    collect2: ld returned 1 exit status
    make: *** [ghost++] Error 1
    [[email protected] ghost]#

  9. #9
    Jolinar's Avatar
    Jolinar is offline rapid response team #1


    Array
    Join Date
    May 2008
    Location
    unicorn island
    Posts
    3,184
    Mentioned
    2 Post(s)
    Tagged
    1 Thread(s)
    Rep Power
    23
    Reputation
    2486
    In your ghost.cfg replace your database settings with this:
    ##########################
    # DATABASE CONFIGURATION #
    ##########################

    ### database type
    ### use "sqlite3" for a local SQLite database
    ### use "mysql" for any MySQL database

    db_type = sqlite3

    ### sqlite3 database configuration
    ### this is only used if your database type is SQLite

    db_sqlite3_file = ghost.dbs

    ### mysql database configuration
    ### this is only used if your database type is MySQL

    db_mysql_server = localhost
    db_mysql_database = ghost
    db_mysql_user = YOUR_USERNAME
    db_mysql_password = YOUR_PASSWORD
    db_mysql_port = 0
    That should work since it's just using the normal MySQL database that works with GHost. Leave the username and password as it is here.


  10. #10
    Sky_King's Avatar
    Sky_King is offline Hacker
    Array
    Join Date
    Mar 2009
    Location
    In the US now
    Posts
    161
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Rep Power
    9
    Reputation
    143
    Do I have to have a website to upload it to?
    Never understood this :p

Page 1 of 3 123 LastLast

Similar Threads

  1. Memoirs of World of Warcraft
    By Hallowsend in forum WoW forum
    Replies: 21
    Last Post: 08-28-2013, 10:34 AM
  2. Ghost House Underground
    By Dolph_Lundgren in forum Entertainment
    Replies: 1
    Last Post: 10-15-2008, 04:06 PM
  3. OMG Animal Ghost
    By 1€€7 in forum Entertainment
    Replies: 1
    Last Post: 07-07-2008, 09:00 AM
  4. Marvel Ultimate Alliance - Requesting Cheats
    By aLLo- in forum Playstation Forum
    Replies: 3
    Last Post: 05-30-2007, 04:01 AM
  5. The Restless Ghost
    By Dokken in forum Runescape
    Replies: 0
    Last Post: 05-02-2007, 11:24 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •