Helper scripts for AzerothCore testers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Evan Burkey bfb61b7f38 clarify testing instructions 7 months ago
codescripts update vars path 7 months ago
serverscripts init 7 months ago
LICENSE init 7 months ago
README.md clarify testing instructions 7 months ago

README.md

azcore-scripts

Scripts to help automate building and testing azerothcore on a Linux system

Setup

These scripts depend on a properly setup azerothcore installation. Follow the instructions and verify that your install is working before trying to use these scripts. These scripts also require bash and screen. Most major Linux distros include both packages but it is up to the user to verify these are on the system.

The scripts in codescripts are placed into the build directory of the azerothcore-wotlk repository. The scripts in serverscripts are placed into the bin directory of an azerothcore installation.

The vars file in codescripts must be modified to fit your local installation of azerothcore and mysql

Code Scripts

build.sh builds azerothcore and is called by several other scripts

db.sh looks for an update to the acore_world database in the current branch and applies it

reset.sh does the following:

  • Resets the repo to a clean, updated copy of the master branch from upstream
  • Deletes any branches with the pr- prefix
  • Wipes the acore_world database
  • Builds and installs a clean copy of azerothcore
  • Runs the server for 90 seconds to allow the acore_world database to rebuild and repopulate
  • Kills the server

test.sh does the following:

  • The script requires a pr number passed to it
  • A new branch will be created named pr-#### with the pr number
  • The branch is built and installed

The user is responsible for running db.sh afterwards if the pr includes an update to the acore_world database

world_reset.sql is an SQL script to wipe the acore_world database. This is used by reset.sh

Server Scripts

auth.sh and world.sh are not intended to be run manually. They contain loops that keep the servers up and running. If either crashes then the script sleeps 20 second and restarts the servers. These are designed to be run inside of screen sessions.

start.sh and shutdown.sh start and stop the auth and world servers. They place the servers inside of screen sessions.

To access your world server session, type screen -r world into a shell. This will attach you to the screen session containg the world server. To leave the session without closing the world server, type Ctrl-A then Ctrl-D. Reference the screen man page for more details on usage.

How To Test PRs

  1. When testing a new PR, run test.sh with the pr number passed in, like so:

    ./test.sh 11671
    
  2. Git will ask for a merge commit comment, just save the automatically generated comment as the branch is temporary

  3. When azerothcore is done building, check the PR to see if there are any SQL updates by looking for a rev_### file in data/sql/updates/pending_db_* folders. If there are updates to the world database, run db.sh to apply the updates. Any updates to the other databases will have to be done manually

  4. Start the servers by running start.sh in the bin directory of the azerothcore installation

  5. Log in to your local server and do your testing. I have built another tool for easily swapping servers and accounts on your WotLK client called wowlaunch that may be helpful

  6. When finished with testing, kill your servers by running shutdown.sh

  7. Go back to the build directory of the azerothcore-wotlk repo and run reset.sh to reset your local clone to upstream master and rebuild your installation. This will also wipe the world database and repopulate it