Games-and-Simulations / sc-docker

Multi-platform Version of StarCraft: Brood War in a Docker Container, ready to use for bot play simulations.
MIT License
230 stars 41 forks source link

No map selection when create game #62

Open kant2002 opened 6 years ago

kant2002 commented 6 years ago

expected behaviour

The map should be displayed

actual behaviour

The map does not selected

image

steps to reproduce

Launch command

scbw.play --bots "Andrey Kurdiumov:Z" krasio --show_all --map_dir "D:\Games\Starcraft\sc1.6.1\Brood War\maps\BroodWar\64" --map "(2)Showdown.scx"

Please run the command issued with --log_level=DEBUG --log_verbose parameters and log:

2018-03-31 18:10:19 DEBUG scbw.docker_utils[47524] container name = 'GAME_66C25E6E_0_Andrey_Kurdiumov', container id = '['1486a1a59b']'
2018-03-31 18:10:19 DEBUG scbw.docker_utils[47524]
docker_image=starcraft:game-0.2b10
command=['/app/play_bot.sh', '--headful']
name=GAME_66C25E6E_1_krasi0
detach=True
environment={   'BOT_BWAPI': '4.1.2',
    'BOT_FILE': 'krasi0AIClient.exe',
    'CAPTURE_MOUSE_MOVEMENT': '0',
    'DROP_PLAYERS': '0',
    'EXIT_CODE_REALTIME_OUTED': 2,
    'GAME_NAME': 'GAME_66C25E6E',
    'GAME_TYPE': 'FREE_FOR_ALL',
    'HEADFUL_LAUNCH_MULTIPLAYER': '0',
    'HIDE_NAMES': '0',
    'JAVA_DEBUG': '0',
    'MAP_NAME': '/app/sc/maps/(2)Showdown.scx',
    'NTH_PLAYER': 1,
    'NUM_PLAYERS': 2,
    'PLAYER_NAME': 'krasi0',
    'PLAYER_RACE': 'T',
    'SPEED_OVERRIDE': 0,
    'TM_ALLOW_USER_INPUT': '0',
    'TM_LOG_FRAMETIMES': '../logs/GAME_66C25E6E_1_frames.csv',
    'TM_LOG_RESULTS': '../logs/GAME_66C25E6E_1_results.json',
    'TM_SPEED_OVERRIDE': 0}
privileged=True
volumes={   '//c/Users/user/AppData/Roaming/scbw/bots/krasi0': {   'bind': '/app/bot',
                                                           'mode': 'ro'},
    '//c/Users/user/AppData/Roaming/scbw/bots/krasi0/write/GAME_66C25E6E_1': {   'bind': '/app/sc/bwapi-data/write',
                                                                                 'mode': 'rw'},
    '//c/Users/user/AppData/Roaming/scbw/bwapi-data/BWTA': {   'bind': '/app/sc/bwapi-data/BWTA',
                                                               'mode': 'rw'},
    '//c/Users/user/AppData/Roaming/scbw/bwapi-data/BWTA2': {   'bind': '/app/sc/bwapi-data/BWTA2',
                                                                'mode': 'rw'},
    '//c/Users/user/AppData/Roaming/scbw/logs': {   'bind': '/app/logs',
                                                    'mode': 'rw'},
    '//d/Games/Starcraft/sc1.6.1/Brood War/maps/BroodWar/64': {   'bind': '/app/sc/maps',
                                                                  'mode': 'rw'}}

operating system

win 10 Home

docker version

output of command docker version:

Client:
 Version:       18.01.0-ce
 API version:   1.35
 Go version:    go1.9.2
 Git commit:    03596f51b1
 Built: Thu Jan 11 22:29:41 2018
 OS/Arch:       windows/amd64
 Experimental:  false
 Orchestrator:  swarm

Server:
 Engine:
  Version:      18.01.0-ce
  API version:  1.35 (minimum version 1.12)
  Go version:   go1.9.2
  Git commit:   03596f5
  Built:        Wed Jan 10 20:13:12 2018
  OS/Arch:      linux/amd64
  Experimental: false

scbw version

output of command scbw.play -v

0.2b10
kant2002 commented 6 years ago

I suspect that this is related to line

    '//d/Games/Starcraft/sc1.6.1/Brood War/maps/BroodWar/64': {   'bind': '/app/sc/maps',
                                                                  'mode': 'rw'}}

Would like that decision on test structure would be somehow clarified. See https://github.com/Games-and-Simulations/sc-docker/pull/61 . This issue is too simple, and good candidate for unit test for error prevention

michalsustr commented 6 years ago

I think maps folder in SC must at least contain BroodWar folder for SC map selection to work properly.

kant2002 commented 6 years ago

I will try with other paths which has BroodWar inside. If this is path specific, then maybe we could print warning message with explanation why it is not working.