Erro aplicar patch

error: patch failed: src/server/game/World/World.h:712

error: src/server/game/World/World.h: patch does not apply

Estou usando a ultima rev e o ultima rev do patch do WG tambem.

Quando vou aplicar o patch do AC1 vai normal, de WG aparece isso, eu andei analisando as ultimas alteração no World.h e não achei nada significante para gerar isso, irei importar o script manualmente, mais caso alquem souber oque pode ser fico grato.

Obrigado.

Acho que fica impraticavel ajudar vc sem ver o patch.

Foi isso que o Aokromes tava tentando dizer… a gente não é vidente =)

Especialmente nessas questões com patches que não são suportados pelo TC.

é o patch do devnull cara , o patch https://github.com/thedevnull/thedevnull-patches/blob/master/11010-independent/0001-Wintergrasp.patch

Usando a ultima rev.

Ja analisei o codico do world e do WG, não sei porque ta dando isso.

Deleta o trecho do patch e aplica ele na mão =p

Pode ser um problema com tab ou space.

Bom isso ta acontecendo caso eu ja tenha aplicado algum patch antes.

Tipo, eu baixei uma rev do zero e o WG aplicou certo, ai fui aplicar o AC1 e ele deu o mesmo erro:

xxxx@anbient:~/wow2/TrinityCore# git apply 0001-wintergrasp.patch

xxxx@anbient:~/wow2/TrinityCore# git apply 0001-ac1.patch

error: patch failed: src/server/game/World/World.h:712

error: src/server/game/World/World.h: patch does not apply

xxxx@anbient:~/wow2/TrinityCore#

Alquem faz ideia do porque?

Já tentou o apply com --reject? ex.:

git apply --reject 0001-ac1.patch

Depois procura os arquivos .rej e aplica manualmente o que foi rejeitado.

Fiz como o devnull falou e compilou com ac1 e wg, mais na hora do make install ficou alertando :

make[2]: ** Aviso: O arquivo `/root/wow2/TrinityCore/src/server/game/World/World.h’ esta com a hora 2,1e+04 adiantada

normal ?


O servidor rodou, mais meu world server apareceu isso :

Starting Outdoor PvP System

Invalid OutdoorPvPTypes value 7 in outdoorpvp_template; skipped.

Sendo oque o valor 7 é :

7 outdoorpvp_wg Wintergrasp

no banco de dados.

e o Winstersgrap não inicia

Alquem faz ideia doque pode ser ?


Novas

Apliquei o patch em uma compilação zerada e sem o AC1, e world carregou normalmente e WG inicia normalmente.

Estou tentando entender oque fiz de errado ao aplicar o AC1

  • Pegue os 2 patches do meu repositorio (rev 11024 se não me engane).

  • git clone (endereço do trinity core) trinitycore2

  • git apply --reject wintergrasp.patch

  • git apply --reject ac1.patch

cmake e compila…

Fica atento quando for dar o git apply se ele não vai gerar rejects. Rejects são os arquivos .rej que são as partes que o git não conseguiu aplicar do patch, daí você tem que procurar e aplicar manualmente, editando o arquivo e inserindo as partes do .rej que faltaram, não tem erro.

Se ainda assim tiver problema, me fala que eu gero um AC1+Wintergrasp e envio aqui no forum.

Provavelmente ambos os patches foram feitos para a mesma cabeça (não tá errado)… qnd ce aplica qualquer um dos patches vc modifica o arquivo World.h, qnd vc vai aplicar o outro ele já não está mais como o que se esperava… daí ele se recusa a aplicar o patch. Por isso que vc aplica um e qnd vai aplicar o outro sempre dá problema…

Vou mudar o “provavel” para com certeza… já que ambos os patches mexem nos arquivos de configuração adicionando variável e portanto adicionando linhas no World.h.

Aplicado : git apply --reject wintergrasp.patch


root@xxxx:~/wow4/trinitycore2# git apply --reject wintergrasp.patch

Checking patch sql/Wintergrasp/Wintergrasp_world.sql...

Checking patch src/server/game/CMakeLists.txt...

Checking patch src/server/game/Chat/Chat.cpp...

Checking patch src/server/game/Chat/Chat.h...

Checking patch src/server/game/Chat/Commands/Level2.cpp...

Checking patch src/server/game/Entities/GameObject/GameObject.cpp...

Checking patch src/server/game/Entities/Player/Player.cpp...

Checking patch src/server/game/Miscellaneous/Language.h...

Checking patch src/server/game/OutdoorPvP/OutdoorPvP.h...

Checking patch src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp...

Checking patch src/server/game/Scripting/ScriptLoader.cpp...

Checking patch src/server/game/Server/Protocol/Handlers/BattleGroundHandler.cpp...

Checking patch src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp...

Checking patch src/server/game/Spells/Auras/SpellAuraEffects.cpp...

Checking patch src/server/game/Spells/Spell.cpp...

Checking patch src/server/game/Spells/SpellEffects.cpp...

Checking patch src/server/game/Spells/SpellMgr.cpp...

Checking patch src/server/game/World/World.cpp...

Checking patch src/server/game/World/World.h...

Checking patch src/server/scripts/CMakeLists.txt...

Checking patch src/server/scripts/Northrend/CMakeLists.txt...

Checking patch src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp...

Checking patch src/server/scripts/Northrend/wintergrasp.cpp...

Checking patch src/server/scripts/OutdoorPvP/CMakeLists.txt...

Checking patch src/server/scripts/OutdoorPvP/OutdoorPvPWG.cpp...

Checking patch src/server/scripts/OutdoorPvP/OutdoorPvPWG.h...

Checking patch src/server/worldserver/worldserver.conf.dist...

Applied patch sql/Wintergrasp/Wintergrasp_world.sql cleanly.

Applied patch src/server/game/CMakeLists.txt cleanly.

Applied patch src/server/game/Chat/Chat.cpp cleanly.

Applied patch src/server/game/Chat/Chat.h cleanly.

Applied patch src/server/game/Chat/Commands/Level2.cpp cleanly.

Applied patch src/server/game/Entities/GameObject/GameObject.cpp cleanly.

Applied patch src/server/game/Entities/Player/Player.cpp cleanly.

Applied patch src/server/game/Miscellaneous/Language.h cleanly.

Applied patch src/server/game/OutdoorPvP/OutdoorPvP.h cleanly.

Applied patch src/server/game/OutdoorPvP/OutdoorPvPMgr.cpp cleanly.

Applied patch src/server/game/Scripting/ScriptLoader.cpp cleanly.

Applied patch src/server/game/Server/Protocol/Handlers/BattleGroundHandler.cpp cleanly.

Applied patch src/server/game/Server/Protocol/Handlers/CharacterHandler.cpp cleanly.

Applied patch src/server/game/Spells/Auras/SpellAuraEffects.cpp cleanly.

Applied patch src/server/game/Spells/Spell.cpp cleanly.

Applied patch src/server/game/Spells/SpellEffects.cpp cleanly.

Applied patch src/server/game/Spells/SpellMgr.cpp cleanly.

Applied patch src/server/game/World/World.cpp cleanly.

Applied patch src/server/game/World/World.h cleanly.

Applied patch src/server/scripts/CMakeLists.txt cleanly.

Applied patch src/server/scripts/Northrend/CMakeLists.txt cleanly.

Applied patch src/server/scripts/Northrend/VaultOfArchavon/instance_vault_of_archavon.cpp cleanly.

Applied patch src/server/scripts/Northrend/wintergrasp.cpp cleanly.

Applied patch src/server/scripts/OutdoorPvP/CMakeLists.txt cleanly.

Applied patch src/server/scripts/OutdoorPvP/OutdoorPvPWG.cpp cleanly.

Applied patch src/server/scripts/OutdoorPvP/OutdoorPvPWG.h cleanly.

Applied patch src/server/worldserver/worldserver.conf.dist cleanly.

Aplicado : git apply --reject ac1.patch


root@xxxxxx:~/wow4/trinitycore2# git apply --reject ac1.patch

Checking patch sql/tools/create_cheaters.sql...

Checking patch sql/tools/update_cheaters.sql...

Checking patch src/server/game/Entities/Player/Player.cpp...

Checking patch src/server/game/Entities/Player/Player.h...

Checking patch src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp...

Checking patch src/server/game/Server/Protocol/Handlers/MovementHandler.cpp...

Checking patch src/server/game/Server/WorldSession.h...

Checking patch src/server/game/Spells/Auras/SpellAuraEffects.cpp...

Checking patch src/server/game/World/World.cpp...

Checking patch src/server/game/World/World.h...

error: while searching for:

        static int32 GetVisibilityNotifyPeriodInInstances() { return m_visibility_notify_periodInInstances;  }

        static int32 GetVisibilityNotifyPeriodInBGArenas()  { return m_visibility_notify_periodInBGArenas;   }


        void ProcessCliCommands();

        void QueueCliCommand(CliCommandHolder* commandHolder) { cliCmdQueue.add(commandHolder); }



error: patch failed: src/server/game/World/World.h:712

Checking patch src/server/scripts/Commands/cs_gm.cpp...

Checking patch src/server/worldserver/worldserver.conf.dist...

Applied patch sql/tools/create_cheaters.sql cleanly.

Applied patch sql/tools/update_cheaters.sql cleanly.

Applied patch src/server/game/Entities/Player/Player.cpp cleanly.

Applied patch src/server/game/Entities/Player/Player.h cleanly.

Applied patch src/server/game/Movement/MovementGenerators/WaypointMovementGenerator.cpp cleanly.

Applied patch src/server/game/Server/Protocol/Handlers/MovementHandler.cpp cleanly.

Applied patch src/server/game/Server/WorldSession.h cleanly.

Applied patch src/server/game/Spells/Auras/SpellAuraEffects.cpp cleanly.

Applied patch src/server/game/World/World.cpp cleanly.

Applying patch src/server/game/World/World.h with 1 rejects...

Rejected hunk #1.

Hunk #2 applied cleanly.

Applied patch src/server/scripts/Commands/cs_gm.cpp cleanly.

Applied patch src/server/worldserver/worldserver.conf.dist cleanly.

Os erros como sempre aparece no World.h, Então adicionu o reject World.h.rej manualmente, o Unico que foi gerado.

O reject gerado é :


diff a/src/server/game/World/World.h b/src/server/game/World/World.h	(rejected hunks)

@@ -712,6 +712,19 @@ class World

         static int32 GetVisibilityNotifyPeriodInInstances() { return m_visibility_notify_periodInInstances;  }

         static int32 GetVisibilityNotifyPeriodInBGArenas()  { return m_visibility_notify_periodInBGArenas;   }


+        //movement anticheat enable flag

+        inline bool GetMvAnticheatEnable()             {return m_MvAnticheatEnable;}

+        inline bool GetMvAnticheatKick()               {return m_MvAnticheatKick;}

+        inline uint32 GetMvAnticheatAlarmCount()       {return m_MvAnticheatAlarmCount;}

+        inline uint32 GetMvAnticheatAlarmPeriod()      {return m_MvAnticheatAlarmPeriod;}

+        inline unsigned char GetMvAnticheatBan()       {return m_MvAntiCheatBan;}

+        inline std::string GetMvAnticheatBanTime()     {return m_MvAnticheatBanTime;}

+        inline unsigned char GetMvAnticheatGmLevel()   {return m_MvAnticheatGmLevel;}

+        inline bool GetMvAnticheatKill()               {return m_MvAnticheatKill;}

+        inline float GetMvAnticheatMaxXYT()            {return m_MvAnticheatMaxXYT;}

+        inline uint16 GetMvAnticheatIgnoreAfterTeleport()   {return m_MvAnticheatIgnoreAfterTeleport;}

+

+

         void ProcessCliCommands();

         void QueueCliCommand(CliCommandHolder* commandHolder) { cliCmdQueue.add(commandHolder); }


Apos eu add ele manualmente no world.h, fica assim uma parte do local dele :


 static int32 GetVisibilityNotifyPeriodInInstances() { return m_visibility_notify_periodInInstances;  }

        static int32 GetVisibilityNotifyPeriodInBGArenas()  { return m_visibility_notify_periodInBGArenas;   }


        void SetWintergrapsTimer(uint32 timer, uint32 state)

        {

            m_WintergrapsTimer = timer;

            m_WintergrapsState = state;

        }


        uint32 GetWintergrapsTimer() { return m_WintergrapsTimer; }

        uint32 GetWintergrapsState() { return m_WintergrapsState; }


        uint32 m_WintergrapsTimer;

        uint32 m_WintergrapsState;


         //movement anticheat enable flag

        inline bool GetMvAnticheatEnable()             {return m_MvAnticheatEnable;}

        inline bool GetMvAnticheatKick()               {return m_MvAnticheatKick;}

        inline uint32 GetMvAnticheatAlarmCount()       {return m_MvAnticheatAlarmCount;}

        inline uint32 GetMvAnticheatAlarmPeriod()      {return m_MvAnticheatAlarmPeriod;}

        inline unsigned char GetMvAnticheatBan()       {return m_MvAntiCheatBan;}

        inline std::string GetMvAnticheatBanTime()     {return m_MvAnticheatBanTime;}

        inline unsigned char GetMvAnticheatGmLevel()   {return m_MvAnticheatGmLevel;}

        inline bool GetMvAnticheatKill()               {return m_MvAnticheatKill;}

        inline float GetMvAnticheatMaxXYT()            {return m_MvAnticheatMaxXYT;}

        inline uint16 GetMvAnticheatIgnoreAfterTeleport()   {return m_MvAnticheatIgnoreAfterTeleport;}



        void ProcessCliCommands();

        void QueueCliCommand(CliCommandHolder* commandHolder) { cliCmdQueue.add(commandHolder); }

Rodo o Cmake, e tudo Ok.

Rodo o make -j 16 ( meu servidor tem 16 cores )

Ai começa a aparecer : make[2]: ** Aviso: O arquivo `/root/wow2/TrinityCore/src/server/game/World/World.h’ esta com a hora 2,1e+04 adiantada

Eu deixo continuar, Fora a mensagem de hora errada, não da nenhum erro no make.

No make install ele começa a fazer o building de novo, só que bem mais lento, e continua a mensagem de hora errada.

Bom a mensagem continua :

Starting Outdoor PvP System

Invalid OutdoorPvPTypes value 7 in outdoorpvp_template; skipped.

Estou tentando ver o porque esta dando este erro no world.h, realmente seria muito melhor um ac1+wg junto, pois ja é a terceira build limpa que faço, quando eu rodo só o AC1 ou WG eles funcionam bem, o WG mesmo eu estava testando e tudo estava rodando normal.

Muito Obrigado.

É oque estou pensando tambem, pois quando eu aplico apenas um dos dois, eles funcionam perfeitamente, mais não é possivel aplicar ambos juntos, e tambem mesmo add manualmente esta dando estes problemas.

Bom eu consequi fazer funcionar, testado Ac1 e WG, mais realmente este problema foi chato de resolver, Dev, saberia me dizer alguma solução pratica ?

Muito obrigado!

Cara, na verdade eu acho que não existe muita solução prática em aplicar patches, é normal ter que editar arquivos manualmente. Eu mesmo pra manter aquele repositório atualizado, gasto um tempinho lidando com os rejects e coisas que mudam no core que eu tenho que atualizar e fazer funcionar nos patches.

Em relação ao lance da hora, eu nunca vi erro parecido. Não saberia te falar a origem dele, se é algo do make, algo que o Git quando vai dar o apply faz, sei lá, não faço idéia, tenta dar uma googlada.

Bom o problema da hora eu ja descobri, pois eu edito o arquivo no meu desktop, e passo pro sevidor, nisso a propriedades do arquivos fica coma a hora do windows, que é o horario de brasilia etc, mais isto não afeta em nada, apenas que o cmake reconhece esse tipo de propriedade.

Espero que voce possa continuar com este otimo trabalho que esta fazendo com Wintesgrap.

Obrigado.

A hora errada afeta sim! /emoticons/default_smile.png

Já tive esse tipo de problema mas não lembro exatamente oq acontece… acho que ele não compila o arquivo que tá com hora errada… fica com a versão anterior dele. Algo assim…

Bom seão compilare ele não carregava os eventos de WinterGrasp e AntiCheat, só se for em outros casos hehe

Mais voce sabe me dizer como solucionar o problema da horas ?

Abra o arquivo na máquina destino, modifique qq coisa, volte ao original e salve. Isso vai mudar o tempo do arquivo no destino.

aew amigo por favor me ensina de maneira bem facil a aplicar o petch antcheat passivo pq so quero aprender a aplicar esses

seria possivel me ajudar/

Quais arquivos devo abrir e modificar para alterar os arquivos para o tempo ficar normal

Tem que alterar no destino todos os arquivos que você alterou e salvou no windows.

Assim a data da ultima alteração fica com o horário do teu servidor.