You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9252883
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: docs/API-and-Development/Contributing.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ Thank you for considering contributing to RomM! This document outlines some guid
6
6
7
7
## Code of Conduct
8
8
9
-
Please note that this project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md). By participating in this project, you are expected to uphold this code.
9
+
Please note that this project adheres to the Contributor Covenant [code of conduct](https://github.com/rommapp/romm/blob/master/CODE_OF_CONDUCT.md). By participating in this project, you are expected to uphold this code.
10
10
11
11
## AI Assistance Notice
12
12
@@ -44,7 +44,7 @@ If you would like to translate the project into another language, create a new f
44
44
1. Fork the repository.
45
45
2. Clone your forked repository: `git clone https://github.com/your-username/romm.git`
46
46
3. Checkout the `master` branch: `git checkout master`
47
-
4. Follow the steps in the [developer setup guide](DEVELOPER_SETUP.md)
47
+
4. Follow the steps in the [developer setup guide](https://github.com/rommapp/romm/blob/master/DEVELOPER_SETUP.md)
48
48
5. Create a new branch for your feature/fix: `git checkout -b feature-or-fix-name`
49
49
6. Make your changes and commit them with descriptive commit messages: `git commit -am 'Add feature XYZ'`
50
50
7. Push your changes to your fork: `git push origin feature-or-fix-name`
@@ -74,7 +74,7 @@ If you encounter any bugs or have suggestions for improvements, please [create a
74
74
75
75
## Licensing
76
76
77
-
By contributing to RomM, you agree that your contributions will be licensed under the project's [LICENSE](LICENSE).
77
+
By contributing to RomM, you agree that your contributions will be licensed under the project's [LICENSE](https://github.com/rommapp/romm/blob/master/LICENSE).
Docker provides a quick and easy way to get started with RomM by encapsulating all dependencies within Docker containers. This guide will walk you through the process of setting up RomM for development using Docker.
5
+
## Option 1: Using Docker
6
+
7
+
If you prefer to use Docker for development, you can set up RomM using the provided Docker Compose configuration. This method simplifies the setup process by encapsulating all dependencies within Docker containers.
4
8
5
-
## Environment setup
9
+
###Environment setup
6
10
7
-
### Create the mock structure with at least one rom and empty config for manual testing
11
+
####Create the mock structure with at least one rom and empty config for manual testing
8
12
9
13
```sh
10
14
mkdir -p romm_mock/library/roms/switch
@@ -15,7 +19,7 @@ mkdir -p romm_mock/config
15
19
touch romm_mock/config/config.yml
16
20
```
17
21
18
-
### Copy env.template to .env and fill the variables
22
+
####Copy env.template to .env and fill the variables
19
23
20
24
```sh
21
25
cp env.template .env
@@ -26,16 +30,152 @@ ROMM_BASE_PATH=/app/romm
26
30
DEV_MODE=true
27
31
```
28
32
29
-
### Build the image
33
+
####Build the image
30
34
31
35
```sh
32
36
docker compose build # or `docker compose build --no-cache` to rebuild from scratch
33
37
```
34
38
35
-
### Spin up the Docker containers
39
+
####Spin up the Docker containers
36
40
37
41
```sh
38
42
docker compose up -d
39
43
```
40
44
41
45
And you're done! You can access the app at `http://localhost:3000`. Any changes made to the code will be automatically reflected in the app thanks to the volume mounts.
46
+
47
+
## Option 2: Manual setup
48
+
49
+
### Environment setup
50
+
51
+
#### - Create the mock structure with at least one rom and empty config for manual testing
52
+
53
+
```sh
54
+
mkdir -p romm_mock/library/roms/switch
55
+
touch romm_mock/library/roms/switch/metroid.xci
56
+
mkdir -p romm_mock/resources
57
+
mkdir -p romm_mock/assets
58
+
mkdir -p romm_mock/config
59
+
touch romm_mock/config/config.yml
60
+
```
61
+
62
+
#### - Copy env.template to .env and fill the variables
We use [Trunk](https://trunk.io) for linting, which combines multiple linters and formatters with sensible defaults and a single configuration file. You'll need to install the Trunk CLI to use it.
146
+
147
+
### - Install the Trunk CLI
148
+
149
+
```sh
150
+
curl https://get.trunk.io -fsSL | bash
151
+
```
152
+
153
+
Alternative installation methods can be found [in their docs](https://docs.trunk.io/check/usage#install-the-cli). On commit, the linter will run automatically. To run it manually, use the following commands:
154
+
155
+
```sh
156
+
trunk fmt
157
+
trunk check
158
+
```
159
+
160
+
**Failing to install and run the linter will result in a failed CI check, which won't allow us to merge your PR.**
161
+
162
+
## Test setup
163
+
164
+
### - Create the test user and database with root user
Copy file name to clipboardExpand all lines: docs/Getting-Started/Configuration-File.md
+31-9Lines changed: 31 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,6 +101,7 @@ Disable file hash calculation for low power devices (e.g. Raspberry PI).
101
101
filesystem:
102
102
skip_hash_calculation: true
103
103
```
104
+
104
105
---
105
106
106
107
## Scan Section
@@ -232,21 +233,42 @@ emulatorjs:
232
233
cache_limit: 52428800 # 50 MB
233
234
```
234
235
236
+
### Disable batch bootup
237
+
238
+
Skips the step that runs a batch file that sets soundcard information, mounts file systems, and attempts to run an `autorun.bat` file (try this if DOS games fail to boot).
239
+
240
+
```yaml
241
+
emulatorjs:
242
+
disable_batch_bootup: true
243
+
```
244
+
245
+
### Disable auto-unload
246
+
247
+
The emulator stops/shuts itself down when you navigate to a new page; this setting stops that behaviour (if that's something you want).
248
+
249
+
```yaml
250
+
emulatorjs:
251
+
disable_auto_unload: true
252
+
```
253
+
235
254
### Netplay
236
255
237
256
Enable [netplay](https://emulatorjs.org/docs4devs/netplay/#website-integration) and configure STUN/TURN servers. We recommend Google's public servers or [Metered's free tier](https://www.metered.ca/stun-turn).
Copy file name to clipboardExpand all lines: docs/Platforms-and-Players/EmulatorJS-Player.md
+29-31Lines changed: 29 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,49 +21,47 @@ Netplay lets you play with friends remotely, in realtime with the build-in web p
21
21
22
22
```yaml
23
23
emulatorjs:
24
-
netplay:
25
-
enabled: true
24
+
netplay:
25
+
enabled: true
26
26
```
27
27
28
28
If you require ICE servers for NAT traversal, we recommend a free-tier [Metered](https://www.metered.ca/stun-turn) account. Create new "TURN Credentials" and replace `<username>` and `<password>` with the entries under "Show ICE Server Array":
Alternatively, use the free STUN servers from Google and TURN servers via the OpenRelayProject:
51
51
52
52
```yaml
53
53
emulatorjs:
54
-
netplay:
55
-
enabled: true
56
-
ice_servers:
57
-
- urls: "stun:stun.l.google.com:19302"
58
-
- urls: "stun:stun1.l.google.com:19302"
59
-
- urls: "stun:stun2.l.google.com:19302"
60
-
- urls: "stun:stun.nextcloud.com:34782"
61
-
- urls: "turn:openrelay.metered.ca:80"
62
-
username: "openrelayproject"
63
-
credential: "openrelayproject"
64
-
- urls: "turn:openrelay.metered.ca:443"
65
-
username: "openrelayproject"
66
-
credential: "openrelayproject"
54
+
netplay:
55
+
ice_servers:
56
+
- urls: "stun:stun.l.google.com:19302"
57
+
- urls: "stun:stun1.l.google.com:19302"
58
+
- urls: "stun:stun2.l.google.com:19302"
59
+
- urls: "turn:openrelay.metered.ca:80"
60
+
username: "openrelayproject"
61
+
credential: "openrelayproject"
62
+
- urls: "turn:openrelay.metered.ca:443"
63
+
username: "openrelayproject"
64
+
credential: "openrelayproject"
67
65
```
68
66
69
67
To host a game, start it, then hit the 🌐 icon in botton bar. Set your name, create a room (password optional), and other players should be able to see and join your room. **All players need access to your RomM server to join a room and play together.**
0 commit comments