Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Old Client / Private Server] 1.14.1 - Getting it working #652

Closed
mikrocip opened this issue Jan 8, 2025 · 50 comments
Closed

[Old Client / Private Server] 1.14.1 - Getting it working #652

mikrocip opened this issue Jan 8, 2025 · 50 comments
Labels
question Further information is requested

Comments

@mikrocip
Copy link

mikrocip commented Jan 8, 2025

Dear Xian55

I tried getting in working steps you explained very briefly, however something goes wrong. Would make a video for the steps please ?

Thanks and best regards

@mikrocip mikrocip added the question Further information is requested label Jan 8, 2025
@Xian55
Copy link
Owner

Xian55 commented Jan 8, 2025

Gooday,

I do not plan to make a video how to set it up. As you pointed out the readme has really verbose step by step guide how to make it work.

However if you could share at what step you having issues, i'm more than happy to guide you thru the process.

@xrussianguyx
Copy link

Hey, I also wanted to ask what I am doing wrong. The step involving the Blazor server, it keeps saying no WoW client found. Even though it is running. I followed each step closely.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

Hey, I also wanted to ask what I am doing wrong. The step involving the Blazor server, it keeps saying no WoW client found. Even though it is running. I followed each step closely.

Please prove the log messages to make it easy to understand in what step you ran into difficulties.

What version of the game you are using ?
Keep in mind that the project only supports the modern classic client.
Private servers are not supported nor old game versions.

The following executable names what the project is looking for

  "Wow",
  "WowClassic",
  "WowClassicT",
  "Wow-64",
  "WowClassicB"

@xrussianguyx
Copy link

That would solve it then! I am using 1.14.1 WoW private server.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

1.14.1 WoW private server

Patch_1.14.1 is a modern client, so technically it should work unless there are breaking changes compare to the latest current client which should be 1.15.5.

You may be able to use it, altho that won't be tested by me unless more information is given.

@Xian55 Xian55 changed the title Getting it working [Old Client] 1.14.1 -Getting it working Jan 9, 2025
@Xian55 Xian55 changed the title [Old Client] 1.14.1 -Getting it working [Old Client / Private Server] 1.14.1 - Getting it working Jan 9, 2025
@xrussianguyx
Copy link

I tried to add the new executable since private servers need a Hermes proxy to run the client. But it threw the exception "Unable to find the process path" I will have to dig through the files to see how it calls for the process path.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

Well based on what you described, you seems to only look into WowProcess.cs

@xrussianguyx
Copy link

xrussianguyx commented Jan 9, 2025

I did change the WoWProcess.cs to include "WowClassic_ForCustomServers" since that's the process ID name of the exe.

But I can't seem to figure out how WinAPI/ExecutablePath.cs figures out where the exe is located.

Sorry I haven't done coding in like 15 years, very rusty.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

Ye the WinAPI/ExecutablePath.cs is a remnant of an old era where you have to come up tricky ways to get the executable path from a given process, given the fact that 32bit and 64bit processes cannot mix to each other.

You might want to try running the HeadlessServer or BlazorServer with Administrator rights, that might be helpful. In case you already running the game client with Admin rights the HeadlessServer or BlazorServer won't been able to access it unless the permission is given.

@xrussianguyx
Copy link

xrussianguyx commented Jan 9, 2025

That was a good idea. Now I know what's wrong, for some reason it was pointing to C:/ Windows system 32 folder.

I made it point to the right file location and running it as admin worked. Going to test out if it works on this private server.

Well it started the Blazon server but it says my addons are not correct.

[16:52:51:649 I] [Program ] en 1/9/2025 4:52:51 PM -05:00
[16:52:51:838 I] [Program ] Pid: 37944
[16:52:51:839 I] [Program ] Version: 1.14.2.42597
[16:52:51:895 I] [Program ] Addon version:
[16:52:51:896 I] [AddonConfigurator] DeleteAddon -> Default Addon Exists
[16:52:51:909 E] [Program ] AddonConfig doesn't exists or addon not installed yet!
[16:52:52:502 I] [Lifetime ] Now listening on: http://localhost:5000
[16:52:52:504 I] [Lifetime ] Application started. Press Ctrl+C to shut down.
[16:52:52:504 I] [Lifetime ] Hosting environment: Development
[16:52:52:505 I] [Lifetime ] Content root path: G:\Wow New Bot\WowClassicGrindBot-dev\BlazorServer

I am going to try and remove my addons and see if it will Auto add the correct ones.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

BlazorServer should prompt you with the addon installation step.

@xrussianguyx
Copy link

Not sure what I am doing wrong, it just doesn't prompt anything. Same output as before even though I deleted the Addons the repack provided from the Interface folder inside classic WoW folder.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

You can try apply the following patch.

Just for logging whether the Process Path was correctly determined.

diff --git a/Core/DependencyInjection.cs b/Core/DependencyInjection.cs
index f1017ecb..d93fb721 100644
--- a/Core/DependencyInjection.cs
+++ b/Core/DependencyInjection.cs
@@ -236,6 +236,7 @@ public static class DependencyInjection
         WowProcess process = sp.GetRequiredService<WowProcess>();
         log.LogInformation($"Pid: {process.Id}");
         log.LogInformation($"Version: {process.FileVersion}");
+        log.LogInformation($"Path: {process.Path}");
 
         services.AddSingleton<Version>(x => process.FileVersion);

@xrussianguyx
Copy link

After adding that here is my output.

[17:39:20:224 I] [Program ] en 1/9/2025 5:39:20 PM -05:00
[17:39:27:507 I] [Program ] en 1/9/2025 5:39:27 PM -05:00
[17:39:27:687 I] [Program ] Pid: 43500
[17:39:27:687 I] [Program ] Version: 1.14.2.42597
[17:39:27:688 I] [Program ] Path: G:\WoW Classic 1.14_classic_era_
[17:39:27:690 I] [Program ] Addon version:
[17:39:27:691 E] [Program ] AddonConfig doesn't exists or addon not installed yet!
[17:39:27:864 I] [Lifetime ] Now listening on: http://localhost:5000
[17:39:27:866 I] [Lifetime ] Application started. Press Ctrl+C to shut down.
[17:39:27:866 I] [Lifetime ] Hosting environment: Development
[17:39:27:867 I] [Lifetime ] Content root path: G:\Wow New Bot\WowClassicGrindBot-dev\BlazorServer

So it is definitely getting the correct path to the client. I don't know why its not initializing the Addons configuration

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

I'm pretty sure this seems wrong

G:\WoW Classic 1.14_classic_era_

it supposed to be

G:\WoW Classic 1.14\_classic_era_

there's a missing \.

@xrussianguyx
Copy link

You're right, what could be causing that?

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

You have to provide what kind of changes you have made otherwise i would guessing blindly.

I would say you are doing string concatenation, like string.Join or + and you should use Path.Join instead.

@xrussianguyx
Copy link

xrussianguyx commented Jan 9, 2025

All I have edited so far is the changes to the WoW process
private static readonly string[] defaultProcessNames = [
"Wow",
"WowClassic",
"WowClassicT",
"Wow-64",
"WowClassicB",
"World of Warcraft",
"WowClassic_ForCustomServers"
];
So it would catch the right .exe file. Plus the debugging string you just posted. (Previously I copy pasted the addons files into the WoW interfact/addons folder. But deleted since BlazorServer is supposed to add those it self.

Could it be because I am running WoW in window mode?

I just ran it again, and it fixed the path. So that's not the issue.
[17:39:20:224 I] [Program ] en 1/9/2025 5:39:20 PM -05:00
[17:39:27:507 I] [Program ] en 1/9/2025 5:39:27 PM -05:00
[17:39:27:687 I] [Program ] Pid: 43500
[17:39:27:687 I] [Program ] Version: 1.14.2.42597
[17:39:27:688 I] [Program ] Path: G:\WoW Classic 1.14_classic_era_
[17:39:27:690 I] [Program ] Addon version:
[17:39:27:691 E] [Program ] AddonConfig doesn't exists or addon not installed yet!
[17:39:27:864 I] [Lifetime ] Now listening on: http://localhost:5000
[17:39:27:866 I] [Lifetime ] Application started. Press Ctrl+C to shut down.
[17:39:27:866 I] [Lifetime ] Hosting environment: Development
[17:39:27:867 I] [Lifetime ] Content root path: G:\Wow New Bot\WowClassicGrindBot-dev\BlazorServer
[17:59:02:808 I] [Program ] en 1/9/2025 5:59:02 PM -05:00
[17:59:02:993 I] [Program ] Pid: 43500
[17:59:02:993 I] [Program ] Version: 1.14.2.42597
[17:59:02:994 I] [Program ] Path: G:\WoW Classic 1.14_classic_era_
[17:59:02:996 I] [Program ] Addon version:
[17:59:02:997 E] [Program ] AddonConfig doesn't exists or addon not installed yet!
[17:59:03:149 I] [Lifetime ] Now listening on: http://localhost:5000
[17:59:03:151 I] [Lifetime ] Application started. Press Ctrl+C to shut down.
[17:59:03:151 I] [Lifetime ] Hosting environment: Development
[17:59:03:151 I] [Lifetime ] Content root path: G:\Wow New Bot\WowClassicGrindBot-dev\BlazorServer

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

Well this is somewhat interesting as the following line appears

[17:39:27:687 I] [Program ] Version: 1.14.2.42597

Which means that in GetProcessInfo() function the path variable is correct as

FileVersionInfo.GetVersionInfo(System.IO.Path.Join(path, process.ProcessName + ".exe"))

turns into a valid path.

@xrussianguyx
Copy link

I have a question, when my local host web page opens in chrome, it says
image

is that not what it's supposed to display?

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

BlazorServer runs at http://localhost:5000/

@xrussianguyx
Copy link

So it's not supposed to display anything until it is able to configure itself using the Addons?

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

So it's not supposed to display anything until it is able to configure itself using the Addons?

If all the dependencies and checks are good then the BlazorServer should be available.

If the Addon is not yet installed, it should prompt you to install it otherwise it should open up the default dashboard.

There's a save file called Addon_config.json where the installed addon is stored.

like at WowClassicGrindBot\BlazorServer\addon_config.json

@xrussianguyx
Copy link

So mine doesn't have that. I think that file only appears when it is able to configure the addons. Kind of frustrating since I don't know what the root of this problem is. Maybe it is just the way the client differs in versions. I will take another crack at it.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

Could it be because I am running WoW in window mode?

Windowed mode is support and should not cause any trouble, unless you are running non standard resolution. Stick with the built in resolutions like 800x600 or 1024x768 or 1920x1080 etc..

@xrussianguyx
Copy link

image

]

image

image

That's what I have.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

image

Please look at closely the 3.2 In-game Requirements

  • System > Render Scale: 100%

@xrussianguyx
Copy link

Changed it, but it still didn't work. I think that render scale only affects when the bot is actually running. I just need to figure out a way to initialize the Addons_cofig.json file

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

You are trying to open
image

while the BlazorServer cleary states
image

@xrussianguyx
Copy link

Wow that's so embarrassing.

@Xian55
Copy link
Owner

Xian55 commented Jan 9, 2025

No worries. The more you share the easier to understand whats going on!

Let me know if you ran into further issues.

Gooday!

@xrussianguyx
Copy link

xrussianguyx commented Jan 10, 2025

Thanks for all the help. I appreciate the time you took.

So after fiddling around with it, I was able to generate the Frame_Config file. It can detect what class I am. However, when I load a class profile it throws an exception.
image

The steps that I took were, enter game first, lunch BlazorServer and let it capture the .exe from WoW. Then initialize the addons and let it add it to the Interface folder on its own. Once that, I exit out of game and BlazorServer and relunch the game and login into the server. I spawn my character and lunch the BlazorServer. It generates the Frame_Config file. I reload the game and the BlazorServer again right after. It displays the dashbord to which I initialize the state. It does it no problem, but when loading the class profile I get that exception.

image

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

I'm glad you managed to get it working.

The profile itself was loaded. That class profile should be able to load Mage_6.json with 5_Gnome.json.
Have you edited these files ?

It seems that the RouteComponent having some difficulties.

image
Please be sure to the top left corner of the game window always on top and does not covered by any other window like your browser.

i've tried to load the Mage_6.json profile, it is working on my end.

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

On the other hand you seems to be using really big CELL_SIZE in the addon like 6 or 7.

image

@xrussianguyx
Copy link

The cell size is 2. The 1 was just too small. I looked around, It's a same issue as the other thread around here. I have 2 monitors. I was able to get it to load, but the bot wouldn't do any tasks. It just stood around and didn't do anything. I think the way it is generating the Frame_config is incorrect and hence why it is causing so many errors. I spent several hours trying to get it to work, but no luck.

image

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

Can you upload the frame_config.json ?

Also there's a page in the wiki which trying to give some guidance about validating frame_config

Also there's a Raw Values options at BlazorServer which displays most of the values.


I was able to get it to load, but the bot wouldn't do any tasks. It just stood around and didn't do anything.

please upload the related logs, without them hard to say anything.

@xrussianguyx
Copy link

image
This is where it stood around and didn't do anything.

This is the fram_config.json
image

I followed that guide for frame_config.

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

image This is where it stood around and didn't do anything.

This is the fram_config.json image

I followed that guide for frame_config.

This state does not match what you sent in the past compare to

image

The frame_config resolution and the console print resolution does not match!

The first mentions 2540x1440
while the frame_config states 1920x1080

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

Please delete your frame_config.json and do the step again.

@xrussianguyx
Copy link

xrussianguyx commented Jan 10, 2025

I deleted it, and it recreated the exact same file.

image

I did switch to the lower resolution for game while playing around with settings. I made sure to delete the Frame_config file anytime there was a screen change.

@xrussianguyx
Copy link

image

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

once again im seeing completely different values in the console.
image

Like 400 size of the after making a manual screenshot of your image i counted ~440 pixels.

image

On the other hand seing the following message:

Malformed Payload: b

is not a good sign

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

I would recommend to delete the addon and delete the frame config.

Reinstall the addon and set the Cell_SIZE = 3 uneven number works better. (example 1, 3, 5, 7)

Then do the frame config.

@xrussianguyx
Copy link

xrussianguyx commented Jan 10, 2025

image
image

image

I did it manually as per instruction and that's what it generated.
image

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

I'm pretty sure that i've stated before, do no let any other window cover the game client window at any time!

If you - as a person in front of the monitor - cannot see the game window nor does the BlazorSever.

@xrussianguyx
Copy link

xrussianguyx commented Jan 10, 2025

I know, I only covered it up to capture all the data on one screen.

image

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

As of now im out of ideas.

@xrussianguyx
Copy link

xrussianguyx commented Jan 10, 2025

Yea, me too. I even took out all run as admin from each window to see if that was the reason. I tried editing the addons pixel size within the magbot.lua to 1-5 sizes during Frame_generate step. For some reason with my setup of screens, it is providing this weird size issue with Frame_generate.json

What does Malformed payload b mean?

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

I can see some pixel bleeding tho
image

@Xian55
Copy link
Owner

Xian55 commented Jan 10, 2025

That specific Client version has some lack of features compare to the latest.

The following lines needs to be commented out

EventHandler.lua:141 line

-- DataToColor:RegisterEvent('PLAYER_SOFT_INTERACT_CHANGED', 'OnPlayerSoftInteractChanged')

DataToColor.lua:743 line

-- Pixel(int, DataToColor:CustomTrigger(DataToColor.customTrigger1), 74)

@Xian55 Xian55 closed this as completed Jan 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants