Skip to content

Conversation

@TheSCREWEDSoftware
Copy link
Contributor

Changed files:

  • windows-server-setup.md
  • database-installation.md
  • networking.md
  • final-server-steps.md

windows-server-setup.md

  • Clarified that Data used can work aside also enGB
  • Clarified the copy X config dist and change the name removing .dist
  • Added Tip for Windows Extension Hide/Show check
  • Removed complety config - database related stuff and moved into database instalation
  • Clear instruction on DataDir part.
  • Expanded on reload information, including all reloadable tables

database-installation.md

  • Expanded into more detail and examples how to actually run the query
  • Examples for HeidiSQL and CLI (which also works for linux users)
  • Path example of binaries of both Windows and Linux users (also no longer windows.exe when refering to other OSes that arent windows.
  • config - database related stuff from windows-server
  • Changing the orders of database populatuion (to have automatic first)
  • Moved sql-directoy information below it
  • Tip note for anyone who wishes to "re-do" the database by dropping them

networking-md

  • Better explaining / clarification for the average user doesn't need to change certain information.
  • Having a table dedicated for the PORTS instead of just lost in the middle of text.
  • Note to NOT open 8085 or any other mysql ports if the user doesnt know what's doing.
  • Expanded on the connection/network part for realmlist
  • Examples , explantion for both heidi and mysql cli

final-server-steps-md

  • Mentioned of windows and linux binaries path
  • Specfication for auto-restart being a linux env only thing
  • Creating account was moved up and removed any previous text that duplicates what the wiki alrreadys says.
  • Clarification of 3.3.5 and not higher (modern versions of wotlk), realmlist path and file name and what to do.
  • Tip saying for windows extension show/hide check
  • Clarification on login (username and password)
  • Tip saying realm stuck for windows user (on the same machine / localhost as client and server) being QuickEdit mode from CLI of windows from 10 and above
  • Expanded on GM commands section by providing the wiki link
  • Added wowhead version of ac (aowow from wowgaming)
  • Mention of examples for simple php account creation logic
  • Mentioned of the catalogue

@TheSCREWEDSoftware
Copy link
Contributor Author

Room for improvement?

  • Yes?
    Many typing errors?
  • Probably
    Many formating errors?
  • Probably

Copy link
Member

@Kitzunu Kitzunu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I havent checked the entire thing, but it feels mostly like we are just adding words and making it harder to read and understand. But perhaps it's just me?

Comment on lines +36 to +80
`acore_auth.realmlist`
| id | name | address | localAddress | localSubnetMask | port |
| ---: | --- | --- | --- | --- | ---: |
| 1 | AzerothCore | 127.0.0.1| 127.0.0.1| 255.255.255.0 | 8085 |

- MySQL CLI Commands (This step is not needed if you used a MySQL Manager like HeidiSQL)
- `$ sudo mysql`
- You should see a prompt change to mysql>
- `use acore_auth`;
- **Replace your IP with the one you've chosen to use from above**
- `UPDATE realmlist SET address = '[your_ip]' WHERE id = 1;`
- exit
<br>
The table above is snippet how `realmlist` under `acore_auth` database looks.

- `id` - Is a primary key (unique number per row), auto-incrementing (increases automatically when a new entry).
- `name` - Is a unique key (unique column name), this refers to `Realm` name that appears in-game and `authserver`.
- `address` - Referes to the machine hosting's [Public IP](http://www.whatismyip.com/), which is the IP people use to connect to your server (outside / externally of your network), for some cases is the **DNS** ("domain name").
- `localAddress` - Referes to the machine hosting's **Local** / **LAN IP**, which is the IP you and other people use to connect to your server (within / inside of your network), for some cases where you're using **DNS** as your `address` field, you may use the machine hosting's [Public IP](http://www.whatismyip.com/) in `localAddress` field.
- `localSubnetMask` - This only should be changed by people who know what they are doing, beginners shoudln't have to care about the correct usage SubnetMask for their IP category, so leave as it is.
- `port` - This refers to `mysql` service port being used, by default is `8085` which is the default one in `mysql` also.

If you leave the default values of `127.0.0.1` only the client in the same machine as that's hosting the server will be able to connect, for this cases where you wish to join from another computer in the same network make sure you change `localAddress` to match the **Local IP** of the machine that's hosting the server.

Same applies for `address` but machine as that's hosting the server's [Public IP](http://www.whatismyip.com/) which is can be used to connect from a computer outside of the network, some routers have `hairpinning` which allow you to use machine's [Public IP](http://www.whatismyip.com/) to connect within the same network.

`DNS` technical:
- Fully qualified domain name - (mydomain.com or warcraft.mydomain.com) Similar to an external IP address, this would be used if you want other people to connect to your server with the added benefit of not needing to track a potentially dynamic IP address.
- Similar to the Public IP address, it's likely that you'll need to set up port forwards if you're hosting from a home network.
- Additionally, you'll need to configure DNS to point to the server's public IP address. Setting up DNS is out of the scope of this guide, though your domain registrar or dynamic DNS provider should have this documentation available.


Using any of database client refered in the requirements page (HeidiSQL, MySQL command-line interface [CLI], etc... or others your choice) you may change any of column's values by a simple SQL query.

### HeidiSQL (most popular for newer users of MySQL).
- Click once in `acore_auth` within that database click once in `realmlist` and in the `Query` tab run the query below.

Alternative you may use the UI by going to `Data` (not `Table: realmlist`) tab and change the values manually (by double clicking in them).

### MySQL CLI (most popular for linux users.)
- In your terminal of choice (example given for `CMD` of Windows, which is recommended to be ran as `Administrator`)

`mysql -u acore -p -h 127.0.0.1 acore_auth`

(This will prompt your password after being executed)

Example:

```
UPDATE `realmlist` SET `address` = "21.0.1.59", `localAddress` = "192.168.1.50" WHERE `id` = 1;
```

This will change the [Public IP](http://www.whatismyip.com/) to `21.0.1.59` and the **Local IP** to `192.168.1.50` where the `Realm ID` is `1` (by default is `AzerothCore`).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just refer to the table's page instead. We dont need to duplicate the information.

Also a step by step guide with different softwares is too much in my opinion. But that's just personal opinion

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Avoding users, specially new ones to change to a new page showing all the information that makes no sense to them (the specific table page), is the reason why selected fields are mentioned.

I wanted to provide both a CLI and GUI form for the user, at least for GUID Heidi's case, the amount of times people change the information on the wrong place (the table's strucutre not the data structure)

## Authserver and Worldserver configurations

For almost all basic setup scenarios the default localhost (127.0.0.1) IP settings should be left alone. The default bindip (0.0.0.0) should be left alone as well.
For the majority of the cases the default configuration values for `LoginDatabaseInfo`, `CharacterDatabaseInfo` and `WorldDatabaseInfo` should be left alone as `127.0.0.1` (also known as `localhost`, the current machine hosting/running the `authserver` and `worldserver`), the same goes for `BindIP` should be left alone as well as `0.0.0.0`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is unnecessarily wordy.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would this be better?

By default, keep LoginDatabaseInfo, CharacterDatabaseInfo, and WorldDatabaseInfo as 127.0.0.1 (localhost). Leave BindIP as 0.0.0.0.

Comment on lines 17 to +23

**Realmlist Table**
| DST Port | Protocol | Destination | Comment |
| -------- | -------- | ----------- | ----------- |
| 3724 | TCP | any | authserver |
| 8085 | TCP | any | worldserver |

You need to make sure that your **authserver** application directs incoming connections to your realm.
This are the ports used by the `authserver` and `worldserver` which you will be required to port foward / open the ports in your router and/or firewall to allow external connections to your server.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As default yes, but they can be changed. I would rather refer to the config file.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We haven't to my knowledge every had the file at least visually show the table for the ports.

Comment on lines +37 to +43
If you want to see the `GM Commands` in your server, you can check your `acore_world` database and find the `command` table. This shows a full list of GM Commands, descriptions, and security levels.<br/>This will always be the most up-to-date list you can find, assuming you keep your DB and Core updated.

You also may also refer to the wiki [GM Commands](gm-commands).

Highely recommend also if you want to have a similiar expeirence of wowhead [wowgaming](https://wowgaming.github.io/) provides us with an similiar but focused on Azerothcore, wowgaming's [aowow](https://wowgaming.altervista.org/aowow/) version.

This similiar version of wowhead, doesn't update with your changes, they use their own `Data` they provided previously in the server setup steps and they keep their website updated every week based on azerothcore's updates to the core.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this has nothing to do with server setup.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's an additional inofrmation on the final steps of the server, would you find any good place to have these? Both the GM commands and aowow are good pages / tools to have at hand related to the core

{% include tip.html content="In the case you're connecting to the server in the same machine as the client, and the realm gets stuck (as you can't do anything after logging in) trying pressing ENTER in the worldserver.exe (this for windows issue), we recommend disabling Windows Terminal -QuickEdit Mode- which tends to hang the CLI applications for Windows 10 and foward." %}


If you want to see the `GM Commands` in your server, you can check your `acore_world` database and find the `command` table. This shows a full list of GM Commands, descriptions, and security levels.<br/>This will always be the most up-to-date list you can find, assuming you keep your DB and Core updated.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont know why we dont keep the tip above?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean?

TheSCREWEDSoftware and others added 4 commits October 4, 2025 11:46
Removed unnecessary information about the .reload command's effect on certain tables.
@TheSCREWEDSoftware
Copy link
Contributor Author

Related to new changes for module config file behaviour (to know behave like worldserver config file)

azerothcore/azerothcore-wotlk#22874

I've updated the installing a module file with the changes and attmept to modernise the file

@TheSCREWEDSoftware
Copy link
Contributor Author

Finishing updating the yaml requirement for the extracots and the documentation for the yaml file, I will ping you again kitzunu when im done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants