New to the scene? This guide is for you! - UWow-Trinity core repack for Legion 7.3.5 (Windows 10)

pcpark

Verified Member
11
2024
0
Intro

Hey all! I've gone through an entire journey learning everything I needed to get my server up and running fine. I want to include a general guide, and include a list of notes that may help anyone with small problems with the server. If it's helpful for one person then that's enough for me! Lets get into it.


Getting the repack files

First up, we need to get the core files. Found in the repack forum on this site, you'll need to have an account and make some posts to gain the member status, reply to that thread, and it will un-hide the download links. There is an external link to zremax, but I used the links provided in the repack thread. Server files will download fast, the other two you will have to wait for Mega. They have a transfer quota of 5GB and you'll have to wait a variable amount of time (5 Hours in my case) depending on mega server load. If you're interested you can pay to upgrade your download account. For all purposes though, this is a totally free process.

Link to legion repack!


Setting up the server folder

Next up, we'll need to extract the files and get them oriented correctly. 7-zip is a free compression software, I actually couldn't extract the Data zip with winrar. I recommend making the server folder anywhere without requiring administrator privileges to access i.e. C:/ root folder. I installed mine in the documents folder of my dedicated server.


Below is an example of the server files. Yours do not have to match mine exactly, the main idea is to get the maps/mmaps/vmaps into a folder with all of the loose server files. Extract the "Core files" and "Game Data" to the folder you'd like to have the server. The _Server folder is the MySQL database, its ok to leave it in it's own folder as shown. Endafy helped greatly when it came to this step here. I decided to expand on the server setup.

The first thing that I ran into during setup was the lack of/ incorrect libeay.32.dll and ssleay32.dll. The server will not work unless you have the correct version of each .dll, because the repack was compiled with them in mind. In the main repack thread, denks posted a link to the openssl binaries that work with repack. The dependent .dll can be found here. You only need the two .dll's I outlined, and its enough to just drop them in the server folder as shown.

View attachment 1779

Dependencies and other 3rd party software

To run on windows 10, you'll need the C++ Redistributable. Microsoft hosts downloads publicly and you'll have to download the correct architecture for your system. (32/64 bit)

Next up, by far the easiest way to edit the MySQL database is with HeidiSQL. (Not necessary for solo play, but extremely helpful for converting to online)

First Startup

Located in the _Server folder, MySQL.bat is the MySQL server. It needs to be started first. Uses Ctrl+C so safely shutdown
Second is bnetserver, the blue Icon. Ctrl-C also shuts it down.
Finally is the Worldserver.exe in the red. Third time the charm, and Ctrl-C is how you shutdown your world safely.

I made shortcuts to each exe and placed them on my desktop for easy startup. It is also possible to make a batch program to start all three of them but I haven't experimented with that.
The SQL server and bnet server will launch very quickly, Worldserver takes some time.

Ready for solo play!

If you're aiming for a local connection and want to start questing, this should be all you need on the server side. To get the correct client, you must go through Uwow. you do not need to make an account to download their launcher, and after downloading the legion repack (Located at top, double check game splash has the UWOW text) you dont need the launcher anymore. Any time you use the launcher it will reset the client UWow.wtf folder, and we need to edit it to point the client towards your new server. for local host, edit the Uwow.wtf folder located in GameDirectory\WTF\Uwow.wtf and set the portal variable to 127.0.0.1
Launch, log into the default account adm@adm, and you should be set! If hosting on a separate machine on the same LAN, set the portal to the server's iPv4 address.

Conversion to public

This step was a bit tricky, and actually the last thing I figured out before getting mine up and running. This assumes that you have:
- A static ip from your ISP
- Access to port forwarding controls on your router
- HeidiSQL or similar database viewing client

For those without a static ip, your players will have to edit their Uwow.wtf folder every time your ip changes. Local play should be unaffected. If you are unable to port forward, I have seen some guides on using Hamachi, but I am not knowledgeable enough to detail that process here. I hope those two tidbits of info can point you in the right direction for a solution.

Alrighty! The first quality of life step here is to make a static reservation for the server. This allows the router to hold an iPv4 address on your LAN. This means that if either lose power, the network goes down, or anything else, all of the ports will be forwarded to the server when they come back online. This helps automating the server, it'd be a pain to port forward every time you launch the server. different router's have different methods, I know that the last 3 Netgear routers I had have this setting under Advanced>Setup>LAN Setup. Choose an address and a device, save, and you'll be set. Anything connecting to the internet has a unique MAC address and that's how the router will recognize that computer and assign the static ip for it.

Next up are ports, for those that just need the numbers, they're 1119, 8081, and 8085. For the expanded approach, you'll need to log into your router and find the port forwarding service. All routers may not be the same, but my netgear has the section under Advanced>Advanced Setup>Port Forwarding/Triggering. 1119 Is required for the client, 8081 is for the Authentication server, and 8085 is for the worldserver. You can check to see if you've port forwarded correctly with a few different websites, but this one is my favorite.

Now for the fun part. I want to recognize the users denks and brian8544 for the help they provided me in the last thread that I posted. Thank you!

Using HeidiSQL on the machine the server's hosted on, you'll need to log into your database. Launch MySQL.bat manually or with the shortcut I spoke of earlier, the bnet server and world server aren't required. The password for this database is "ascent". Navigate to the Server\auth\realmlist. Using the tabs second from the top, hit the "Data" tab. Editing the realmlist table changes the default values, and by editing data we can make sure that it's set correctly. In the post I made and linked above with denks help, there is a good reference picture for those who cant find the data tab. I didn't want to repost it without permission so I will see if I can find a way to link it into this thread later on. Within the data tab, in the address column, edit that value to be your static ip address or hostname if you've set that up. If you have a dynamic ip, you'll need to change this each time you ip changes. Scrolling to the left, localAdress can remain 127.0.0.1 This configuration of the SQL db will allow LAN and WAN connections provided you have the Uwow.wtf configured correctly.

Next up is the Bnetserver. Directly above the bnetserver.exe, edit "bnetserver.conf". Use Control+F and search for LoginREST, and this will set you on the section we need to change. LoginREST=ExternalAddress should be your external IP and match the edit you made in the MySQL database. The Major hangup I had derived from thinking the LoginREST.LocalAddress would need to be the IP LAN connections would come into, however this wouldn't function. Assigning it to 127.0.0.1 is the correct value, this allows the bnet server to point towards the SQL database for authentication and logins.

I did not log all of the changes that I did, but with these changes you should be good to go!

Making custom accounts

After launching the three servers in order, focus on the worldserver console. We need to create a battlenet account and a game account. Lastly we link them together.

When creating the battlenet account, the username has to have the '@' symbol somewhere or it will not work correctly. The client is pretty lenient on what can or cannot be names. The command is list below.

battlenet create Test@test test

Same thing for the game account, but it isn't necessary to include an at. This can also mirror the battlenet info, and would make it easier when we link the accounts together. Example is below.

account create test test

Finally, we'll need help from HeidiSQL. Open up the Auth database, and go to the battlenet_accounts table. Head over to the data tab and copy the id related to the "email" you just created. If you had Heidi up during the account creation, refresh its view of the database or restart the program. Using that ID, go to the account table. Here you can see the game account that was created, scroll all the way to the right to find the battlenet_account column. With HeidiSQL it has a red key symbol. Type in the id of the battlenet account in this data table, save it, and you'll be good to go.

Something to note, I couldn't find much online about using a command to link the account, but this build of trinitycore doesn't have it listed as a command. The reason I go manually link the accounts is that with a Bnet account, your players can see the realmlist, but without a player account they will be stuck infinitely logging into the realm.

Windows defender exclusions

In the case windows defender is giving you trouble, we need to exclude certain ports from the blocked list. Go to Control Panel>System and Security>Windows Defender Firewall and click on 'Advanced Settings'
Next, click inbound rules and on the right pane of that window under 'Actions' click New Rule. In the pop up window click port, next, the TCP and the specific local ports button. In the box, input 1119, 8081, 8085. On the final page, select allow the connection and finish up! This process may not be necessary for everyone reading this guide.

Outro

Sorry for the wall of text! I tried to detail it as much as I could for those who need it. I'm also not sure if I got everything absolutely right in here, because I've been working on the server itself for a while and dont remember every change that I've made. Any input here would be appreciated too! Server veterans may have some insight and I'd love to see what I could improve. Once again I'd like to say thanks to the users that helped me out over the course of this. denks, Endafy, brian8544, thank you all!
Thanks!
 

crackpot

Gold Supporter
2
2024
0
Thank you very much, my friend, your guide is fantastic. However, I have another question: how should I go about deploying it on my Linux server?
 
Top