semvec/pypi-packages huggingface dataset:
rcsssmj 0.1.0
MuJoCo based RoboCup Soccer Simulation Server
Requires Python: >=3.10
Keywords: AI, Competition, Humanoid, Machine Learning, MuJoCo, RoboCup, Robot, Simulation, Soccer

# RCSSServerMJ

The RoboCup Soccer Simulation Server based on the MuJoCo physics engine.

![Soccer Simulation Screenshot](https://gitlab.com/robocup-sim/rcssservermj/-/raw/master/doc/source/_static/img/screenshot-T1.png)

__Video__: [https://youtu.be/iYWw7vATQU4](https://youtu.be/iYWw7vATQU4)

## Documentation

The package documentation and user guide can be found at: [robocup-sim.gitlab.io/rcssservermj](https://robocup-sim.gitlab.io/rcssservermj/).

## Installation

The simulation server (**rcsssmj** package) can be installed from [PyPI](https://pypi.org/project/rcsssmj/) via:

```bash
pip install rcsssmj
```

For more detailed installation instructions (virtual environments, installation from source, development setup, etc.) please refer to the [Installation](https://robocup-sim.gitlab.io/rcssservermj/user/installation.html) chapter of the [User Guide](https://robocup-sim.gitlab.io/rcssservermj/user/index.html).

## Instructions

Start the soccer simulation server:

```bash
rcssservermj -a 127.0.0.1 -p 60000 -m 60001
```

CLI parameter:

- `-a <ip>` to specify the server IP (default: 'localhost')
- `-p <agent_port>` to specify the agent port (default: 60000)
- `-m <monitor_port>` to specify the monitor port (default: 60001)

Stop the server: Simply <kbd>ctrl+c</kbd> the server process.

For more detailed instructions on how to run a simulation (including the full list of CLI parameter) please refer to the [Running a Simulation](https://robocup-sim.gitlab.io/rcssservermj/user/running_a_simulation.html) chapter of the [User Guide](https://robocup-sim.gitlab.io/rcssservermj/user/index.html).

## Bug Reports and Feature Requests

Please use GitLab [Issues](https://gitlab.com/robocup-sim/rcssservermj/-/issues) for reporting bugs, requesting new features and discussing development-related subjects.

## Credits

- Pitch texture taken from [dm_control](https://github.com/google-deepmind/dm_control/blob/main/dm_control/locomotion/soccer/assets/pitch/pitch_nologo_l.png) (Apache 2.0 license)
- Ant robot XML taken from [gymnasium](https://github.com/Farama-Foundation/Gymnasium/blob/main/gymnasium/envs/mujoco/assets/ant.xml) (MIT License)
- T1 robot XML and assets taken from [booster_gym](https://github.com/BoosterRobotics/booster_gym/blob/main/resources/T1/T1_serial.xml) (Apache 2.0 License)

## License and Disclaimer

Copyright (c) 2025 The RCSSServerMJ authors.

This project is licensed under the terms of the [MIT License](https://gitlab.com/robocup-sim/rcssservermj/-/raw/master/LICENSE).  
This applies to all source files in this repository except where otherwise noted.

ReStructuredText documents, images, and videos in the doc directory are made available under the terms of the Creative Commons Attribution 4.0 (CC BY 4.0) license.
You may obtain a copy of the License at [https://creativecommons.org/licenses/by/4.0/legalcode](https://creativecommons.org/licenses/by/4.0/legalcode).
spawnm 0.2.1
Quickly spin up Hetzner instances
Requires Python: >=3.9

spawnm
======

"spawn machine": Quickly spin up temporary Hetzner Cloud VMs.

Simply run

    spawnm --ssh --workdir

to directly SSH into a new server with the contents of the current folder
copied into it.
    
_\*Requires Hetzner's CLI `hcloud` to be set up and authed._

Installation
------------

```bash
uv install spawnm
```

### Prerequisites

1. Install the Hetzner Cloud CLI:
   ```bash
   brew install hcloud  # macOS
   ```
   Or see https://github.com/hetznercloud/cli for other platforms.

2. Configure `hcloud` with your API token:
   ```bash
   hcloud context create myproject
   # Enter your API token from https://console.hetzner.cloud/
   ```

3. Upload your SSH key to Hetzner Cloud:
   ```bash
   hcloud ssh-key create --name id_hetzner_macbook_air --public-key-from-file ~/.ssh/id_hetzner.pub
   ```

Usage
-----

### Create a VM

```bash
# Create with defaults
spawnm

# Create and SSH in immediately
spawnm --ssh

# Create, sync current directory, and SSH in
spawnm --ssh --workdir

# Create with custom options
spawnm --name my-server --size cx33 --image ubuntu-24.04
```

### Destroy a VM

```bash
# Destroy the only tracked instance
spawnm destroy

# Destroy a specific instance
spawnm destroy my-server

# Destroy all tracked instances
spawnm destroy --all
```

## Options

| Option | Default | Description |
|--------|---------|-------------|
| `--name` | `spawn-tmp-XXXX` | Server name (random suffix by default) |
| `--size` | `cx23` | Server type (cx23, cx33, cx43, etc.) |
| `--image` | `ubuntu-24.04` | OS image |
| `--location` | `fsn1` | Datacenter (fsn1, nbg1, hel1, ash) |
| `--ssh-key` | `id_hetzner_macbook_air` | SSH key name in Hetzner Cloud |
| `--ssh` | - | SSH into server after creation |
| `--workdir` | - | Sync current directory to the server |

## Server Types

| Type | vCPU | RAM | Disk |
|------|------|-----|------|
| cx22 | 2 | 4 GB | 40 GB |
| cx23 | 2 | 4 GB | 80 GB |
| cx32 | 4 | 8 GB | 80 GB |
| cx33 | 4 | 8 GB | 160 GB |
| cx42 | 8 | 16 GB | 160 GB |
| cx43 | 8 | 16 GB | 320 GB |

## Locations

| Code | Location |
|------|----------|
| fsn1 | Falkenstein, Germany |
| nbg1 | Nuremberg, Germany |
| hel1 | Helsinki, Finland |
| ash | Ashburn, USA |

## State

Instance information is stored in `$XDG_STATE_HOME/spawnm/instances.json` (defaults to `~/.local/state/spawnm/instances.json`).

## License

BSD-2-Clause