* Initial work for serialization refactor * Experiment with new naming conventions * Mostly implement user and slot serialization. Still needs to be fine tuned to match original implementation Many things are left in a broken state like website features/api endpoints/lbp3 categories * Fix release building * Migrate scores, reviews, and more to new serialization system. Many things are still broken but progress is steadily being made * Fix Api responses and migrate serialization for most types * Make serialization better and fix bugs Fix recursive PrepareSerialization when recursive item is set during root item's PrepareSerialization, items, should be properly indexed in order but it's only tested to 1 level of recursion * Fix review serialization * Fix user serialization producing malformed SQL query * Remove DefaultIfEmpty query * MariaDB doesn't like double nested queries * Fix LBP1 tag counter * Implement lbp3 categories and add better deserialization handling * Implement expression tree caching to speed up reflection and write new serializer tests * Remove Game column from UserEntity and rename DatabaseContextModelSnapshot.cs back to DatabaseModelSnapshot.cs * Make UserEntity username not required * Fix recursive serialization of lists and add relevant unit tests * Actually commit the migration * Fix LocationTests to use new deserialization class * Fix comments not serializing the right author username * Replace all occurrences of StatusCode with their respective ASP.NET named result instead of StatusCode(403) everything is now in the form of Forbid() * Fix SlotBase.ConvertToEntity and LocationTests * Fix compilation error * Give Location a default value in GameUserSlot and GameUser * Reimplement stubbed website functions * Convert grief reports to new serialization system * Update DatabaseModelSnapshot and bump dotnet tool version * Remove unused directives * Fix broken type reference * Fix rated comments on website * Don't include banned users in website comments * Optimize score submission * Fix slot id calculating in in-game comment posting * Move serialization interfaces to types folder and add more documentation * Allow uploading of versus scores |
||
---|---|---|
.config | ||
.github | ||
.idea/.idea.ProjectLighthouse/.idea | ||
.run | ||
Documentation | ||
ProjectLighthouse | ||
ProjectLighthouse.Localization | ||
ProjectLighthouse.Servers.API | ||
ProjectLighthouse.Servers.GameServer | ||
ProjectLighthouse.Servers.Website | ||
ProjectLighthouse.Tests | ||
ProjectLighthouse.Tests.GameApiTests | ||
ProjectLighthouse.Tests.WebsiteTests | ||
scripts-and-tools | ||
.dockerignore | ||
.gitignore | ||
CODE_OF_CONDUCT.md | ||
CONTRIBUTING.md | ||
crowdin.yml | ||
docker-compose.yml | ||
Dockerfile | ||
global.json | ||
LICENSE | ||
ProjectLighthouse.sln | ||
ProjectLighthouse.sln.DotSettings | ||
README.md |
Project Lighthouse
Project Lighthouse is a clean-room, open-source custom server for LittleBigPlanet. This is a project conducted by the LBP Union Ministry of Technology Research and Development team.
For concerns and inquiries about the project, please contact us here.
For general questions and discussion about Project Lighthouse, please see the megathread on our forum.
DISCLAIMERS (Please read!)
This is not a final product.
This is beta software, and thus is not stable nor is it secure.
While Project Lighthouse is in a mostly working state, we ask that our software not be used in a production environment until release.
This is because we have not entirely nailed security down yet, and your instance WILL get attacked as a result. It's happened before, and it'll happen again.
Simply put, Project Lighthouse is not ready for the public yet.
In addition, we're not responsible if someone hacks your machine and wipes your database, so make frequent backups, and be sure to report any vulnerabilities. Thank you in advance.
We are not obligated to provide support.
Project Lighthouse is open source. However, it is licensed under the GNU Affero General Public License version 3 ( AGPLv3) meaning that Project Lighthouse is provided to you as-is, with absolutely no warranty.
Please understand that while this license gives you freedom to do pretty much anything you would want to do, including allowing you to run your instance, this doesn't mean we are obligated to support you or your instance. When you set up an instance of Project Lighthouse, you are entirely on your own.
Sony is not related nor liable.
It is very important to stress that the LBP Union and Project Lighthouse is not affiliated with Sony Group Corporation (collectively referred to as “Sony”) and its subordinate entities and studios. We are not the official developers of LittleBigPlanet or it's online services. Project Lighthouse is a clean-room reimplementation of its server, not the official servers.
By using Project Lighthouse you release Sony, as well as any employees or agents of Sony, from any and all liability, corporate, or personal loss caused to you or others by the use of Project Lighthouse or any features we provide.
Building
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.
Contributing
Please see CONTRIBUTING.md
for more
information.
Compatibility across games and platforms
Game | Console (PS3/Vita/PSP) | Emulator (RPCS3/Vita3k/PPSSPP) | Next-Gen (PS4/PS5/Adrenaline) |
---|---|---|---|
LBP1 | Compatible | Compatible | No next-gen equivalent |
LBP2 | Compatible | Compatible | No next-gen equivalent |
LBP3 | Compatible | Compatible | Incompatible |
LBP Vita | Compatible | Incompatible, PSN not supported on Vita3k | No next-gen equivalent |
LBP PSP | Potentially compatible | Incompatible, PSN not supported on PPSSPP | Potentially Compatible |
Project Lighthouse is mostly a work in progress, so this chart is subject to change at any point.