OpenTibiaBR - Canary is a free and open-source MMORPG server emulator written in C++.
In the project's repo Canary, you can see the repository history in the releases.
The OpenTibiaBR - Global was adapted to work with the source of the Canary, so it is the default datapack to be used with Canary distro.
The intention of this project is to serve as an automated image, including all packages, files and basic configurations that allows the deployment of the Canary server and to first run it smoothly.
To connect to the server and to take a stable experience, you can use mehah's otclient or tibia client and if you want to edit something, check our customized tools.
If you want edit the map, use the own remere's map editor.
You are subject to our code of conduct, read at this link.
- WARNING: PRE-REQUISITE IS TO HAVE BASIC KNOWLEDGE OF LINUX AND A DOCKER SERVER INSTALLED.
- The container is based on Ubuntu 22.04, all the packages and necessary files was previoulsy configured.
- The deployment will require basic settings as IP addreses that will be set to your server if completele exposed.
- If running the server behind a reverse Proyx, then the IP address of your Proxy server will be used.
- The TCP port that will be configured to the HTTP(S) server needs to be previously opened.
- If running the the server with SSL enabled, it is required to have a copy of the key and certificates in order to setup the AAC server.
- The TCP ports 7171 and 7172 are mandatory to run the game protocol and needs to be previously opened.
sudo apt-get update
sudo apt-get -y install ca-certificates curl gnupg lsb-release
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
PS: Additional steps can be executed in order to deploy a Proxy server in Docker. If so, folow the next steps. If not, jump to Deployment of OTBR - Virtual Appliance
This step is only required if you want to expose your otserv under SSL encryption.
LINK TO VIDEO TUTORIAL
sudo docker stop portainer
sudo docker rm portainer
sudo docker run -d -p 8000:8000 -p 9443:9443 --network nginxproxymanager_default --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
Note that some Ubuntu distributed over VPSs or if you are installing a Ubuntu fresh from a iso file, you may need to configure your user to have access external from SFTP clients like WinSCP, to do so, edit your /etc/sudoers, executing the following command:
echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers
You still need to set your SFTP client to execute with sudo previleges, like the bellow configuration on advanced settings of WinSCP:
After that, you should be able to open SFTP clients and edit files remotely.
Edit your MyAAC IP address to proceed with the installation:
sed -i -e '$aMYIPADDRESS' /var/www/html/install/ip.txt
After installed, for safety remove your install folder with the following command:
rm -r /var/www/html/install
The most used process to maintain your server updated can be executed by commands from anywhere:
$ db-backup
Force auto backup of your mysql database, the file can be found on host machine at path /srv/otbr/dbbkp.
$ repo-update
Force update of the repositories, it includes the distro/canary repository, datapack/global repository and aac/myaac repository.
$ recompile
Force server to recompile, this process require some processing consumption, be caution while running it, once recompiled simple restart the server to apply the new binary or wait for the next server save.
$ canary-restart
Force Canary server to restart.
We use the issue tracker on GitHub. Keep in mind that everyone who is watching the repository gets notified by e-mail when there is an activity, so be thoughtful and avoid writing comments that aren't meant for an issue (e.g. "+1"). If you'd like for an issue to be fixed faster, you should either fix it yourself and submit a pull request, or place a bounty on the issue.
Before creating a pull request please keep in mind:
- Do not send Pull Request changing the map, as we can't review the changes it's better to use our Discord to talk about or send the map changes to the responsible for updating it.
- Focus on fixing only one thing, mixing too much things on the same Pull Request make it harder to review, harder to test and if we need to revert the change it will remove other things together.
- Follow the project indentation, if your editor support you can use the editorconfig to automatic configure the indentation.
- There are people that doesn't play the game on the official server, so explain your changes to help understand what are you changing and why.
- Avoid opening a Pull Request to just update one line of an xml file.