Closed Zombie-Ryushu closed 1 month ago
Hi!
Well... It's hard to say, without any information about it...
Can you describe your complex Docker structure?
But... Before that...
If your need is to extract the client data, you can do it in a more simpler context (e.g. following the Getting started procedure you won't even need to use docker-compose.yml
stuff) and then copy those files to the volumes used in your complex Docker structure.
I don't know if you're and expert of Docker or not... But I think copying some files from one volume to another should be pretty easy even if you're a beginner...
Here the documentation: https://docs.docker.com/reference/cli/docker/container/cp/
I d know how to copy data in and out of a Docker volume. I did follow the getting started method and the issue that cropped up was port forwarding collisions with other MariaDB instances in other Docker Containers on port 3306.
When this issue first cropped up it was because multiple docker Containers were fighting over the same port numbers, so I decided to make each Docker server a Router unto its own Docker Subnet. The actual node's IP address would be 192.168.0.6 and it would be a default gateway to 10.0.0.0/24 with the IP of the cMangos server being at 10.0.0.4. except that for some reason I have to give the Docker Image 0.5 and 0.6 for realmd and mangosd. and this leads to them not being able to find MariaDB. In addition there is no description of the procedure for extracting asset data from the client.
Ok... I'm starting to understand what your problem is...
I opened a PR; let's try with this.
Now...
Talking exclusively about the client extraction file, mariadb
is not even required.
First: identify where your WoW installation directory is.
Second: run the following command (accordingly to you environment).
Windows Command Prompt: (cmd.exe
)
docker run -it --rm ^
--volume "cmangos_mangosd_data:/home/mangos/data" ^
--volume "<path>:/home/mangos/wow-client" ^
^
ghcr.io/byloth/cmangos/<version>/builder:latest extract
Windows PowerShell: (powershell.exe
)
docker run -it --rm `
--volume "cmangos_mangosd_data:/home/mangos/data" `
--volume "<path>:/home/mangos/wow-client" `
`
ghcr.io/byloth/cmangos/<version>/builder:latest extract
A Unix shell: (e.g. bash
)
docker run -it --rm \
--volume "cmangos_mangosd_data:/home/mangos/data" \
--volume "<path>:/home/mangos/wow-client" \
\
ghcr.io/byloth/cmangos/<version>/builder:latest extract
N.B. (1): replace the <path>
and <version>
placeholders with the correct path of your WoW client and the chosen version of the supported client (classic
, tbc
or wotlk
) respectively.
N.B. (2): in this example, I used cmangos_mangosd_data
as the name of the selected volume.
You can use any other volume or even mount a local directory to use for extraction.
Understood. I don't know why MariaDB even has to be exposed as a port forward at all.
Yeah... Exactly.
It was -probably- a typo of some old stuff...
My bad! Sorry about that. 🥹
Glad to be of help. Thanks for your interest in this project.
Have a nice day!
I'm going to do a git pull and try again.
I am having issues in complex Docker situations where docker instances are assigned their own IP addresses. I have a complex issue with IP subnetting and the Docker compose yml, I'd also like to know what the appropriate way to extract the client data is in this docker image context?