Jump to content

Recommended Posts

Posted

ty rulerz... as i said i wasnt trying to start any kind of warfare or anything i was just clarifying WHY it was illegal was all.. no harm no foul... sorry for any confusion.

  • Replies 1.8k
  • Created
  • Last Reply

Top Posters In This Topic

Posted
Please chill out against HSC_Dev3... he isn't used to following rules i guess, but the first comment on this was clear enough...threatening with a ban by a user without the right to ban people is just an useless add to this thread

the following was sufficient info for him IMO:

on-topic

anyway, if you're interested Blueboy...a user of my core posted this crash report (Core contains an unmodified version of Playerbot):

Revision: * * 9875 *
Date 16:5:2010. Time 11:33
//================================================== ===
*** Hardware ***
Processor: AMD Athlon(tm) 64 X2 Dual Core Processor 4400+
Number Of Processors: 2
Physical Memory: 2096620 KB (Available: 748796 KB)
Commit Charge Limit: 4034476 KB

*** Operation System ***
Microsoft Windows XP Professional Service Pack 3 (Version 5.1, Build 2600)

//================================================== ===
Exception code: C0000005 ACCESS_VIOLATION
Fault address: 007E00B6 01:003DF0B6 C:\\Documents and Settings\\Administrator\\Bureaublad\\Hellscream-Core-b29b38a\\Hellscream-Core-b29b38a\\bin\\Win32_Release\\mangosd.exe

Registers:
EAX:00000000
EBX:738B5670
ECX:7FA07560
EDX:0000BE33
ESI:00000000
EDI:00973BA0
CS:EIP:001B:007E00B6
SS:ESP:0023:08FB6F7C EBP:08FB6FAC
DS:0023 ES:0023 FS:003B GS:0000
Flags:00010206

Call stack:
Address Frame Function SourceFile
007E00B6 00000000 PlayerbotAI::HasAura+16
007E4CBD 00000000 PlayerbotAI::CastSpell+18D
007E4AD4 00000000 PlayerbotAI::CastSpell+A4
00920BE1 00000000 PlayerbotRogueAI:oNextCombatManeuver+381
007E160A 00000000 PlayerbotAI:oNextCombatManeuver+1CA
007E46AE 00000000 PlayerbotAI::UpdateAI+66E
00519B4E 00000000 Player::Update+101E
004DF60B 00000000 Map::Update+DB
004E7743 00000000 InstanceMap::Update+13
008B830E 00000000 MapInstanced::Update+DE
006B2BC8 00000000 MapManager::Update+128
0064CB90 00000000 World::Update+810
00456DFE 00000000 WorldRunnable::run+8E
00973BB9 00000000 ACE_Based::Thread::ThreadTask+19
002A14D4 00000000 __WSAFDIsSet+FFFFFFFFFFFCC45C
78543433 00000000 _endthreadex+44
785434C7 00000000 _endthreadex+D8
7C7DB729 00000000 GetModuleFileNameA+1BA

Call stack:
Address Frame Function SourceFile
7C90E514 00000000 KiFastSystemCallRet+0
7C7D2542 00000000 WaitForSingleObject+12
00259C64 00000000 __WSAFDIsSet+FFFFFFFFFFF84BEC
002C64DA 00000000 __WSAFDIsSet+FFFFFFFFFFFF1462
002C269F 00000000 __WSAFDIsSet+FFFFFFFFFFFED627
00665CBA 00000000 WorldSocketMgr::Wait+4A
739311C4 00000000 0000:00000000
739311C4 00000000 0000:00000000
6C696146 00000000 

i will try to recreate this crash in a debug core for some more details

the info he gave was

Hmmm,

The old HasAura crash is still rearing it's ugly head. I spent a week trying to debug this issue. Oh well thanks for the info and any further help, if you manage to re-create it. Thats the problem it seems to be triggered by a random event, and mainly effects windows servers.

Cheers

Posted

Hi Guys,

As promised, here is the revision to the botguy.patch. You must apply the botguy.patch first (post #1141) to the code from blueboy, before applying the revision or you will get conflicts.

botguyrev.patch

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index c24469a..095d5fe 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -65,6 +65,7 @@
// Playerbot mod:
#include "PlayerbotAI.h"
#include "PlayerbotMgr.h"
+#include "Config/ConfigEnv.h"

#include <cmath>

@@ -12661,10 +12662,14 @@ void Player::PrepareGossipMenu(WorldObject *pSource, uint32 menuId)
                case GOSSIP_OPTION_AUCTIONEER:
                    break;                                  // no checks
                case GOSSIP_OPTION_BOT:
-                    if(!pCreature->isInnkeeper())
-                        pCreature->LoadBotMenu(this);
-                    bCanTalk = false;
+                {
+                    std::string reqQuestIds = sConfig.GetStringDefault("PlayerbotAI.BotguyQuests","");
+                    uint32 cost = sConfig.GetIntDefault("PlayerbotAI.BotguyCost",0);
+                    if((reqQuestIds == "" || requiredQuests(reqQuestIds.c_str())) && !pCreature->isInnkeeper() && this->GetMoney() >= cost)
+                        pCreature->LoadBotMenu(this);
+                    bCanTalk = false;
                    break;
+                }
                default:
                    sLog.outErrorDb("Creature entry %u have unknown gossip option %u for menu %u", pCreature->GetEntry(), itr->second.option_id, itr->second.menu_id);
                    bCanTalk = false;
@@ -12898,6 +12903,7 @@ void Player::OnGossipSelect(WorldObject* pSource, uint32 gossipListId, uint32 me
        {
            // DEBUG_LOG("GOSSIP_OPTION_BOT");
            PlayerTalkClass->CloseGossip();
+            uint32 cost = sConfig.GetIntDefault("PlayerbotAI.BotguyCost",0);

            if (!GetPlayerbotMgr())
                SetPlayerbotMgr(new PlayerbotMgr(this));
@@ -12910,7 +12916,8 @@ void Player::OnGossipSelect(WorldObject* pSource, uint32 gossipListId, uint32 me
            else if(GetPlayerbotMgr()->GetPlayerBot(guidlo) == NULL)
            {
                GetPlayerbotMgr()->AddPlayerBot(guidlo);
-            }
+                this->ModifyMoney(-cost);
+            }
            break;
        }
    }
diff --git a/src/game/Player.h b/src/game/Player.h
index 5dab4e8..9bd303c 100644
--- a/src/game/Player.h
+++ b/src/game/Player.h
@@ -1437,6 +1437,10 @@ class MANGOS_DLL_SPEC Player : public Unit
        void AddTimedQuest( uint32 quest_id ) { m_timedquests.insert(quest_id); }
        void RemoveTimedQuest( uint32 quest_id ) { m_timedquests.erase(quest_id); }

+        void chompAndTrim(std::string& str);
+        bool getNextQuestId(const std::string& pString, unsigned int& pStartPos, unsigned int& pId);
+        bool requiredQuests(const char* pQuestIdString);
+
        /*********************************************************/
        /***                   LOAD SYSTEM                     ***/
        /*********************************************************/
diff --git a/src/game/PlayerbotMgr.cpp b/src/game/PlayerbotMgr.cpp
index c3848df..d59b4a3 100644
--- a/src/game/PlayerbotMgr.cpp
+++ b/src/game/PlayerbotMgr.cpp
@@ -585,6 +585,64 @@ void Creature::LoadBotMenu(Player *pPlayer)
    delete result;
}

+void Player::chompAndTrim(std::string& str)
+{
+    while(str.length() >0)
+    {
+        char lc = str[str.length()-1];
+        if(lc == '\\r' || lc == '\\n' || lc == ' ' || lc == '"' || lc == '\\'')
+            str = str.substr(0,str.length()-1);
+        else
+            break;
+        while(str.length() >0)
+        {
+            char lc = str[0];
+            if(lc == ' ' || lc == '"' || lc == '\\'')
+                str = str.substr(1,str.length()-1);
+            else
+                break;
+        }
+    }
+}
+
+bool Player::getNextQuestId(const std::string& pString, unsigned int& pStartPos, unsigned int& pId)
+{
+    bool result = false;
+    unsigned int i;
+    for(i=pStartPos;i<pString.size(); ++i)
+    {
+        if(pString[i] == ',')
+            break;
+    }
+    if(i>pStartPos)
+    {
+        std::string idString = pString.substr(pStartPos, i-pStartPos);
+        pStartPos = i+1;
+        chompAndTrim(idString);
+        pId = atoi(idString.c_str());
+        result = true;
+    }
+    return(result);
+}
+
+bool Player::requiredQuests(const char* pQuestIdString)
+{
+    if(pQuestIdString != NULL)
+    {
+        unsigned int pos = 0;
+        unsigned int id;
+        std::string confString(pQuestIdString);
+        chompAndTrim(confString);
+        while(getNextQuestId(confString, pos, id))
+        {
+            QuestStatus status = GetQuestStatus( id );
+            if ( status == QUEST_STATUS_COMPLETE )
+                return true;
+        }
+    }
+    return false;
+}
+
bool ChatHandler::HandlePlayerbotCommand(const char* args)
{
    if(!(m_session->GetSecurity() > SEC_PLAYER))
diff --git a/src/mangosd/mangosd.conf.dist.in b/src/mangosd/mangosd.conf.dist.in
index 93e00e8..f502d40 100644
--- a/src/mangosd/mangosd.conf.dist.in
+++ b/src/mangosd/mangosd.conf.dist.in
@@ -1519,6 +1519,17 @@ CharDelete.KeepDays = 30
#        Restrict the allowed bot level (Current Max 80)
#        Default: 80
#
+#    PlayerbotAI.BotguyQuests
+#        List of Quest ids, any of which, once completed will enable botguy menu on NPCs
+#        List must be enclosed in double quotes ("") and multiple Quest Ids separated by a delimiter(,)
+#        Example: "805,54,2160"
+#        Default: "" no quest restriction, memu always displayed by NPCs
+#
+#    PlayerbotAI.BotguyCost
+#        Cost (Copper coins) levied on summoning a bot
+#        If player has the cost, botguy menu will be displayed by NPCs
+#        Default: 0 - no cost, menu always displayed by NPCs
+#
###################################################################################################################

PlayerbotAI.DisableBots = 0
@@ -1527,3 +1538,5 @@ PlayerbotAI.FollowDistanceMin = 0.5
PlayerbotAI.FollowDistanceMax = 1.0
PlayerbotAI.MaxNumBots = 9
PlayerbotAI.RestrictBotLevel = 80
+PlayerbotAI.BotguyQuests = ""
+PlayerbotAI.BotguyCost = 0

Hope you like it and find it useful

Posted

Time to break out my editor and brew some coffee this evening. I have the feeling I'll be up late. Shame on you, blueboy! :P

As for the other stuff, try not to read anger into my words. I only intended to supply information for everyone's benefit. We're all in this together, after all. :)

Posted

Hi Guys,

KiriX brought an important issue to my attention. The 'cast' command made no checks on whether bot(s) could use a particular spell or not. The following could be used to kill any NPC without restriction, as long as it could be selected.

/w botname cast 5 // spellId 5 - 'Death Touch'. This would make it possible for players to run riot! :mad:

I have now plugged the hole and inserted a check

// handle cast command

else if (text.size() > 2 && text.substr(0, 2) == "c " || text.size() > 5 && text.substr(0, 5) == "cast ")

{

std::string spellStr = text.substr(text.find(" ") + 1);

uint32 spellId = (uint32) atol(spellStr.c_str());

// try and get spell ID by name

if (spellId == 0)

spellId = getSpellId(spellStr.c_str(), true);

uint64 castOnGuid = fromPlayer.GetSelection();

if (spellId != 0 && castOnGuid != 0 && m_bot->HasSpell(spellId))

{

m_spellIdCommand = spellId;

m_targetGuidCommand = castOnGuid;

}

}

I advise you all to use the updated code on blueboy ASAP

Cheers

Posted

Thanks to KiriX for catching that exploit. Good eyes!

And thanks for staying on top of things, blueboy. It's been slow going for my much overdue server update, but I'm hoping to have the new and improved Playerbot/Botguy up and running by the weekend.

HSC_Dev3, your ticket idea for Botguy would work perfectly for one scenario... Players who wish to hire a sparring partner for arenas or battlegrounds. This could be used to limit bot purchase to a single character for purposes of allowing the player's active character to earn honor and rewards for PvP in arenas and BGs during solo play. Unless full PvP can be enabled for bots, the only way I see this working halfway would be for servers to allow both Alliance and Horde on the same account.

P.S. I almost forgot to ask, blueboy... Do you plan to create a seperate branch for Botguy?

Posted

UnkleNuke...I discovered a game that's just as popular as WoW....Amazing! I know....but you should have a look at the Bot's it has built it...they call them henchmen and Hero's the henchmen are basicly just like Playerbot and they take their share of the loot but with no basic controls, BUT Hero's on the otherhand you can control their inventory, skills, and combat moves (thru a modified floating window) and can have up to 3 in a group at one time...I think this is more of what HSC was thinking.

Posted

Ah, yes! That game has another name, based on my observations of my middle nephew's obsession... "The Endless Black Hole of Your Free Hours". lol

Actually, having henchmen with a fairly sophisticated repertoire of autonomous abilities in RPGs is not really that new. It's just that Playerbot is trying to enable such behavior for a game that was never intended to have anything remotely like it.

Based on previous work and blueboy's current wizardry, I'd say Playerbot has achieved a sophistication far beyond anything we could have hoped to have when this project began. As it stands, anyone that's mastered scripting for SD2 could probably code some more detailed and functional AI scripts than what is currently present in the Playerbot code. Although he displays a gifted genius and tireless work ethic for Playerbot, blueboy is just one man and having others to step forth and improve upon the current AI scripts would make this core mod even better (despite how difficult that may seem, given all that's already been done).

Posted

Oh yeah ! :D

I've played that game :P

IT SUCKS!!!! :D

And if someone wants codes, which allow you to play free for 10 hours in interval of 14 days xD

I have 13 left, so... HURRY UP!!! ;)

Posted

True UnkleNuke...True....the only problem I have is remembering all of the commands...like Kill...or was it heal...I get so CONFUSED!....

Oh yeah ! :D

I've played that game :P

IT SUCKS!!!! :D

And if someone wants codes, which allow you to play free for 10 hours in interval of 14 days xD

I have 13 left, so... HUTTY UP!!! ;)

it may not be the Quality of Wow petbat But it's free to play and will kill many hours of you time if not carefull....and BTW if you go to the sight you can get that same thing too but without having to enter a code....hehe thats what got me hooked

Posted
Ah, yes! That game has another name, based on my observations of my middle nephew's obsession... "The Endless Black Hole of Your Free Hours". lol

Actually, having henchmen with a fairly sophisticated repertoire of autonomous abilities in RPGs is not really that new. It's just that Playerbot is trying to enable such behavior for a game that was never intended to have anything remotely like it.

Based on previous work and blueboy's current wizardry, I'd say Playerbot has achieved a sophistication far beyond anything we could have hoped to have when this project began. As it stands, anyone that's mastered scripting for SD2 could probably code some more detailed and functional AI scripts than what is currently present in the Playerbot code. Although he displays a gifted genius and tireless work ethic for Playerbot, blueboy is just one man and having others to step forth and improve upon the current AI scripts would make this core mod even better (despite how difficult that may seem, given all that's already been done).

Bravo! I could not put it better myself. The continued momentum of playerbot development will require a community effort, one person cannot hope to satisfy this. Playerbot is far from perfect at present, but together, I believe we can get very close ;)

Cheers

Posted

Hi Guys,

You may get a conflict between the botguy patches and core code [9938]+. They have changed the name of a boolean flag used with GOSSIP MENUS, to determine whether or not a menu contains an item.

- bool bCanTalk = true;

+ bool hasMenuItem = true;

If any of you have problems, I will post revised patches. Let me know if they are required.

I have been messing with the 'cast' command this week and revised it to allow the use of [string Links].

To get a bot to cast a spell like 'Shadow Bolt', you can now do it three ways

1: /w botname cast 705 // can be setup as a macro

2: /w botname cast shadow bolt // can be setup as a macro

3: /w botname cast [shadow Bolt] // can be setup as a macro

I have included code (Methods 2 & 3) to ensure that the bot(s) use the highest rank of a spell from the spellbook. The [string Link] can be obtained by examining the bots spellbook;

/w botname spells

cast.patch

diff --git a/src/game/PlayerbotAI.h b/src/game/PlayerbotAI.h
index ef4383f..4d4a2a1 100644
--- a/src/game/PlayerbotAI.h
+++ b/src/game/PlayerbotAI.h
@@ -127,6 +127,9 @@ class MANGOS_DLL_SPEC PlayerbotAI
        // extracts item ids from links
        void extractItemIds(const std::string& text, std::list<uint32>& itemIds) const;

+        // extract spellid from links
+        bool extractSpellId(const std::string& text, uint32 &spellId) const;
+
        // extracts currency from a string as #g#s#c and returns the total in copper
        uint32 extractMoney(const std::string& text) const;

diff --git a/src/game/PlayerbotAI.cpp b/src/game/PlayerbotAI.cpp
index 99852ea..912cc85 100644
--- a/src/game/PlayerbotAI.cpp
+++ b/src/game/PlayerbotAI.cpp
@@ -2377,6 +2377,34 @@ void PlayerbotAI::extractItemIds(const std::string& text, std::list<uint32>& ite
    }
}

+bool PlayerbotAI::extractSpellId(const std::string& text, uint32 &spellId) const
+{
+
+     //   Link format
+     //   |cffffffff|Hspell:" << spellId << "|h[" << pSpellInfo->SpellName[loc] << "]|h|r";
+     //   cast |cff71d5ff|Hspell:686|h[shadow Bolt]|h|r";
+     //   012345678901234567890123456
+     //        base = 16 >|  +7 >|
+
+    uint8 pos = 0;
+
+        int i = text.find("Hspell:", pos);
+        if (i == -1)
+            return false;
+
+        // DEBUG_LOG("extractSpellId first pos %u i %u",pos,i);
+        pos = i + 7; // start of window in text 16 + 7 = 23
+        int endPos = text.find('|', pos);
+        if (endPos == -1)
+            return false;
+
+        // DEBUG_LOG("extractSpellId second endpos : %u pos : %u",endPos,pos);
+        std::string idC = text.substr(pos, endPos - pos); // 26 - 23
+        spellId = atol(idC.c_str());
+        pos = endPos; // end
+        return true;
+}
+
bool PlayerbotAI::extractGOinfo(const std::string& text, uint32 &guid, uint32 &entry, int &mapid, float &x, float &y, float &z) const
{

@@ -2856,19 +2884,44 @@ void PlayerbotAI::HandleCommand(const std::string& text, Player& fromPlayer)
    // handle cast command
    else if (text.size() > 2 && text.substr(0, 2) == "c " || text.size() > 5 && text.substr(0, 5) == "cast ")
    {
-        std::string spellStr = text.substr(text.find(" ") + 1);
+        // sLog.outErrorDb("Selected link : %s", text.c_str());
+
+        std::string spellStr = text.substr(text.find(" ") + 1);
        uint32 spellId = (uint32) atol(spellStr.c_str());

        // try and get spell ID by name
        if (spellId == 0)
-            spellId = getSpellId(spellStr.c_str(), true);
+        {
+            spellId = getSpellId(spellStr.c_str(), true);
+
+            // try link if text NOT (spellid OR spellname)
+            if (spellId == 0)
+                extractSpellId(text, spellId);
+
+            QueryResult *result = WorldDatabase.PQuery("SELECT spell_id FROM spell_chain WHERE first_spell = '%u' ORDER BY rank DESC",spellId);
+            if (result)
+            {
+                do
+                {
+                    Field *fields = result->Fetch();
+                    uint32 Id = fields[0].GetUInt32();
+                    // DEBUG_LOG("SPELLID %u",Id);
+                    if(m_bot->HasSpell(Id)) // examine all spell ranks in decreasing order and select first that is in spellbook
+                    {
+                        spellId = Id;
+                        break;
+                    }
+                } while (result->NextRow());
+            }
+        }

-        uint64 castOnGuid = fromPlayer.GetSelection();
+        uint64 castOnGuid = fromPlayer.GetSelection();
        if (spellId != 0 && castOnGuid != 0 && m_bot->HasSpell(spellId))
        {
            m_spellIdCommand = spellId;
            m_targetGuidCommand = castOnGuid;
        }
+
    }

    // use items

Hope you find this useful

Posted

Blueboy, thank you for the heads up, I'm presently testing with 9941 and have no problems sofar. I've had the core up now for aprox 9 hours and have had 28 players total on line including myself.

I'll let you know if I run into anything.

Posted
Bravo! I could not put it better myself. The continued momentum of playerbot development will require a community effort, one person cannot hope to satisfy this. Playerbot is far from perfect at present, but together, I believe we can get very close ;)

Cheers

personally having seen playerbot when it was on its original repo and then matching it to current playerbot I would say blueboy has taken a very buggy and rudimentary structure and made something real and quite promising from it... i think sometimes people see a modification project and they see how advanced it might be and then just get itchy and want to know why it isnt perfect not realizing that it was never meant to be in the game in the first place.. like the ppl who complain about AHBOT or even something as simple as allow.two.side interaction. these modifications are NOT blizzy, you wouldnt be able to use any of them on real servers (even ahbot in that the ahbot allows you to go to ANY ah and they are all technically the same ah..)

but thats going to happen, remember ignorance is bliss, but only to the ignorant... the rest of us have to deal with the headaches that come of it...lol

Posted
personally having seen playerbot when it was on its original repo and then matching it to current playerbot I would say blueboy has taken a very buggy and rudimentary structure and made something real and quite promising from it... i think sometimes people see a modification project and they see how advanced it might be and then just get itchy and want to know why it isnt perfect not realizing that it was never meant to be in the game in the first place.. like the ppl who complain about AHBOT or even something as simple as allow.two.side interaction. these modifications are NOT blizzy, you wouldnt be able to use any of them on real servers (even ahbot in that the ahbot allows you to go to ANY ah and they are all technically the same ah..)

but thats going to happen, remember ignorance is bliss, but only to the ignorant... the rest of us have to deal with the headaches that come of it...lol

well that was a quite long response , i think we all know that playerbot is a non-blizzlike addon/patch or whatever for mangos , but i think i was created for low-population servers to help players keep growing

Posted

It's a given that you will have servers with low to very little population. Core mods like Playerbot and AHBot attempt to add more "life" to such servers, to give the players an experience that is closer to retail or very large private server, at least. In that respect, these mods, and others like them, are "retail" in giving players the chance to experience content that would otherwise be impossible or pointless without the larger populations that makes auctions, parties, and raids possible on other servers.

That's why I like Playerbot so much. It may not be considered "retail" enough to make it into the core, but it allows me to be a one-man raid group or party so I can enjoy things like Blackrock Spire or Magister's Terrace without having to solo them at such a high level that the loot and rewards are useless.

Now all we need is a UI add-on with a slick interface that makes controlling the bots even easier. Anyone know WoW-Lua scripting?

Posted
It's a given that you will have servers with low to very little population. Core mods like Playerbot and AHBot attempt to add more "life" to such servers, to give the players an experience that is closer to retail or very large private server, at least. In that respect, these mods, and others like them, are "retail" in giving players the chance to experience content that would otherwise be impossible or pointless without the larger populations that makes auctions, parties, and raids possible on other servers.

That's why I like Playerbot so much. It may not be considered "retail" enough to make it into the core, but it allows me to be a one-man raid group or party so I can enjoy things like Blackrock Spire or Magister's Terrace without having to solo them at such a high level that the loot and rewards are useless.

Now all we need is a UI add-on with a slick interface that makes controlling the bots even easier. Anyone know WoW-Lua scripting?

that WOULD be really great and i think it would add some spice to the bots as well.. put all the abilities into a graphical GUI .. yeah that would be a great idea. I also agree on the use of them, its why i have been implementing the playerbot repo in my live core for quite some time and why we implement it in Hellscream. However I also like the comment earlier in this discussion where we were talking about making the bots friendly to other users as well.. then two LIVE ppl could join a party each bringing 9 bots of thier own along so you could do the 20-man areas or three people for 25mans etc..

Posted

I am interested in helping you out... but i don't know as much about the playerbot addon as you do (been around since Nov 2009 (didn't know much about WoW nor MaNGOS), learned coding since than and am now slowly learning the structure of MaNGOS)

I'll try to get some of our users to try and crash my core and see what comes out of it (i think 20+ users with 5+ bots per user will raise the odds of crashes :D)

Posted
I am interested in helping you out... but i don't know as much about the playerbot addon as you do (been around since Nov 2009 (didn't know much about WoW nor MaNGOS), learned coding since than and am now slowly learning the structure of MaNGOS)

I'll try to get some of our users to try and crash my core and see what comes out of it (i think 20+ users with 5+ bots per user will raise the odds of crashes :D)

No problems, I'll help if I can. Apply the patch I have included to your code, and rebuild. It's running on my server but I'm on linux and the server has a very low population, ME:rolleyes:

Cheers

Posted

please help! The problem is that the team in git ''git pull git: / / github.com / blueboy / mangos.git master'' there such errors

$ git pull git://github.com/blueboy/mangos.git master remote: Counting objects: 2121, done.←[K

remote: Compressing objects: 100% (516/516), done.←[K

remote: Total 1967 (delta 1654), reused 1738 (delta 1451)←[K

Receiving objects: 100% (1967/1967), 751.78 KiB | 26 KiB/s, done.

fatal: cannot pread pack file: No such file or directory

fatal: index-pack failed

and I can not patch the source mangos .help solve the problem!

I pereprobyval and and before the patch sources execute commands

git clean -f -x -d

git reset --hard

and all the time this error.

use clean sources

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use