OpenTibiaBR
GithubDiscordSponsor
  • Home
    • 📖Welcome!
    • 💵Donate
  • OpenTibiaBR
    • 🖥️Projects
      • 🐦Canary
        • About
        • Getting Started
          • Compiling
            • Linux
              • [Linux] Compiling Canary Sources
            • Windows
              • Visual Studio
                • [Windows][VC2022][CMake] Compiling Canary Sources
                • [Windows][VC2022][Solution] Compiling Canary Sources
              • WSL
                • [WSL] Compiling Canary Sources
          • Installing
            • aaPanel
              • [Linux] Canary + aaPanel + MyAAC
            • Docker
              • [Docker] Canary + MariaDB + MyAAC
            • Linux
              • Nginx + MariaDB + MyAAC
            • Windows
              • Uniform Server
                • [Windows][Basic] Canary + Uniform Server + MyAAC
              • XAMPP
                • [Windows][Advanced] Canary + XAMPP + MyAAC
        • Tutorials
          • Basic
            • Auto Backup Server Database
            • Auto Restart and Linux Logs
            • Custom Bestiary / Prey with Canary Monster Editor
            • Event Schedule Canary / OTServBR-Global
            • How to make a custom server with Canary
            • How to reset players in your database
            • How to secure a Linux server
            • SSL Certificates
            • Webhook Discord
            • [Outdated] Custom Bestiary / Prey
            • [Linux] Backup + Upload - Google Drive
            • [Linux] How to install Linux headers
            • VPS Linux
            • [Windows] SSL/HTTPS Certificate with XAMPP
          • Mapping
            • [Windows] Remere's Map Editor - Opening Canary / OTServBR-Global Map
            • [Windows] Remere's Map Editor - Converting map server id to client id
          • Programming & Scripting
            • How to add a new vocation
            • Revscriptsys
            • Guide Lua Objects
            • How to get raceId for monsters
          • Websites
            • [Canary][OTServBR-Global][GesiorAAC][MyAAC] Set up Initial Character
          • Miscellaneous
            • Useful Tutorials
            • Video Tutorials
      • 🗺️Remere's Map Editor
        • About
        • Getting Started
          • Linux
            • [Linux] Compiling Remere's Map Editor Sources
          • Windows
            • WSL
              • [WSL] Compiling Remere's Map Editor Sources
            • Visual Studio
              • [Windows][VC2022][CMake] Compiling Remere's Map Editor Sources
              • [Windows][VC2022][Solution] Compiling Remere's Map Editor Sources
      • 🎮OTClient Redemption
        • About
        • Getting Started
          • Android
            • [Android] Compiling OTClient Redemption Sources
          • Linux
            • [Linux] Compiling OTClient Redemption Sources
          • Windows
            • WSL
              • [WSL] Compiling OTClient Redemption Sources
            • Visual Studio
              • [Windows][VC2022][CMake] Compiling OTClient Redemption Sources
              • [Windows][VC2022][Solution] Compiling OTClient Redemption Sources
          • Web
            • [Web] OTClient Redemption
        • Tutorials
          • Basic
            • Client Updater
      • 🎮OTClientV8
        • About
        • Getting Started
          • Android
            • [Android] Compiling OTClientV8 Sources
          • Linux
            • [Linux] Compiling OTClientV8 Sources
          • Windows
            • WSL
              • [WSL] Compiling OTClientV8 Sources
            • Visual Studio
              • [Windows][VC2022][CMake] Compiling OTClientV8 Sources
              • [Windows][VC2022][Solution] Compiling OTClientV8 Sources
        • Features
          • Health and Mana bar backgrounds
          • HTTP support
          • OTML Improvement
          • Simple cam recorder and player
          • Updater, encryption and compression
          • WebSockets
      • ⚙️Client Editor
        • About
        • Getting Started
      • ⚙️Login Server
        • About
        • Getting Started
      • 🚀Canary Launcher
        • About
        • Getting Started
          • Windows
            • [Windows][VC2022][Solution] Compiling Canary Launcher Sources
      • 🚀Slender Launcher
        • About
        • Getting Started
          • Windows
            • [Windows][Go] Compiling Slender Launcher Sources
      • 🌐CanaryAAC
        • About
        • Informations
          • Features
          • Functions
          • API
          • Routes
          • Middleware
      • 🌐MyAAC
        • About
      • 🌐SlenderAAC
        • About
    • 🔗Downloads
      • 🎮Clients
        • Client 11
        • Client 13
          • Tutorials
            • Client with HexEditorXVI32
            • Client with Notepad++
            • Client with config.ini
            • [Windows] How to change client background
        • Minimap
      • 📑Codes
        • C++
        • Events
        • Functions
        • Libs
        • Modules
        • Others
      • 🖼️Images
        • PSDs
        • Others
      • 🗺️Maps
        • Custom
        • Global
      • 📑Revscripts
        • Actions
        • CreatureEvents
        • GlobalEvents
        • MoveEvents
        • NPCs
        • Spells
        • Systems
        • TalkActions
      • ⚔️Sprites
      • ⚙️Tools
        • Editors
        • Map Generators
      • 🌐Web Packages
        • Linux
        • Windows
      • 🌐Website Applications
        • Websites
          • CanaryAAC
            • CanaryAAC Bot
          • Gesior2012
          • GesiorAAC Global
          • MyAAC
          • MyAAC Global
          • SlenderAAC
          • ZnoteAAC
        • Applications
        • Layouts
        • APIs and SDKs
Powered by GitBook
On this page
  • What is SlenderAAC:
  • Github:
  • Getting Started - Windows:
  • Deployment - Linux:
  • Client Config:
  • How to connect with SlenderAAC:
  • Animated Outfits:
  • Game Store Assets:
  • Images:
  • Videos:
  • Tech Stack:
  • Contributing:
  • License:
  1. OpenTibiaBR
  2. Downloads
  3. Website Applications
  4. Websites

SlenderAAC

Last updated 8 months ago

What is SlenderAAC:

What is SlenderAAC

This project is a website for the project. The main goal is to use modern technology to have something that is easy to maintain and extend. It is also meant to be efficient, secure and easy to deploy.

Github:

Github

Getting Started - Windows:

Getting Started

Requirements

  • or

    • Running a database compatible with canary

Installation

  • Clone this repository and install the dependencies:

git clone https://github.com/luan/slenderaac.git
cd slenderaac
pnpm install
cp .env.dist .env
  • Edit .env with your server and desired settings, example:

DATABASE_URL="mysql://root:root@localhost:3306/canary"

PUBLIC_BASE_URL="http://127.0.0.1"

PUBLIC_TITLE="Slender AAC"
PUBLIC_DISCORD_URL="https://discord.gg/"
PUBLIC_DOWNLOAD_URL="https://github.com/dudantas/tibia-client/releases"
PUBLIC_SUPPORT_EMAIL="hi@localhost"

PUBLIC_ENABLE_PRONOUNS=false

SERVER_ADDRESS="127.0.0.1"
SERVER_PORT=7172
SERVER_NAME="Slender"
SERVER_LOCATION="USA"
PVP_TYPE="no-pvp"

PUBLIC_STRIPE_KEY=pk_test_...
SECRET_STRIPE_KEY=sk_test_...
STRIPE_WEBHOOK_SECRET=

NO_REPLY_EMAIL="SlenderAAC (no-reply) <no-reply@localhost>"
SMTP_SERVER=smtp-relay.sendinblue.com
SMTP_PORT=587
SMTP_USER=your-user
SMTP_PASSWORD=your-password
EMAIL_BACKGROUND_COLOR="#eee6d9"
EMAIL_BUTTON_COLOR="#0010cd"
EMAIL_BUTTON_TEXT="#f4ca41"

AUTO_ADMIN_EMAIL="admin@localhost"
REQUIRE_EMAIL_CONFIRMATION_TO_LOGIN=false

# If you have an existing database with passwords hashed with SHA1, set this to true
# New passwords will be hashed with bcrypt, but old passwords will still be able to log in
ALLOW_LEGACY_SHA1_PASSWORDS=true

# If you can't use a version of Canary that supports sessions, set this to true
DEPRECATED_USE_SHA1_PASSWORDS=false

GAME_SESSION_EXPIRATION_TIME=24h

MINIMOUM_GUILD_LEVEL=8

FREE_PREMIUM=true
PUBLIC_TUTORIAL_ENABLED=false

SERVER_SAVE_TIME=00:00:00
  • Then migrate the database using the command below. Note that this assumes your current database already has the canary schema imported.

pnpm migrate:resolve
pnpm migrate
pnpm generate

Running

  • At this point you should be ready to run the server:

pnpm dev --host 127.0.0.1 --port 80
  • Access http://127.0.0.1 or http://domain-or-ip to load SlenderAAC.

Deployment - Linux:

Deployment

Deployment depends highly on your server setup. Assuming you are on a Linux dedicated server or VPS. You need the following:

Installation

sudo apt update
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && sudo apt install -y nodejs
sudo npm install -g pnpm
sudo apt install -y nginx

Clone this repository and install the dependencies:

git clone https://github.com/luan/slenderaac.git
cd slenderaac
pnpm install
cp .env.dist .env

Nginx

We're just using Nginx as a reverse proxy. You can use any other web server that supports reverse proxying if you'd like. The Nginx configuration is as follows (adjust port and domain as needed if you're not using the defaults):

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name _;

        location / {
                   proxy_pass http://127.0.0.1:3000;
                   proxy_http_version 1.1;
                   proxy_set_header Upgrade $http_upgrade;
                   proxy_set_header Connection 'upgrade';
                   proxy_set_header Host $host;
                   proxy_cache_bypass $http_upgrade;
       }
}

Building

Because we're now in a production environment, we need to build the project. This will generate the static files that will be served by the nodejs server. This is a one time step, you only need to do this again if you change /update the code.

pnpm generate
pnpm build

Migrating the database

At this point you should be ready to migrate the database. This will create the necessary tables and columns. Note that this assumes your current database already has the canary schema imported.

pnpm migrate:resolve
pnpm migrate

Running

Finally, we need to run the server, this will run on port 3000 by defaul, which is what we configured Nginx to proxy to.

NODE_ENV=production node -r dotenv/config build

Client Config:

Client Config

How to connect with SlenderAAC:

Canary

Client 13:

  • Edit the client and change the IP like in a example below:

  • http://127.0.0.1/api/login

  • http://domain-or-ip/api/login

OTClient Redemption:

  • Login with account @god/god or your own account email and password;

  • Server: http://127.0.0.1/api/login or your http://domain-or-ip/api/login;

  • Client Version: 1340;

  • Port: 80.

Animated Outfits:

Animated Outfits

Game Store Assets:

Game Store Assets

Images:

Images

Videos:

Videos

Tech Stack:

Tech Stack

Contributing:

Contributing

Contributions are welcome! Please open an issue or pull request. Be sure to post screenshots and logs of any issues you're having.

License:

License

MIT

As well as a database compatible with canary. You can use either or .

Using your favorite method to edit the client (see for help). Set the login webservice url to http://127.0.0.1/api/login (or your appropriate server URL). This will make the client use the AAC to login.

You'll need to download the spritesheet from and place it in outfits_anim. These assets are not included in the repository because they can cause the repo to bloat, and are also not release under the same license as the code.

Anything you put into the static folder in this repo will be served by the server. This is useful for storing assets for the game store. For example, you can put a static/images/store folder and then reference the images in the store using /images/store/my-image.png. For instance, you can use the store assets made available in the

🔗
🌐
Canary
Features / Roadmap
SlenderAAC
Node.js
PNPM
MySQL
MariaDB
Nginx
Node.js
PNPM
MySQL
MariaDB
this tutorial
here
canary docs
Shop
Svelte
SvelteKit
TypeScript
SkeletonCSS
TailwindCSS
Prisma
PNPM
Character Search