Skip to content

Commit d447fbc

Browse files
committed
Add README
1 parent f2a893d commit d447fbc

File tree

1 file changed

+14
-85
lines changed

1 file changed

+14
-85
lines changed

README.md

+14-85
Original file line numberDiff line numberDiff line change
@@ -1,95 +1,24 @@
1-
# skyline-rs-template
1+
# Helios
22

3-
A template for writing skyline plugins for modding switch games using Rust and skyline-rs.
3+
A skyline-based plugin for automatically keeping your mods up-to-date. If an update is available, it prompts you to install it on launch.
44

5-
[Documentation for skyline-rs](https://ultimate-research.github.io/skyline-rs-template/doc/skyline/index.html)
65

7-
## Setup
6+
### Usage
87

9-
### Local
8+
To create a mod to be updated via Helios, simply create a simple config:
109

11-
#### Prerequisites
12-
13-
* [Rust](https://www.rust-lang.org/install.html) - make sure rustup, cargo, and rustc (preferrably nightly) are installed.
14-
* [git](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git)
15-
16-
Install [cargo skyline](https://github.com/jam1garner/cargo-skyline).
17-
```bash
18-
# inside a folder where you will dev all of your plugins going forward
19-
cargo install cargo-skyline
20-
cargo skyline new [your_plugin_name]
21-
```
22-
23-
### VS Code with Docker
24-
25-
#### Prerequisites
26-
27-
* [Docker](https://www.docker.com/get-started)
28-
* [Visual Studio Code](https://code.visualstudio.com/)
29-
* [Visual Studio Code Remote Development Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack)
30-
31-
Simply run `Remote Containers: Reopen in Container` in the Command Palette.
32-
33-
## Creating and building a plugin
34-
35-
To compile your plugin use the following command in the root of the project (beside the `Cargo.toml` file):
36-
```sh
37-
cargo skyline build
38-
```
39-
Your resulting plugin will be the `.nro` found in the folder
40-
```
41-
[plugin name]/target/aarch64-skyline-switch
42-
```
43-
To install (you must already have skyline installed on your switch), put the plugin on your SD at:
44-
```
45-
sd:/atmosphere/contents/[title id]/romfs/skyline/plugins
46-
```
47-
So, for example, smash plugins go in the following folder:
48-
```
49-
sd:/atmosphere/contents/01006A800016E000/romfs/skyline/plugins
50-
```
51-
52-
`cargo skyline` can also automate some of this process via FTP. If you have an FTP client on your Switch, you can run:
53-
```sh
54-
cargo skyline set-ip [Switch IP]
55-
# install to the correct plugin folder on the Switch and listen for logs
56-
cargo skyline run
10+
```toml
11+
name = "helios_test"
12+
version = "1.0.0"
13+
server_ip = "999.999.999.999"
5714
```
5815

59-
## Troubleshooting
16+
Then name it `[name here].toml` and throw it in `sd:/helios/[title id of game]/`. Helios will automatically keep your config file version up to date.
6017

61-
**"Cannot be used on stable"**
18+
Config fields:
6219

63-
First, make sure you have a nightly installed:
64-
```
65-
rustup install nightly
66-
```
67-
Second, make sure it is your default channel:
68-
```
69-
rustup default nightly
70-
```
71-
---
72-
```
73-
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', src/bin/cargo-nro.rs:280:13
74-
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
75-
```
76-
77-
Make sure you are *inside* the root of the plugin you created before running `cargo skyline build`
78-
79-
Have a problem/solution that is missing here? Create an issue or a PR!
80-
81-
## Updating
20+
* `name` (required) - the name of the plugin as present on the skyline-update server
21+
* `version` (required) - the version of the plugin being included on the SD card in the form of `MAJOR.MINOR.PATCH`.
22+
* `server_ip` (required) - the IP address of the server to install the update from. The server should be running skyline-update's update-server.
8223

83-
For updating your dependencies such as skyline-rs:
84-
85-
```
86-
cargo update
87-
```
88-
89-
For updating your version of `rust-std-skyline-squashed`:
90-
91-
```
92-
# From inside your plugins folder
93-
94-
cargo skyline self-update
95-
```
24+
It is recommended that mod creator's should include the config file with the download itself. This will allow anyone who installs the mod and has helios installed to update the mod without even thinking about it.

0 commit comments

Comments
 (0)