In [ ]:
import gym
import universe
    
env = gym.make('flashgames.DuskDrive-v0')
env.configure(remotes=1)  # automatically creates a local docker container
observation_n = env.reset()

while True:
  action_n = [[('KeyEvent', 'ArrowUp', True)] for ob in observation_n]  # your agent here
  observation_n, reward_n, done_n, info = env.step(action_n)
  env.render()


[2017-11-23 10:54:39,081] Making new env: flashgames.DuskDrive-v0
[2017-11-23 10:54:39,095] Writing logs to file: /tmp/universe-15862.log
[2017-11-23 10:54:39,139] Ports used: dict_keys([15900, 5900])
[2017-11-23 10:54:39,147] [0] Creating container: image=quay.io/openai/universe.flashgames:0.20.28. Run the same thing by hand as: docker run -p 5901:5900 -p 15901:15900 --privileged --cap-add SYS_ADMIN --ipc host quay.io/openai/universe.flashgames:0.20.28
[2017-11-23 10:54:39,594] Remote closed: address=localhost:5901
[2017-11-23 10:54:39,596] At least one sockets was closed by the remote. Sleeping 1s...
universe-nEnMRz-0 | Setting VNC and rewarder password: openai
universe-nEnMRz-0 | [Thu Nov 23 03:54:39 UTC 2017] Waiting for /tmp/.X11-unix/X0 to be created (try 1/10)
universe-nEnMRz-0 | [tigervnc] 
universe-nEnMRz-0 | [tigervnc] Xvnc TigerVNC 1.7.0 - built Sep  8 2016 10:39:22
universe-nEnMRz-0 | [tigervnc] Copyright (C) 1999-2016 TigerVNC Team and many others (see README.txt)
universe-nEnMRz-0 | [tigervnc] See http://www.tigervnc.org for information on TigerVNC.
universe-nEnMRz-0 | [tigervnc] Underlying X server release 11400000, The X.Org Foundation
universe-nEnMRz-0 | [tigervnc] 
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension VNC-EXTENSION
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension Generic Event Extension
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension SHAPE
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension MIT-SHM
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XInputExtension
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XTEST
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension BIG-REQUESTS
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension SYNC
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XKEYBOARD
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XC-MISC
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XINERAMA
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XFIXES
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension RENDER
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension RANDR
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension COMPOSITE
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension DAMAGE
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension MIT-SCREEN-SAVER
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension DOUBLE-BUFFER
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension RECORD
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension DPMS
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension X-Resource
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XVideo
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension XVideo-MotionCompensation
universe-nEnMRz-0 | [tigervnc] Initializing built-in extension GLX
universe-nEnMRz-0 | [tigervnc] 
universe-nEnMRz-0 | [tigervnc] Thu Nov 23 03:54:39 2017
universe-nEnMRz-0 | [tigervnc]  vncext:      VNC extension running!
universe-nEnMRz-0 | [tigervnc]  vncext:      Listening for VNC connections on all interface(s), port 5900
universe-nEnMRz-0 | [tigervnc]  vncext:      created VNC server for screen 0
universe-nEnMRz-0 | [tigervnc] [dix] Could not init font path element /usr/share/fonts/X11/Type1/, removing from list!
universe-nEnMRz-0 | [tigervnc] [dix] Could not init font path element /usr/share/fonts/X11/75dpi/, removing from list!
universe-nEnMRz-0 | [tigervnc] [dix] Could not init font path element /usr/share/fonts/X11/100dpi/, removing from list!
universe-nEnMRz-0 | [Thu Nov 23 03:54:39 UTC 2017] [/usr/local/bin/sudoable-env-setup] Disabling outbound network traffic for none
universe-nEnMRz-0 | [init] [2017-11-23 03:54:39,812] Launching system_diagnostics_logger.py, recorder_logdir=/tmp/demo
universe-nEnMRz-0 | [init] [2017-11-23 03:54:39,826] Launching reward_recorder.py, recorder_logdir=/tmp/demo
universe-nEnMRz-0 | [init] [2017-11-23 03:54:39,847] Launching vnc_recorder.py, recorder_logdir=/tmp/demo
universe-nEnMRz-0 | [init] [2017-11-23 03:54:39,887] PID 54 launched with command ['sudo', '-H', '-u', 'nobody', 'DISPLAY=:0', 'DBUS_SESSION_BUS_ADDRESS=/dev/null', '/app/universe-envs/controlplane/bin/controlplane.py', '--rewarder-port=15901']
universe-nEnMRz-0 | [init] [2017-11-23 03:54:39,952] init detected end of child process 58 with exit code 0, not killed by signal
universe-nEnMRz-0 | WebSocket server settings:
universe-nEnMRz-0 |   - Listen on :5898
universe-nEnMRz-0 |   - Flash security policy server
universe-nEnMRz-0 |   - No SSL/TLS support (no cert file)
universe-nEnMRz-0 |   - proxying from :5898 to localhost:5900
[2017-11-23 10:54:40,599] Remote closed: address=localhost:15901
[2017-11-23 10:54:40,601] Remote closed: address=localhost:5901
[2017-11-23 10:54:40,602] At least one sockets was closed by the remote. Sleeping 1s...
universe-nEnMRz-0 | [tigervnc] 
universe-nEnMRz-0 | [tigervnc] Thu Nov 23 03:54:40 2017
universe-nEnMRz-0 | [nginx] 2017/11/23 03:54:40 [error] 62#62: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.17.0.1, server: , request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:15901/", host: "127.0.0.1:10003"
universe-nEnMRz-0 | [nginx] 172.17.0.1 - openai [23/Nov/2017:03:54:40 +0000] "GET / HTTP/1.1" 502 182 "-" "-"
universe-nEnMRz-0 | [tigervnc]  Connections: accepted: 172.17.0.1::33580
universe-nEnMRz-0 | [init] [2017-11-23 03:54:40,758] init detected end of child process 16 with exit code 0, not killed by signal
universe-nEnMRz-0 | [reward_recorder] [2017-11-23 03:54:40,890] Listening on 0.0.0.0:15898
universe-nEnMRz-0 | [vnc_recorder] [2017-11-23 03:54:41,031] Listening on 0.0.0.0:5899
universe-nEnMRz-0 | [2017-11-23 03:54:41,229] [INFO:root] Starting play_controlplane.py with the following: command=['/app/universe-envs/controlplane/bin/controlplane.py', '--rewarder-port=15901'] args=Namespace(bot_demonstration=False, demonstration=False, env_id=None, idle_timeout=None, integrator_mode=False, no_env=False, no_rewarder=False, no_scorer=False, no_vexpect=False, remotes='vnc://127.0.0.1:5900', rewarder_fps=60, rewarder_port=15901, verbosity=0) env=environ({'SUDO_UID': '0', 'TERM': 'xterm', 'SUDO_USER': 'root', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'DISPLAY': ':0', 'HOME': '/nonexistent', 'MAIL': '/var/mail/nobody', 'LOGNAME': 'nobody', 'SUDO_COMMAND': '/app/universe-envs/controlplane/bin/controlplane.py --rewarder-port=15901', 'SHELL': '/usr/sbin/nologin', 'SUDO_GID': '0', 'USER': 'nobody', 'HOSTNAME': 'cd3b890bc762', 'DBUS_SESSION_BUS_ADDRESS': '/dev/null', 'USERNAME': 'nobody'})
universe-nEnMRz-0 | [2017-11-23 03:54:41,230] [INFO:root] [EnvStatus] Changing env_state: None (env_id=None) -> None (env_id=None) (episode_id: 0->0, fps=60)
universe-nEnMRz-0 | [2017-11-23 03:54:41,230] [INFO:universe.rewarder.remote] Starting Rewarder on port=15901
universe-nEnMRz-0 | [2017-11-23 03:54:41,236] [INFO:universe.extra.universe.wrappers.logger] Running VNC environments with Logger set to print_frequency=5. To change this, pass "print_frequency=k" or "print_frequency=None" to "env.configure".
universe-nEnMRz-0 | [2017-11-23 03:54:41,237] [INFO:universe.remotes.hardcoded_addresses] No rewarder addresses were provided, so this env cannot connect to the remote's rewarder channel, and cannot send control messages (e.g. reset)
universe-nEnMRz-0 | [2017-11-23 03:54:41,237] [INFO:universe.envs.vnc_env] Using the golang VNC implementation
universe-nEnMRz-0 | [2017-11-23 03:54:41,238] [INFO:universe.envs.vnc_env] Using VNCSession arguments: {'compress_level': 9, 'encoding': 'zrle', 'subsample_level': 2, 'start_timeout': 7, 'fine_quality_level': 50}. (Customize by running "env.configure(vnc_kwargs={...})"
universe-nEnMRz-0 | [2017-11-23 03:54:41,238] [INFO:universe.envs.vnc_env] Printed stats will ignore clock skew. (This usually makes sense only when the environment and agent are on the same machine.)
universe-nEnMRz-0 | [2017-11-23 03:54:41,243] [INFO:universe.envs.vnc_env] [0] Connecting to environment: vnc://127.0.0.1:5900 password=openai. If desired, you can manually connect a VNC viewer, such as TurboVNC. Most environments provide a convenient in-browser VNC client: http://None/viewer/?password=openai
universe-nEnMRz-0 | [2017-11-23 03:54:41,243] [INFO:universe.extra.universe.envs.vnc_env] [0] Connecting to environment details: vnc_address=127.0.0.1:5900 vnc_password=openai rewarder_address=None rewarder_password=openai
universe-nEnMRz-0 | 2017/11/23 03:54:41 I1123 03:54:41.244425 57 gymvnc.go:417] [0:127.0.0.1:5900] opening connection to VNC server
universe-nEnMRz-0 | [2017-11-23 03:54:41,244] [INFO:root] [EnvStatus] Changing env_state: None (env_id=None) -> resetting (env_id=None) (episode_id: 0->1, fps=60)
universe-nEnMRz-0 | [2017-11-23 03:54:41,244] [INFO:root] [MainThread] Env state: env_id=None episode_id=1
universe-nEnMRz-0 | [tigervnc] 
universe-nEnMRz-0 | [tigervnc] Thu Nov 23 03:54:41 2017
universe-nEnMRz-0 | [tigervnc]  Connections: accepted: 127.0.0.1::55590
universe-nEnMRz-0 | [2017-11-23 03:54:41,245] [INFO:root] [MainThread] Writing None to /tmp/demo/env_id.txt
universe-nEnMRz-0 | [tigervnc]  SConnection: Client needs protocol version 3.8
universe-nEnMRz-0 | [tigervnc]  SConnection: Client requests security type VncAuth(2)
universe-nEnMRz-0 | [tigervnc]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
universe-nEnMRz-0 | 2017/11/23 03:54:41 I1123 03:54:41.257154 57 gymvnc.go:550] [0:127.0.0.1:5900] connection established
universe-nEnMRz-0 | [Thu Nov 23 03:54:41 UTC 2017] [/usr/local/bin/sudoable-env-setup] Disabling outbound network traffic for none
universe-nEnMRz-0 | [tigervnc]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
universe-nEnMRz-0 | [2017-11-23 03:54:41,289] [INFO:gym_flashgames.launcher] [MainThread] Launching new Chrome process (attempt 0/10)
universe-nEnMRz-0 | [2017-11-23 03:54:41,289] [INFO:root] Replacing selenium_wrapper_server since we currently do it at every episode boundary
universe-nEnMRz-0 | [2017-11-23 03:54:41,495] [selenium_wrapper_server] Calling webdriver.Chrome()
[2017-11-23 10:54:41,605] Using the golang VNC implementation
universe-nEnMRz-0 | [nginx] 2017/11/23 03:54:41 [info] 62#62: *1 client 172.17.0.1 closed keepalive connection
[2017-11-23 10:54:41,607] Using VNCSession arguments: {'start_timeout': 7, 'encoding': 'tight', 'fine_quality_level': 50, 'subsample_level': 2}. (Customize by running "env.configure(vnc_kwargs={...})"
universe-nEnMRz-0 | [tigervnc]  Connections: closed: 172.17.0.1::33580 (Clean disconnection)
universe-nEnMRz-0 | [tigervnc]  EncodeManager: Framebuffer updates: 0
universe-nEnMRz-0 | [tigervnc]  EncodeManager:   Total: 0 rects, 0 pixels
universe-nEnMRz-0 | [tigervnc]  EncodeManager:          0 B (1:-nan ratio)
[2017-11-23 10:54:41,633] [0] Connecting to environment: vnc://localhost:5901 password=openai. If desired, you can manually connect a VNC viewer, such as TurboVNC. Most environments provide a convenient in-browser VNC client: http://localhost:15901/viewer/?password=openai
universe-nEnMRz-0 | [tigervnc]  Connections: accepted: 172.17.0.1::33602
universe-nEnMRz-0 | [tigervnc]  SConnection: Client needs protocol version 3.8
universe-nEnMRz-0 | [tigervnc]  SConnection: Client requests security type VncAuth(2)
universe-nEnMRz-0 | [tigervnc]  VNCSConnST:  Server default pixel format depth 24 (32bpp) little-endian rgb888
universe-nEnMRz-0 | [tigervnc]  VNCSConnST:  Client pixel format depth 24 (32bpp) little-endian bgr888
universe-nEnMRz-0 | [2017-11-23 03:54:42,165] [INFO:universe.rewarder.remote] Client connecting: peer=tcp4:127.0.0.1:44712 observer=False
universe-nEnMRz-0 | [2017-11-23 03:54:42,166] [INFO:universe.rewarder.remote] WebSocket connection established
universe-nEnMRz-0 | [nginx] 2017/11/23 03:54:43 [info] 62#62: *5 client sent invalid request while reading client request line, client: 127.0.0.1, server: , request: "CONNECT www.google.com:443 HTTP/1.1"
universe-nEnMRz-0 | [nginx] 2017/11/23 03:54:43 [info] 62#62: *6 client sent invalid request while reading client request line, client: 127.0.0.1, server: , request: "CONNECT www.google.com:443 HTTP/1.1"
universe-nEnMRz-0 | [2017-11-23 03:54:44,093] [selenium_wrapper_server] Call to webdriver.Chrome() completed: 2.60s
universe-nEnMRz-0 | [2017-11-23 03:54:44,093] [INFO:gym_flashgames.launcher] [MainThread] Navigating browser to url=http://localhost