From d2cc3fcbc2d7bf0b185eb03d169afc9783870568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Francesco=20Borz=C3=AC?= Date: Thu, 13 Aug 2020 00:25:20 +0200 Subject: [PATCH] feat(Docker): update to Ubuntu 20.04 + more improvements (#3277) --- .github/workflows/core_build.yml | 2 +- bin/acore-docker-remove-build-cache | 0 docker/authserver/Dockerfile | 4 ++-- docker/build/Dockerfile | 5 +++-- docker/worldserver/Dockerfile | 4 ++-- src/server/game/Entities/Unit/Unit.cpp | 4 ++-- src/server/game/Handlers/QuestHandler.cpp | 2 +- src/server/game/Spells/SpellEffects.cpp | 2 +- src/server/scripts/Commands/cs_misc.cpp | 4 ++-- .../boss_emperor_dagran_thaurissan.cpp | 2 +- src/server/scripts/EasternKingdoms/zone_undercity.cpp | 9 +++++++-- .../instance_trial_of_the_champion.cpp | 11 ++++++----- .../scripts/Outland/zone_blades_edge_mountains.cpp | 2 +- src/server/scripts/World/item_scripts.cpp | 6 +++--- 14 files changed, 32 insertions(+), 25 deletions(-) mode change 100644 => 100755 bin/acore-docker-remove-build-cache diff --git a/.github/workflows/core_build.yml b/.github/workflows/core_build.yml index 75bd8051b..7d9106132 100644 --- a/.github/workflows/core_build.yml +++ b/.github/workflows/core_build.yml @@ -57,4 +57,4 @@ jobs: ./bin/acore-docker-generate-etc - name: Build run: | - ./bin/acore-docker-build-no-scripts + ./bin/acore-docker-build diff --git a/bin/acore-docker-remove-build-cache b/bin/acore-docker-remove-build-cache old mode 100644 new mode 100755 diff --git a/docker/authserver/Dockerfile b/docker/authserver/Dockerfile index ec8811399..18953327e 100644 --- a/docker/authserver/Dockerfile +++ b/docker/authserver/Dockerfile @@ -1,7 +1,7 @@ -FROM ubuntu:bionic +FROM ubuntu:20.04 # install the required dependencies to run the authserver -RUN apt update && apt install -y libmysqlclient-dev libssl-dev libace-6.* libace-dev net-tools; +RUN apt update && apt install -y libmysqlclient-dev libssl-dev libace-6.4.5 libace-dev net-tools; HEALTHCHECK --interval=5s --timeout=15s --start-period=30s --retries=3 CMD netstat -lnpt | grep :3724 || exit 1 diff --git a/docker/build/Dockerfile b/docker/build/Dockerfile index 325c6e9be..648338b2a 100644 --- a/docker/build/Dockerfile +++ b/docker/build/Dockerfile @@ -1,7 +1,8 @@ -FROM ubuntu:bionic +FROM ubuntu:20.04 # install the required dependencies to compile AzerothCore -RUN apt update && apt install -y git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libace-6.* libace-dev +ARG DEBIAN_FRONTEND=noninteractive +RUN apt update && apt install -y git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev libace-6.4.5 libace-dev # copy the sources from the host machine to the Docker container ADD .git /azerothcore/.git diff --git a/docker/worldserver/Dockerfile b/docker/worldserver/Dockerfile index 7b684bb10..50f0076ec 100644 --- a/docker/worldserver/Dockerfile +++ b/docker/worldserver/Dockerfile @@ -1,7 +1,7 @@ -FROM ubuntu:bionic +FROM ubuntu:20.04 # install the required dependencies to run the authserver -RUN apt update && apt install -y libmysqlclient-dev libssl-dev libace-6.* libace-dev libreadline-dev net-tools; +RUN apt update && apt install -y libmysqlclient-dev libssl-dev libace-6.4.5 libace-dev libreadline-dev net-tools; HEALTHCHECK --interval=5s --timeout=15s --start-period=30s --retries=3 CMD netstat -lnpt | grep :8085 || exit 1 diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 8c6dd8bb5..2bec20b85 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -501,7 +501,7 @@ void Unit::UpdateSplineMovement(uint32 t_diff) // pussywizard: update always! not every 400ms, because movement generators need the actual position //m_movesplineTimer.Update(t_diff); //if (m_movesplineTimer.Passed() || arrived) - UpdateSplinePosition(); + UpdateSplinePosition(); } void Unit::UpdateSplinePosition() @@ -15094,7 +15094,7 @@ void Unit::ProcDamageAndSpellFor(bool isVictim, Unit* target, uint32 procFlag, u continue; // Some spells must always trigger //if (isAlwaysTriggeredAura[aurEff->GetAuraType()]) - triggerData.effMask |= 1<RemoveAurasByType(SPELL_AURA_FEIGN_DEATH); // Stop the npc if moving //if (!creature->GetTransport()) // pussywizard: reverted with new spline (old: without this check, npc would stay in place and the transport would continue moving, so the npc falls off. NPCs on transports don't have waypoints, so stopmoving is not needed) - creature->StopMoving(); + creature->StopMoving(); #ifdef ELUNA if (sEluna->OnGossipHello(_player, creature)) diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index f6e1180e2..0349f6e46 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -2517,7 +2517,7 @@ void Spell::EffectSummonType(SpellEffIndex effIndex) // xinef: i think this is wrong, found only 2 vehicles with faction override and one of them should inherit caster faction... //uint32 faction = properties->Faction; //if (!faction) - uint32 faction = m_originalCaster->getFaction(); + uint32 faction = m_originalCaster->getFaction(); summon->setFaction(faction); break; diff --git a/src/server/scripts/Commands/cs_misc.cpp b/src/server/scripts/Commands/cs_misc.cpp index 80f245e10..a287e9d65 100644 --- a/src/server/scripts/Commands/cs_misc.cpp +++ b/src/server/scripts/Commands/cs_misc.cpp @@ -1308,7 +1308,7 @@ public: //if (team == ~uint32(0)) // handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAVEYARDS, zone_id); //else - handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAFACTION, zone_id, team_name.c_str()); + handler->PSendSysMessage(LANG_COMMAND_ZONENOGRAFACTION, zone_id, team_name.c_str()); } return true; @@ -3067,7 +3067,7 @@ public: group->SendUpdate(); } - return true; + return true; } static bool HandleGroupDisbandCommand(ChatHandler* handler, char const* args) diff --git a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp index d376cf84c..6f0cdd346 100644 --- a/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp +++ b/src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockDepths/boss_emperor_dagran_thaurissan.cpp @@ -88,7 +88,7 @@ public: //} //else //{ - HandOfThaurissan_Timer = 5000; + HandOfThaurissan_Timer = 5000; //Counter = 0; //} } else HandOfThaurissan_Timer -= diff; diff --git a/src/server/scripts/EasternKingdoms/zone_undercity.cpp b/src/server/scripts/EasternKingdoms/zone_undercity.cpp index c346cbf49..fe5d6bab7 100644 --- a/src/server/scripts/EasternKingdoms/zone_undercity.cpp +++ b/src/server/scripts/EasternKingdoms/zone_undercity.cpp @@ -2052,8 +2052,13 @@ public: break; case EVENT_AGGRO_JAINA: if (me->GetVictim()) - if (Creature* jaina = ObjectAccessor::GetCreature(*me, jainaGUID)) - jaina->AI()->AttackStart(me->GetVictim()); DoCast(me, SPELL_THUNDER); + { + if (Creature *jaina = ObjectAccessor::GetCreature(*me, jainaGUID)) + { + jaina->AI()->AttackStart(me->GetVictim()); + } + } + DoCast(me, SPELL_THUNDER); _events.ScheduleEvent(EVENT_AGGRO_JAINA, 2 * IN_MILLISECONDS); break; case EVENT_WRYNN_BUFF: diff --git a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp index 669fe010f..ac9ef20b7 100644 --- a/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp +++ b/src/server/scripts/Northrend/CrusadersColiseum/TrialOfTheChampion/instance_trial_of_the_champion.cpp @@ -1077,10 +1077,11 @@ public: break; case EVENT_ARGENT_CHALLENGE_MOVE_FORWARD: { - if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) + if (Creature* boss = instance->GetCreature(NPC_ArgentChampionGUID)) { boss->GetMotionMaster()->MovePoint(0, 746.881f, 635.263f, 411.7f); - events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_ATTACK, 3000); - events.PopEvent(); + } + events.ScheduleEvent(EVENT_ARGENT_CHALLENGE_ATTACK, 3000); + events.PopEvent(); } break; case EVENT_ARGENT_CHALLENGE_ATTACK: @@ -1152,8 +1153,8 @@ public: bk->ToCreature()->SetReactState(REACT_PASSIVE); } - announcer->SetFacingToObject(bk_vehicle); - announcer->AI()->Talk(TEXT_BK_RAFTERS); + announcer->SetFacingToObject(bk_vehicle); + announcer->AI()->Talk(TEXT_BK_RAFTERS); } events.PopEvent(); } diff --git a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp index 0f17ad869..a2eed8602 100644 --- a/src/server/scripts/Outland/zone_blades_edge_mountains.cpp +++ b/src/server/scripts/Outland/zone_blades_edge_mountains.cpp @@ -157,7 +157,7 @@ public: me->SummonCreature(NPC_HOUND, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); else me->SummonCreature(NPC_FEL_IMP, 0, 0, 0, 0, TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 10000); - events.ScheduleEvent(EVENT_PARTY_TIMER, 3000); + events.ScheduleEvent(EVENT_PARTY_TIMER, 3000); break; } } diff --git a/src/server/scripts/World/item_scripts.cpp b/src/server/scripts/World/item_scripts.cpp index d0a0ab33e..3498d205d 100644 --- a/src/server/scripts/World/item_scripts.cpp +++ b/src/server/scripts/World/item_scripts.cpp @@ -48,15 +48,15 @@ public: case 24538: if (player->GetAreaId() != 3628) disabled = true; - break; + break; case 34489: if (player->GetZoneId() != 4080) disabled = true; - break; + break; case 34475: if (const SpellInfo* spellInfo = sSpellMgr->GetSpellInfo(SPELL_ARCANE_CHARGES)) Spell::SendCastResult(player, spellInfo, 1, SPELL_FAILED_NOT_ON_GROUND); - break; + break; } // allow use in flight only