Code Monkey home page Code Monkey logo

Comments (32)

uakfdotb avatar uakfdotb commented on August 9, 2024 1

Looks like there was an update today. I'll take a look and get back.

As for MPQ it is good if you get that warning. So it isn't overwriting the blizzard.j/common.j that you manually extracted. You'll need to extract it again though for the new WC3 version.

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024 1

It seems like MPQ Files are gone forever, they switched to the same file format they use in WOW. No idea how to extract files from that yet though.

EDIT: http://www.zezula.net/en/casc/main.html - To extract files for WC3 1.30+ - Found the files under data/war3.mpq/scripts/common.j / blizzard.j, seems like they kept the old structure inside of the casc container.

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024 1

I put the 1.30 JASS here: https://github.com/uakfdotb/ghostpp-tmp

They look identical but yours uses Unix line endings ("\n") while the one I have uses Windows line endings ("\r\n").

Yeah probably this mismatch is the reason for the checksum/hash mismatch.

I'm not sure how the JASS files I have were extracted, I didn't extract them myself.

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024 1

Hm, I'm not sure, if I download raw from https://gitlab.com/PhilippHeuer/war3-data/raw/master/1.30.0/common.j it seems to be Unix line ending.

Anyway good that it's working now, closing this issue.

Edit: yeah I cloned the repository and checked in ghex and still is Unix line ending, only "\n".

from ghostpp.

maxemann96 avatar maxemann96 commented on August 9, 2024

Im using Docker too, so i think docker is not the issue.
Can you paste your ghost.cfg? (Remember to remove any sensitive information from this file).

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

Typically some map values not calculated correctly.

  • Is it overwriting the blizzard.j/common.j that you extracted? Make sure no wc3 mpq in war3path.
  • Are all the versions set to 29 in config file?
  • Is your WC3 version the latest one?

Edit: there is a summary of potential fixes here for future reference: #14 (comment)

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

Thanks a lot for the feedback.

To be honest im a little lost right now.

My Warcraft III version was 1.29.2.9231 (installed a week ago so i thought i was up2date), but i just launched the updater and its 1.30.0.9900 now on live. I guess that was the issue - so the war3version should be 30 now?

The MPQ Files in the Game directory are gone completly - where do i extract those files now?

As for your questions to describe my situation right now:

  • Im sure that those files aren't overwritten -> Warning message on startup:
    [GHOST] warning - unable to load MPQ file [/opt/ghostpp/war3/War3Patch.mpq] - error code 2
  • I have all versions set to 29
  • Warcraft III had version 1.29.2.9231 - was not the latest 1.30

I will look if i can find the blizzard.j and common.j anywhere.

I set my bnet connection/keys/etc with environment variables, all other values take on the default i defined below:

(snipped to make this issue shorter and it didn't turn out to be relevant)

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

But my issue should be unrelated to that then if the patch came out today right? After all the other bots are still running with 1.29.

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

Yeah the new patch still seems fine. (All versions should be set to 30 now, if your WC3 is 1.30.)

Are you sure it doesn't matter which map you choose? Just to make sure the maps you were testing with are working with latest version. (If the map works when you host it and start from WC3 -> LAN then it should be fine.)

I can't think of any other common issues at the moment. But the client is detecting something invalid from the data that the bot sent, either the version or the map metadata (mismatch with actual map). And so it is disconnecting from the game after seeing the map itself.

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

I upgraded to 1.30 successfully, but still have the same issue as before.

I hosted the test maps with my client on bnet without any issue - so it's not the maps that are corrupt, i also tested quite a few other maps.

And what i just noticed, the bot says i started the download and completed it, then i disconnect right after that - but i already have that map it should never have tried to download anything?
Other ppl. also tried to join the lobby and left with the same error after the download, so it's not a issue with my wc3 client.

from ghostpp.

maxemann96 avatar maxemann96 commented on August 9, 2024

Can you also provide your map config file and a download link to exactly your map?
So i can investigate this later on my instance

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

I used this map in my most recent test:
https://www.epicwar.com/maps/242840/

I do not have a map config, i just load the map on-the-fly with !map name to host it. The only values i can provide are those from the log:

[QUEUED: Europe] Loading config file [VampirismFire5.10.w3x].
[MAP] loading MPQ file [data/maps/VampirismFire5.10.w3x]
[MAP] calculated map_size = 187 161 10 0
[MAP] calculated map_info = 248 166 102 40
[MAP] calculated map_crc = 245 187 31 175
[MAP] calculated map_sha1 = 190 16 107 73 23 236 63 185 222 135 33 119 200 65 49 2 70 156 214 66
[MAP] calculated map_options = 96
[MAP] calculated map_width = 128 0
[MAP] calculated map_height = 128 0
[MAP] calculated map_numplayers = 12
[MAP] calculated map_numteams = 2
[MAP] calculated map_slot1 = 0 255 0 0 0 0 1 1 100
[MAP] calculated map_slot2 = 0 255 0 0 0 1 1 1 100
[MAP] calculated map_slot3 = 0 255 0 0 0 2 1 1 100
[MAP] calculated map_slot4 = 0 255 0 0 0 3 1 1 100
[MAP] calculated map_slot5 = 0 255 0 0 0 4 1 1 100
[MAP] calculated map_slot6 = 0 255 0 0 0 5 1 1 100
[MAP] calculated map_slot7 = 0 255 0 0 0 6 1 1 100
[MAP] calculated map_slot8 = 0 255 0 0 0 7 1 1 100
[MAP] calculated map_slot9 = 0 255 0 0 0 8 1 1 100
[MAP] calculated map_slot10 = 0 255 0 0 0 9 1 1 100
[MAP] calculated map_slot11 = 0 255 0 0 1 10 8 1 100
[MAP] calculated map_slot12 = 0 255 0 0 1 11 8 1 100

from ghostpp.

maxemann96 avatar maxemann96 commented on August 9, 2024

Currently i cant get running my warcraft 1.30 (and also burned my old 1.29 :( under linux, so at the moment i can only provide the crc and sha1 from your last test map (calculated by my instance). Can you try these?

[MAP] calculated map_size = 187 161 10 0
[MAP] calculated map_info = 248 166 102 40
[MAP] calculated map_crc = 215 110 1 19
[MAP] calculated map_sha1 = 93 86 129 88 143 169 157 129 18 39 236 87 65 37 131 198 87 136 67 90
[MAP] calculated map_options = 96
[MAP] calculated map_width = 128 0
[MAP] calculated map_height = 128 0
[MAP] calculated map_numplayers = 12
[MAP] calculated map_numteams = 2
[MAP] calculated map_slot1 = 0 255 0 0 0 0 1 1 100
[MAP] calculated map_slot2 = 0 255 0 0 0 1 1 1 100
[MAP] calculated map_slot3 = 0 255 0 0 0 2 1 1 100
[MAP] calculated map_slot4 = 0 255 0 0 0 3 1 1 100
[MAP] calculated map_slot5 = 0 255 0 0 0 4 1 1 100
[MAP] calculated map_slot6 = 0 255 0 0 0 5 1 1 100
[MAP] calculated map_slot7 = 0 255 0 0 0 6 1 1 100
[MAP] calculated map_slot8 = 0 255 0 0 0 7 1 1 100
[MAP] calculated map_slot9 = 0 255 0 0 0 8 1 1 100
[MAP] calculated map_slot10 = 0 255 0 0 0 9 1 1 100
[MAP] calculated map_slot11 = 0 255 0 0 1 10 8 1 100
[MAP] calculated map_slot12 = 0 255 0 0 1 11 8 1 100```

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

Another thing to check, do these md5sums match yours (1.30)?

$ md5sum common.j
f9dba7902a9b21a71914650e7a70176d  common.j
$ md5sum blizzard.j 
6a1f31f646cab48b40d6d1743d4e6ccf  blizzard.j

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

1.30

$ md5sum common.j
dcdba2d35c06b2a41c0b5308beac85a2  common.j
$ md5sum blizzard.j 
818a9c3c6be0c7f8cea81f257af569e9  blizzard.j

So our checkums mismatch for v1.30.

But im sure that those 2 are the latest files i pulled out of the casc data container just yesterday.

I place all of the files i extract for each version in this git repository, i set it to public so you can take a look: https://gitlab.com/PhilippHeuer/war3-data/tree/master

Could you check if our files are indentical?

This mismatch should also be the reason for my map checksums not matching those of maxemann right?

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

The files i have in my git repo and extracted are identical to yours though. It seems that the files were broken within the ci pipeline when they got added to the docker image which messed up the line-endings.

You can remove the repo now.
Thanks a lot for your help guys! I would never have guessed that the line endings were messed up :/

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

You'r right, but im 100% sure i pushed the file with windows file endings , not unix. Somehow GitLab seems to change it to unix either on push or on download. I will just zip the files pre-download to work around this.

Thanks again.

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

Hey, I have the same issue.

But in my case the checksum of blizzard.j and common.j is correct, and I also get the same mapvalues from the testmap:

6a1f31f646cab48b40d6d1743d4e6ccf
f9dba7902a9b21a71914650e7a70176d

[Thu Aug  9 21:31:26 2018] [QUEUED: europe] Loading config file [VampirismFire5.10.w3x].
[Thu Aug  9 21:31:26 2018] [MAP] loading MPQ file [maps/VampirismFire5.10.w3x]
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_size = 187 161 10 0
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_info = 248 166 102 40
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_crc = 215 110 1 19
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_sha1 = 93 86 129 88 143 169 157 129 18 39 236 87 65 37 131 198 87 136 67 90
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_options = 96
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_width = 128 0
[Thu Aug  9 21:31:26 2018] [MAP] calculated map_height = 128 0
...

[Thu Aug  9 21:31:37 2018] [GAME: test4] player [mHarry.e0x|*] joined the game
[Thu Aug  9 21:31:37 2018] [GAME: test4] [Local]: Player [mHarry.e0x] has joined from [europe.battle.net]
[Thu Aug  9 21:31:37 2018] [GAME: test4] map download started for player [mHarry.e0x]
[Thu Aug  9 21:31:38 2018] [GAME: test4] map download finished for player [mHarry.e0x] in 0.7 seconds
[Thu Aug  9 21:31:38 2018] [GAME: test4] [Local]: Player [mHarry.e0x] downloaded the map in 0.7 seconds (977.6 KB/sec).
[Thu Aug  9 21:31:38 2018] [GAME: test4] deleting player [mHarry.e0x]: has left the game voluntarily

Any idea what could be the cause?

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

@keksd0se did you check other things mentioned above (e.g. WC3 client is 1.30)? If you could leave a private game up and write gamename here maybe I / other people could take a look.

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

ye both wc3 client and server is updated to 1.30. I opened a game named "test88" on europe.

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

I´ve run wireshark and I guess it maybe has something to do with the map size:

1095 2018-08-09 22:05:44,012391 xx xx BNETP 67 C> W3GS_MAPSIZE (0x42)

Battle.net Protocol C> W3GS_MAPSIZE (0x42)
Header Type: W3IGP (0xf7)
Packet ID: W3GS_MAPSIZE (0x42)
Packet Length: 13
Unknown: 1
Size Flag: 1
Map Size: 696763

1101 2018-08-09 22:05:44,026378 xx xx BNETP 62 C> W3GS_LEAVEREQ (0x21)

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

Will try to look at it later today.

The final W3GS_MAPSIZE should be when the player finished downloading the map. After downloading, probably the WC3 client checks the metadata provided by the bot in W3GS_MAPCHECK packet (sent when player first joined the game) against the actual copy of the map that it has downloaded. Presumably if there is a mismatch then the client disconnects, and that is likely what we are seeing here.

So the root cause should be something like incorrect checksum/hash or invalid map options, but it seems like yours are correct from the log.

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

thank you, here is my config:

Also note im using kinda different ghost version (very minor changes), take a look at
https://github.com/keksd0se/mBot

(snipped to keep this issue short)

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

This is the packet you requested in your last entry, and the other is last one before the player leave packet is issued by the client. the filesize seems to match the map size....

Battle.net Protocol S> W3GS_MAPCHECK (0x3d)
    Header Type: W3IGP (0xf7)
    Packet ID: W3GS_MAPCHECK (0x3d)
    Packet Length: 76
    Unknown: 1
    File Path: Maps\Download\VampirismFire5.10.w3x
    File size: 696763
    Map info: 677816056
    File CRC encryption: 318861015
    File SHA-1 hash: 1484871261
    Unhandled Packet Data: 8fa99d811227ec57412583c65788435a


	
    Battle.net Protocol C> W3GS_MAPSIZE (0x42)
    Header Type: W3IGP (0xf7)
    Packet ID: W3GS_MAPSIZE (0x42)
    Packet Length: 13
    Unknown: 1
    Size Flag: 1
    Map Size: 696763

from ghostpp.

maxemann96 avatar maxemann96 commented on August 9, 2024

You also updated bncsutil?
e6dab18

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

no i didnt, is it mandatory?

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

No I don't think the bncsutil would be related, that update was mainly if you have issue connecting to Battle.net (stuck on authenticating as WC3).

from ghostpp.

uakfdotb avatar uakfdotb commented on August 9, 2024

@keksd0se I don't think the map CRC is correct. maxemann96 might have posted the correct CRC for 1.29. Here are the values I'm getting (VampirismFire5.10.w3x on v1.30):

map_size = 187 161 10 0
map_info = 248 166 102 40
map_crc = 182 255 82 144
map_sha1 = 44 85 11 27 247 175 73 153 89 17 169 109 100 178 86 127 140 193 35 69
map_options = 96
map_width = 128 0
map_height = 128 0

Did you put the blizzard.j and common.j that you extracted in mapcfgs folder? GHost++ expects them in that folder, not in bot_war3path.

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

Maybe you still have the old .mpq in the war3path, so that the scripts you manually extracted are overwritten with the old version?

Might be worth to change it to not extact the scripts from 1.30 onwards, will create a pr for that later if you'r not faster.

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

you were correct uakfdotb, i didnt put it in mapcfgs. I´ve now upgrade to latest patch and everything is working just fine for now. Thanks a lot for the help guys!

from ghostpp.

keksd0se avatar keksd0se commented on August 9, 2024

offtopic, but... anyone experiencing desyncs since new patch? just played 2 games and got 3x desyncs which never happened before. Anything we can do botwise?

from ghostpp.

PhilippHeuer avatar PhilippHeuer commented on August 9, 2024

Didn't have a single desync on my bots yet after the new patch.

from ghostpp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.