GithubHelp home page GithubHelp logo

byloth / cmangos-docker Goto Github PK

View Code? Open in Web Editor NEW
14.0 14.0 3.0 149 KB

⚔ A collection of ready-to-use Docker images to host your WoW emulated private server wherever you want.

License: GNU General Public License v2.0

Dockerfile 27.04% Shell 71.87% PowerShell 1.08%
cmangos docker emulation private-server ready-to-use wow

cmangos-docker's Introduction

🧑‍💻 «Hey!» 👋

Instagram Logo LinkedIn Logo Mastodon Logo Spotify Logo Steam Logo Twitter Logo |

Who am I?

A Software Craftsman in which the “Sacred Fire of Programming” burns bright...
A Musician for whom IT is a Passion, before being a Profession...
An Experimenter with a passion for new technologies, for the World Wide Web but -above all- for things done right.

Byloth's GitHub Stats Byloth's GitHub Stats
Discord logo Instagram logo Telegram logo Twitch logo YouTube logo

cmangos-docker's People

Contributors

byloth avatar erikssonjoakim avatar mserajnik avatar scarabol avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

cmangos-docker's Issues

epic(ui): implement a web UI to manage it

Implement a web UI to manage the server:

On the Administrator side:

  • Statistics about realms load, active users and so on...
  • A way to manage the users (adds new users, ban users, reset user passwords, etc...).

On the User side:

  • Register a new account.
  • Reset a forgotten password.
  • Change account informations (e-mail, username, password, etc...).
  • Delete the account.

🪲 bug(builder): File extraction fails

Hello! I recently found your project while having the same idea to dockerize cmangos. Seeing the great work you've already done I see no reason not to use your images to further my project.

Description

I'm following the wiki starter guide and I noticed the extract argument and consequent function does not extract any files. I'm using the classic image but I assume this is a problem for all expansions

How to reproduce

docker pull ghcr.io/byloth/cmangos/classic:latest &&
docker pull ghcr.io/byloth/cmangos/classic/builder:latest
docker run --rm \
           --volume "cmangos_mangosd_data:/home/mangos/data" \
           --volume "<PATH>:/home/mangos/wow-client" \
    \
    ghcr.io/byloth/cmangos/classic/builder:latest extract

Excepted behaviour

Temporary container extracts all files necessary for mangosd

Screenshots

Start extracting MaNGOS data: DBCs/maps 0, vmaps 0, mmaps 0 using CPU threads
Screenshot 2024-02-26 at 20 24 25

Cataclysm

Any chance you could add support for Cataclysm? 🤞

docs: better documentation

The documentation needs to be improved:

  • Use the Wiki section.
  • Add a chapter describing all the requirements, how to install them (on various OS) and how they work.
  • Write the documentation for each command and how to use them.
  • Describe how to use this containers stack in production.
  • Give some advice on how to develop and customize these containers.

bug(docker): Images built by GitHub Actions can't be used as cache

For some strange and unknown reason (that I can't understand) images created by GitHub Actions can't actually be used as a cache for other subsequent builds. They're simply ignored even though the layers should be identical.

It doesn't matter if you're trying to use them in local development environments or in other GitHub Actions runners.
They're still ignored.


Just as it arrived, maybe it will go away on its own? Dunno.

upd: Update to `ubuntu:22.04`

Something gone wrong during the project building...
Here's the output:

284.2 [ 98%] Building CXX object src/game/CMakeFiles/game.dir/vmap/WorldModel.cpp.o
286.5 during GIMPLE pass: vrp
286.5 /home/mangos/mangos/src/game/vmap/TileAssembler.cpp: In member function 'void VMAP::TileAssembler::exportGameobjectModels()':
286.5 /home/mangos/mangos/src/game/vmap/TileAssembler.cpp:332:10: internal compiler error: in compute_live_loop_exits, at tree-ssa-loop-manip.c:247
286.5   332 |     void TileAssembler::exportGameobjectModels()
286.5       |          ^~~~~~~~~~~~~
286.5 0xe34ddb internal_error(char const*, ...)
286.5   ???:0
286.5 0xe2b903 fancy_abort(char const*, int, char const*)
286.5   ???:0
286.5 Please submit a full bug report,
286.5 with preprocessed source if appropriate.
286.5 Please include the complete backtrace with any bug report.
286.5 See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.
286.5 make[2]: *** [src/game/CMakeFiles/game.dir/build.make:9261: src/game/CMakeFiles/game.dir/vmap/TileAssembler.cpp.o] Error 1
286.5 make[2]: *** Waiting for unfinished jobs....
287.1 make[1]: *** [CMakeFiles/Makefile2:728: src/game/CMakeFiles/game.dir/all] Error 2
287.1 make: *** [Makefile:136: all] Error 2

Try to understand what the problem is and resolve it.

fix(scripts): properly support the database update

Currently, it's possible to perform some specific actions on the database by running the builder/run.sh script.
There's also an update-db option which should allow you to update the current database applying all the latest updates.

Under the hood, this option perform various actions and is usually enough to successfully update the database.
However, sometimes it doesn't update the database correctly and some manual actions are required to complete the database update.

Unfortunately, this problem cannot be solved yet because one of the scripts from the official CMaNGOS codebase, used for the update, cannot be run in non-interactive mode.
Until this script is fixed, this issue cannnot be solved.


Let's track it here...

bug: There's probably a malfunction with `mktemp`.

While running the ExtractResources.sh script, this error was printed:

./ExtractResources.sh: 269: cannot create : Directory nonexistent
cat: '': No such file or directory
./ExtractResources.sh: 271: [: Illegal number:

I would say that the process ran successfully but that -for some unknown reason- the mktemp command execution failed.

Is it probably related to the change of the $TMPDIR environmental variable inside the Docker container?
Is it related to the fact that a mounted volume may not implement some specific API required by the mktemp application to work properly?

I don't know yet...
To be investigated.

Status of this project

Hello,

first of all, thanks for your work!

I have recently put together a Docker setup for VMaNGOS1 ; I am quite happy with it, but it's certainly a lot less impressive than your CMaNGOS setup here.

I've since then looked into maybe also creating a Docker setup for CMaNGOS (TBC in particular, since that what interests me personally) and stumbled upon your project here.

From what I can tell, there's definitely no need for me to start a new project, but I've noticed two things in particular:

  1. The documentation seems to be unfinished/not correct in some places; e.g, the README tells you to run ./build.sh --target all when that seems unnecessary when using the prebuilt images (and is also not mentioned in the wiki). I there probably isn't too much information missing, but it seems like it needs to be cleaned up a bit.
  2. The update process is not entirely clear; it seems like you can't do a proper update in some situations without manual actions as you stated in #4

Now, I've noticed that you haven't committed to this project in January and was wondering if these are still things you want to sort out (and are still interested in working on the project in general)? I'd be happy to help if I can in some way.

1: Actually, it's my second setup for VMaNGOS, although the first one was basically just a simplification (and slight expansion) of existing work and didn't feature any prebuilt images.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.