MOBA_RL icon indicating copy to clipboard operation
MOBA_RL copied to clipboard

ValueError: There is already a bots directory

Open lvnpz opened this issue 2 years ago • 6 comments

After downloading and decompressing 'dota2_client_5110' into one folder, I put it the under '~/.local/share/Steam/steamapps/common' and change the path in main.py as below,

game_path = os.path.expanduser("~/.local/share/Steam/steamapps/common/dota2_client_5110/game")

and set the path for run.sh in dotaservice.py as below,

   args = [
        script_path,
        '~/.local/share/Steam/steamapps/common/dota2_client_5110/game/dota.sh'

Then I have the output in the terminal indicating:

ValueError: There is already a bots directory (/home/cloudshine/.local/share/Steam/steamapps/common/dota2_client_5110/game/dota/scripts/vscripts/bots)! Please remove manually.

lvnpz avatar May 17 '22 20:05 lvnpz

@lvnpz Hello, you can remove the bots folder manually. It is automacially deleted by program but sometimes not deleted.

kimbring2 avatar May 17 '22 21:05 kimbring2

Hi, @kimbring2. I think you are right. After I remove the bots folder manually, the error doesn't exist. However, the game won't start, which means it won't enter the interface for dota2 doesn't show up. Do you have any idea of what I can do about it?

In addition, I followed the instruction in this link to build dotaservice image in order to run the run_dotaservice.sh. In this scenario, the game won't start either. If the version of dota client is the issue here, how can I build the docker images with your dotaclient version rather than the default latest one in the dota docker image built before the dotaservice image? Thanks.

lvnpz avatar May 17 '22 22:05 lvnpz

@lvnpz Building the dotaservice is not related to the version of the Dota2 client. Because the role of the dotaservice is just executing the run file of the client.

When the client version is mismatched, I found the dotaservice is stuck at this line(https://github.com/TimZaman/dotaservice/blob/733db265f04fa10caab57fa34f7f85861095dc2e/dotaservice/dotaservice.py#L473).

The dataservice is monitoring every console output of the Dota2 client and launching it when specific text appears there.

The only thing we can do now is checking your dotaservice can pass that line. We can know more after that.

P.S. What kind of OS are you using now?

kimbring2 avatar May 17 '22 22:05 kimbring2

@kimbring2 I am using ubuntu 20.04.

lvnpz avatar May 17 '22 23:05 lvnpz

@kimbring2 Do you suggest to try ubuntu 18.04? and what OS are you using?

lvnpz avatar May 19 '22 03:05 lvnpz

@kimbring2 I checked where I was stuck. My dotaservice cannot pass that line. I switched to Google Protobuf 3.19.1, python3.7.5, and dota2_client_5110. But the problem is still there. Can I ask whether there is any other version-compatible-mismatch issue I can look into?

lvnpz avatar May 23 '22 23:05 lvnpz