Merge branch 'main' into account-banning

This commit is contained in:
jvyden 2021-12-22 17:28:19 -05:00
commit 49896a1621
No known key found for this signature in database
GPG key ID: 18BCF2BE0262B278
2 changed files with 37 additions and 26 deletions

View file

@ -58,15 +58,10 @@ jobs:
name: lighthouse-test-results-${{matrix.os.prettyName}} name: lighthouse-test-results-${{matrix.os.prettyName}}
path: ${{github.workspace}}/TestResults-${{matrix.os.prettyName}}.trx path: ${{github.workspace}}/TestResults-${{matrix.os.prettyName}}.trx
- name: Process Test Results (Control)
if: ${{ matrix.os.prettyName == 'Linux' }}
uses: im-open/process-dotnet-test-results@v2.0.1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Process Test Results - name: Process Test Results
if: ${{ matrix.os.prettyName != 'Linux' }} id: process-trx
uses: im-open/process-dotnet-test-results@v2.0.1 if: ${{ always() }}
uses: im-open/process-dotnet-test-results@v2.0.2
with: with:
github-token: ${{ secrets.GITHUB_TOKEN }} github-token: ${{ secrets.GITHUB_TOKEN }}
create-status-check: false create-status-check: false

View file

@ -5,15 +5,18 @@ This project is the main server component that LittleBigPlanet games connect to.
## WARNING! ## WARNING!
This is beta software, and thus is not ready for public use yet. We're not responsible if someone connects and hacks This is **beta software**, and thus is **not stable**.
your entire machine and deletes all your files.
That said, feel free to develop privately! We're not responsible if someone hacks your machine and wipes your database.
Make frequent backups, and be sure to report any vulnerabilities.
## Building ## Building
This will be written when we're out of beta. Consider this your barrier to entry ;). This will be written when we're out of beta. Consider this your barrier to entry ;).
It is recommended to build with Release if you plan to use Lighthouse in a production environment.
## Running ## Running
Lighthouse requires a MySQL database at this time. For Linux users running docker, one can be set up using Lighthouse requires a MySQL database at this time. For Linux users running docker, one can be set up using
@ -31,18 +34,21 @@ Once you've gotten MySQL running you can run Lighthouse. It will take care of th
PS3 is difficult to set up, so I will be going over how to set up RPCS3 instead. A guide will be coming for PS3 closer PS3 is difficult to set up, so I will be going over how to set up RPCS3 instead. A guide will be coming for PS3 closer
to release. You can also follow this guide if you want to learn how to modify your EBOOT. to release. You can also follow this guide if you want to learn how to modify your EBOOT.
*Note: This requires a modified copy of RPCS3. You can find a working There are also community-provided guides in [the official LBP Union Discord](https://www.lbpunion.com/discord), which
patch [here](https://gist.github.com/jvyden/0d9619f7dd3dbc49f7583486bdacad75).* you can follow at your own discretion.
Start by getting a copy of LittleBigPlanet 2 installed. It can be digital (NPUA80662) or disc (BCUS98245). I won't get *Note: This requires a modified copy of RPCS3. You can find a working
into how because if you got this far you should already know what you're doing. For those that don't, version [on our GitHub](https://github.com/LBPUnion/rpcs3).*
the [RPCS3 Quickstart Guide](https://rpcs3.net/quickstart) should cover it.
Start by getting a copy of LittleBigPlanet 2 installed. It can be digital (NPUA80662) or disc (BCUS98245). For those
that don't, the [RPCS3 Quickstart Guide](https://rpcs3.net/quickstart) should cover it.
Next, download [UnionPatcher](https://github.com/LBPUnion/UnionPatcher/). Binaries can be found by reading the README.md Next, download [UnionPatcher](https://github.com/LBPUnion/UnionPatcher/). Binaries can be found by reading the README.md
file. file.
You should have everything you need now, so open up RPCS3 and go to Utilities -> Decrypt PS3 Binaries. Point this You should have everything you need now, so open up RPCS3 and go to Utilities -> Decrypt PS3 Binaries. Point this
to `rpcs3/dev_hdd0/game/(title id)/USRDIR/EBOOT.BIN`. to `rpcs3/dev_hdd0/game/(title id)/USRDIR/EBOOT.BIN`. You can grab your title id by right clicking the game in RPCS3 and
clicking Copy Info -> Copy Serial.
This should give you a file named `EBOOT.elf` in the same folder. Next, fire up UnionPatcher (making sure to select the This should give you a file named `EBOOT.elf` in the same folder. Next, fire up UnionPatcher (making sure to select the
correct project to start, e.g. on Mac launch `UnionPatcher.Gui.MacOS`.) correct project to start, e.g. on Mac launch `UnionPatcher.Gui.MacOS`.)
@ -68,25 +74,35 @@ Some modifications may require updates to the database schema. You can automatic
1. Making sure the tools are installed. You can do this by running `dotnet tool restore`. 1. Making sure the tools are installed. You can do this by running `dotnet tool restore`.
2. Making sure `LIGHTHOUSE_DB_CONNECTION_STRING` is set correctly. See the `Running` section for more details. 2. Making sure `LIGHTHOUSE_DB_CONNECTION_STRING` is set correctly. See the `Running` section for more details.
3. Making your changes to the database. I won't cover this since if you're making database changes you should know what 3. Modifying the database schema via the C# portion of the code. Do not modify the actual SQL database.
you're doing.
4. Running `dotnet ef migrations add <NameOfMigrationInPascalCase> --project ProjectLighthouse`. 4. Running `dotnet ef migrations add <NameOfMigrationInPascalCase> --project ProjectLighthouse`.
This process will create a migration file from the changes made in the C# code.
The new migrations will automatically be applied upon starting Lighthouse.
### Running tests ### Running tests
You can run tests either through your IDE or by running `dotnet tests`. You can run tests either through your IDE or by running `dotnet tests`.
Keep in mind while running database tests you need to have `LIGHTHOUSE_DB_CONNECTION_STRING` set. Keep in mind while running database tests you need to have `LIGHTHOUSE_DB_CONNECTION_STRING` set.
### Continuous Integration (CI) Tips
- You can skip CI runs for a commit if you specify `[skip ci]` at the beginning of the commit name. This is useful for
formatting changes, etc.
- When creating your first pull request, CI will not run initially. A team member will have to approve you for use of
running CI on a pull request. This is because of GitHub policy.
## Compatibility across games and platforms ## Compatibility across games and platforms
| Game | Console (PS3/Vita/PSP) | Emulator (RPCS3/Vita3k/PPSSPP) | Next-Gen (PS4/PS5) | | Game | Console (PS3/Vita/PSP) | Emulator (RPCS3/Vita3k/PPSSPP) | Next-Gen (PS4/PS5/Vita) |
|----------|---------------------------------------|----------------------------------------------------------|------------------------| |----------|---------------------------------------|----------------------------------------------------------|-------------------------|
| LBP1 | Compatible | Incompatible, crashes on entering pod computer | N/A | | LBP1 | Compatible | Incompatible, crashes on entering pod computer | N/A |
| LBP2 | Compatible | Compatible with patched RPCS3 | N/A | | LBP2 | Compatible | Compatible with patched RPCS3 | N/A |
| LBP3 | Somewhat compatible, frequent crashes | Somewhat compatible with patched RPCS3, frequent crashes | Incompatible | | LBP3 | Somewhat compatible, frequent crashes | Somewhat compatible with patched RPCS3, frequent crashes | Incompatible |
| LBP Vita | Compatible | Incompatible, marked as "bootable" on Vita3k | N/A | | LBP Vita | Compatible | Incompatible, marked as "bootable" on Vita3k | N/A |
| LBP PSP | Potentially compatible | Incompatible, PSN not supported on PPSSPP | Potentially Compatible | | LBP PSP | Potentially compatible | Incompatible, PSN not supported on PPSSPP | Potentially Compatible |
While LBP Vita and LBP PSP can be supported, they are not properly seperated from the mainline games at this time. We While LBP Vita and LBP PSP can be supported, they are not properly seperated from the mainline games at this time. We
recommend you run seperate instances for these games to avoid problems. recommend you run seperate instances for these games to avoid problems.