def action_create(self, args):
        """
            Spin up a multi-node distributed Surreal experiment.
            Put any command line args that pass to the config script after "--"
        """
        cluster = self.create_cluster()
        experiment_name = self._process_experiment_name(args.experiment_name)
        exp = cluster.new_experiment(
            experiment_name,
            preamble_cmds=self.config.tmux_preamble_cmds)

        algorithm_args = args.remainder
        algorithm_args += [
            "--num-agents",
            str(args.num_agents),
            ]
        experiment_folder = os.path.join(self.folder, experiment_name)
        print('Writing experiment output to {}'.format(experiment_folder))
        algorithm_args += ["--experiment-folder",
                           experiment_folder]
        algorithm_args += ["--env", args.env]
        executable = self._find_executable(args.algorithm)
        cmd_gen = CommandGenerator(
            num_agents=args.num_agents,
            num_evals=args.num_evals,
            executable=executable,
            config_commands=algorithm_args)

        learner = exp.new_process(
            'learner',
            cmds=[cmd_gen.get_command('learner')])
        # learner.set_env('DISABLE_MUJOCO_RENDERING', "1")

        replay = exp.new_process(
            'replay',
            cmds=[cmd_gen.get_command('replay')])

        ps = exp.new_process(
            'ps',
            cmds=[cmd_gen.get_command('ps')])

        tensorboard = exp.new_process(
            'tensorboard',
            cmds=[cmd_gen.get_command('tensorboard')])

        tensorplex = exp.new_process(
            'tensorplex',
            cmds=[cmd_gen.get_command('tensorplex')])

        loggerplex = exp.new_process(
            'loggerplex',
            cmds=[cmd_gen.get_command('loggerplex')])

        agents = []
        for i in range(args.num_agents):
            agent_name = 'agent-{}'.format(i)
            agent = exp.new_process(
                agent_name,
                cmds=[cmd_gen.get_command(agent_name)])
            agents.append(agent)

        evals = []
        for i in range(args.num_evals):
            eval_name = 'eval-{}'.format(i)
            eval_p = exp.new_process(
                eval_name,
                cmds=[cmd_gen.get_command(eval_name)])
            evals.append(eval_p)

        setup_network(agents=agents,
                      evals=evals,
                      learner=learner,
                      replay=replay,
                      ps=ps,
                      tensorboard=tensorboard,
                      tensorplex=tensorplex,
                      loggerplex=loggerplex)
        self._setup_gpu(agents=agents,
                        evals=evals,
                        learner=learner,
                        gpus=args.gpu)
        cluster.launch(exp, dry_run=args.dry_run)

            Spin up a multi-node distributed Surreal experiment.
            Put any command line args that pass to the config script after "--"
        
surreal/tmux/surreal_tmux.py