코드 (스크립트), 모듈 및 데이터베이스 (추가 된 퀘스트, 공급 업체, 항목)에 대한 사용자 지정을 통해 Docker Azerothcore를 올바르게 업데이트하는 방법

Aug 19 2020

Docker 컨테이너 내에서 Azerothcore-WOLTK를 실행하고 있습니다. 중요한 보안 수정 사항을 읽었으므로 서버를 업데이트하고 싶습니다.

그러나 작년 (2019 년 12 월) 처음 설치 한 이후로 서버를 업데이트 한 적이 없습니다. 그 이후로 몇 가지 방법으로 서버를 사용자 정의했습니다.

  1. 두 명의 플레이어가 제대로 작동하도록 몇 가지 보스 스크립트를 사용자 정의했습니다.
  2. 컴파일 할 추가 코드와 실행할 SQL 쿼리가 필요한 모듈을 포함하여 몇 가지 모듈을 설치했습니다.
  3. 데이터베이스를 직접 수정하여 퀘스트, NPC, 공급 업체 및 아이템을 추가했습니다.

따라서 나는 모든 것을 엉망으로 만들지 매우 걱정됩니다. 내가 수행 한 모든 사용자 정의를 유지하면서 서버를 최신 버전으로 업데이트하는 방법에 대한 귀하의 도움이 필요합니다.

업데이트 된 보스 스크립트를 백업하고, git pull을 수행하고, 빌드하기 전에 다시 교체 할 수 있다고 생각하기 때문에 특히 데이터베이스 변경에 대해 걱정합니다 (나중에 포크를 수행해야합니다. 생각하지 않았습니다) ... 그러나 어쨌든 내가 도커 설치를 사용하고 있다는 것을 고려할 때 단계별로 나를 안내해 주시면 대단히 감사하겠습니다.

데이터베이스와 관련된 모든 경우에는 Heidi SQL을 사용하므로 모든 데이터베이스 프로 시저에 사용할 수 있습니다. SQL 쿼리에 능숙하지는 않지만 필요에 따라 .sql 파일을 가져올 수 있어야합니다.

많은 것을 요구하고 있다는 것을 알고 있으므로 당장 대답해야한다는 부담을 느끼지 마십시오. 기회가있을 때마다 도와 주시면 감사하겠습니다.

시간 내 주셔서 감사합니다 :)

답변

3 FrancescoBorzi Aug 20 2020 at 04:49

나는 당신이 언급 한 모든 요점에 대답하려고 노력할 것입니다.

1. 보스 스크립트.

발생할 수있는 최악의 상황은를 사용하여 최신 변경 사항 을 가져 오는 동안 병합 충돌 이 발생한다는 것입니다 git. 따라서 수동으로 해결해야합니다. 특히 귀하의 경우에는 반드시 어렵지 않습니다. 그것은 단지 보스 스크립트이기 때문에, 본질적으로 꽤 독립적이며 그것들을 엉망으로 만들 때 다른 것을 깨뜨리지 않을 것입니다.

2. 모듈

모듈은 전혀 문제가되지 않아야합니다. 모듈은 정확히 이러한 이유로 존재합니다. 분리되어 코어를 업데이트하는 경우 문제를 일으키지 않습니다.

여기서 유일한 관심사는 핵심 변경이 필요한 모듈입니다. 어떤 모듈을 설치했는지 모르겠습니다. 일반적으로 이런 일은 발생하지 않습니다. 적절한 아제로스 코어 모듈은 코어 변경이 필요하지 않습니다. 그러나 다시 말하지만, 최악의 경우 git merge 충돌이 발생합니다. 너무 큰 것은 아닙니다 (모듈에 필요한 이러한 변경 사항이 얼마나 크고 침략적 이었는지에 따라 다름).

3. 사용자 지정 데이터베이스 변경.

황금률은 항상 사용자 지정 SQL 쿼리를 쉽게 다시 적용 할 수있는 방식으로 어딘가에 저장하는 것입니다. 예를 들어, 항상 DELETEbefore 사용 INSERT, UPDATE가능하면 선호 등 ...

따라서 필요한 것은 사용자 지정 변경 사항에 해당하는 모든 SQL 코드가 포함 된 파일 (또는 파일 묶음)뿐입니다. 없는 경우에도 DB에서 추출 할 수 있습니다.

그런 다음 필요하다고 생각되면 코어를 업데이트 한 후 언제든지 다시 적용 할 수 있습니다. 다시 적용 할 필요가없는 경우 일 수도 있습니다. 또는 새로운 아제로스 코어 세계 데이터베이스에서 시작하여 변경 사항을 다시 적용하고 싶을 수도 있습니다. 이것은 실제로 특정 경우에 따라 다르지만 어쨌든 (SQL 파일에 변경 사항을 유지하는 한) 괜찮습니다.

Keira3 를 사용 하여 데이터베이스를 편집하거나 필요한 경우 변경 사항을 추출 할 수 있습니다. 예를 들어 항목을 열고 해당 "전체 쿼리"를 복사 할 수 있습니다.

먼저 백업

업그레이드 절차를 시작하기 전에 다음의 백업을 만듭니다.

  • 귀하의 DB
  • 수정 한 소스 파일 (예 : 보스 등)

자주 업데이트하십시오!

그러나 작년 (2019 년 12 월) 처음 설치 한 이후로 서버를 업데이트 한 적이 없습니다.

이것은 전혀 권장되지 않습니다! 아제로스 코어를 자주 업데이트해야합니다 (적어도 일주일에 한 번). 그렇게하는 데는 많은 좋은 이유가 있습니다. 그 중 하나는 자주하는 것이 훨씬 쉽습니다.

Docker를 사용할 때 AzerothCore를 업데이트하는 방법

Docker로 AC 를 업데이트하는 방법에 대한 일반적인 질문이 이미 여기에 있습니다. azerothcore-wotlk docker 컨테이너를 업데이트하는 방법