From b552ce2d8315e9458d6ce96123a2787a8a0cae38 Mon Sep 17 00:00:00 2001 From: Futrime Date: Mon, 9 Oct 2023 15:51:13 +0800 Subject: [PATCH] chore: add miscellaneous stuff --- .github/FUNDING.yml | 4 + .github/ISSUE_TEMPLATE/bug_report.yml | 45 +++ .github/ISSUE_TEMPLATE/feature_request.yml | 28 ++ .github/PULL_REQUEST_TEMPLATE.md | 18 + .github/workflows/build.yml | 160 ++------ .gitignore | 442 ++++++++++++++++++++- LICENSE | 165 ++++++++ LICENSE.md | 164 -------- README.md | 91 +++++ README.zh.md | 69 ++++ docs/faq.md | 1 + docs/faq.zh.md | 1 + docs/img/favicon.ico | Bin 0 -> 4286 bytes docs/img/logo.png | Bin 0 -> 7079 bytes docs/index.md | 3 + docs/index.zh.md | 3 + docs/install_windows.md | 69 ++++ docs/install_windows.zh.md | 1 + docs/usage.md | 1 + docs/usage.zh.md | 1 + mkdocs.yml | 63 +++ requirements.txt | 29 ++ 22 files changed, 1068 insertions(+), 290 deletions(-) create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 LICENSE delete mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 README.zh.md create mode 100644 docs/faq.md create mode 100644 docs/faq.zh.md create mode 100644 docs/img/favicon.ico create mode 100644 docs/img/logo.png create mode 100644 docs/index.md create mode 100644 docs/index.zh.md create mode 100644 docs/install_windows.md create mode 100644 docs/install_windows.zh.md create mode 100644 docs/usage.md create mode 100644 docs/usage.zh.md create mode 100644 mkdocs.yml create mode 100644 requirements.txt diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000000..9d718c93e4 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +github: LiteLDev +open_collective: liteloaderbds +custom: + - https://afdian.net/@liteldev diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000000..e0aaadc0c7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,45 @@ +name: Bug Report +description: Create a report to help us improve +title: "[Bug]: " +labels: ["bug"] +body: + - type: textarea + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. + validations: + required: true + + - type: textarea + attributes: + label: To Reproduce + description: Steps to reproduce the behavior. + validations: + required: true + + - type: textarea + attributes: + label: Expected behavior + description: A clear and concise description of what you expected to happen. + validations: + required: true + + - type: textarea + attributes: + label: Screenshots + description: If applicable, add screenshots to help explain your problem. + + - type: input + attributes: + label: Platform + description: The platform you are using. (e.g. Windows 10, macOS 10.15, Ubuntu 20.04) + + - type: input + attributes: + label: Version + description: The version of the application you are using. (e.g. 1.0.0) + + - type: textarea + attributes: + label: Additional context + description: Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000000..b0f4b33d18 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,28 @@ +name: Feature request +description: Suggest an idea for this project +title: "[Feature]: " +labels: ["enhancement"] +body: + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + description: A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: true + + - type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + + - type: textarea + attributes: + label: Additional context + description: Add any other context or screenshots about the feature request here. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..d9a755048e --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,18 @@ +## What does this PR do? + + + +## Which issues does this PR resolve? + + + +## Checklist before merging + +Thank you for your contribution to the repository. +Before submitting this PR, please make sure: + +- [ ] Your code builds clean without any errors or warnings +- [ ] Your code follows the code style of this repository (see the wiki) +- [ ] You have tested all functions +- [ ] You have not used code without license +- [ ] You have added statement for third-party code diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fe23e1c6eb..ed9c825055 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,142 +1,52 @@ -name: Build -env: - VERSION: v0.0.0 - ZIP_SHA256: "" - DLL_SHA256: "" - PDB_SHA256: "" - LIB_SHA256: "" on: - push: - paths: - - "**.cpp" - - "**.cc" - - "**.cxx" - - "**.c" - - "**.hpp" - - "**.hh" - - "**.hxx" - - "**.h" - - ".github/workflows/build.yml" - - "**/*.lua" pull_request: - release: - types: - - created + push: workflow_dispatch: jobs: - build: - name: Build - runs-on: windows-latest + build-docs: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - - name: Setup XMake - uses: xmake-io/github-action-setup-xmake@v1 - with: - xmake-version: latest - - - name: Cache XMake - uses: actions/cache@v3 - with: - path: | - ~/AppData/Local/.xmake - ./.xmake - key: ${{ runner.os }}-xmake-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-xmake- - - - name: Update XMake Repository - run: xmake repo -u + - uses: actions/checkout@v4 - - name: Get Release Version Tag - if: github.event_name == 'release' - run: echo "VERSION=${{ github.ref_name }}" >> $env:GITHUB_ENV + - run: | + pip install -r requirements.txt - - name: Get Previous Tag - if: github.event_name != 'release' - id: previoustag - run: | - $tag = ((git ls-remote -t --refs --sort=-v:refname -q | select -first 1) -split "/")[2] - if ($tag -eq "" -or $tag -eq $null) { - $tag = "v0.0.0" - } - echo "tag=$tag" >> $env:GITHUB_OUTPUT + - run: | + mkdocs build - - name: Set Pseudo Version - if: github.event_name != 'release' - run: | - $date = (Get-Date -Format "yyyyMMddHHmmss") - $commit = git rev-parse --short HEAD - $previous_tag = "${{ steps.previoustag.outputs.tag }}" - echo "VERSION=$previous_tag-$date-$commit" >> $env:GITHUB_ENV - - - name: Build liteloader - run: | - xmake f -p windows -m release -a x64 --ccache=n -y -v - xmake -w -y - - - name: Prepare Artifacts - run: | - mkdir artifacts - cp build/windows/x64/release/LiteLoader.dll artifacts - cp build/windows/x64/release/LiteLoader.lib artifacts - cp build/windows/x64/release/LiteLoader.pdb artifacts - mv artifacts liteloader-${{ env.VERSION }}-windows-amd64 - mkdir artifacts - mv liteloader-${{ env.VERSION }}-windows-amd64 artifacts/ - - - name: Upload Artifacts - uses: actions/upload-artifact@v3 + - uses: actions/upload-pages-artifact@v2 with: - name: liteloader-${{ env.VERSION }}-windows-amd64 - path: artifacts - - upload-to-release: - name: Upload to Release - needs: - - build + path: site/ + + deploy-docs: + # if: github.ref == 'refs/heads/main' && github.event_name == 'push' + if: github.ref == 'refs/heads/develop' && github.event_name == 'push' # For development only + needs: build-docs + permissions: + id-token: write + pages: write runs-on: ubuntu-latest - if: github.event_name == 'release' steps: - - name: Checkout - uses: actions/checkout@v3 - with: - fetch-depth: 0 + - uses: actions/deploy-pages@v2 + + build-liteloader: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 - - name: Get Version - run: echo "VERSION=${{ github.ref_name }}" >> $GITHUB_ENV + - uses: xmake-io/github-action-setup-xmake@v1 - - name: Download Artifacts - uses: actions/download-artifact@v3 + - run: | + xmake repo --update + + - run: | + xmake config --arch=x64 --plat=windows --mode=release --verbose --yes - - name: Compress Artifacts - id: compress - run: | - mv liteloader-${{ env.VERSION }}-windows-amd64 artifacts - mv artifacts/liteloader-${{ env.VERSION }}-windows-amd64 . - cp -r include liteloader-${{ env.VERSION }}-windows-amd64/ - zip -r liteloader-${{ env.VERSION }}-windows-amd64.zip liteloader-${{ env.VERSION }}-windows-amd64 - echo "ZIP_SHA256=$(sha256sum liteloader-${{ env.VERSION }}-windows-amd64.zip | cut -d ' ' -f 1)" >> $GITHUB_ENV - echo "DLL_SHA256=$(sha256sum liteloader-${{ env.VERSION }}-windows-amd64/LiteLoader.dll | cut -d ' ' -f 1)" >> $GITHUB_ENV - echo "LIB_SHA256=$(sha256sum liteloader-${{ env.VERSION }}-windows-amd64/LiteLoader.lib | cut -d ' ' -f 1)" >> $GITHUB_ENV - echo "PDB_SHA256=$(sha256sum liteloader-${{ env.VERSION }}-windows-amd64/LiteLoader.pdb | cut -d ' ' -f 1)" >> $GITHUB_ENV - shell: bash + - run: | + xmake --warning --yes - - name: Upload Release Assets - uses: softprops/action-gh-release@v1 + - uses: actions/upload-artifact@v3 with: - append_body: true - files: | - liteloader-${{ env.VERSION }}-windows-amd64.zip - liteloader-${{ env.VERSION }}-windows-amd64/LiteLoader.dll - liteloader-${{ env.VERSION }}-windows-amd64/LiteLoader.lib - liteloader-${{ env.VERSION }}-windows-amd64/LiteLoader.pdb - body: | - --- - | File | SHA256 | - | :--------------------------------------------- | :-------------------- | - | liteloader-${{ env.VERSION }}-windows-amd64.zip | ${{ env.ZIP_SHA256 }} | - | LiteLoader.dll | ${{ env.DLL_SHA256 }} | - | LiteLoader.lib | ${{ env.LIB_SHA256 }} | - | LiteLoader.pdb | ${{ env.PDB_SHA256 }} | + name: liteloader-windows-x64-${{ github.sha }} + path: build/windows/x64/release/ diff --git a/.gitignore b/.gitignore index 244bcc17d4..0ea1eaf329 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,441 @@ -# Visual Studio related +## https://github.com/github/gitignore/blob/main/C++.gitignore +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + + +## https://github.com/github/gitignore/blob/main/VisualStudio.gitignore +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + + +## Project specific +# Visual Studio related /.vs /CMakeSettings.json /out @@ -18,3 +455,6 @@ /build /CMakeLists.txt /vsxmake2022 + +# MkDocs +/site/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..0a041280bd --- /dev/null +++ b/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/LICENSE.md b/LICENSE.md deleted file mode 100644 index 33edb5b697..0000000000 --- a/LICENSE.md +++ /dev/null @@ -1,164 +0,0 @@ -GNU Lesser General Public License -================================= - -_Version 3, 29 June 2007_ -_Copyright © 2007 Free Software Foundation, Inc. < ->_ - -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - - -This version of the GNU Lesser General Public License incorporates -the terms and conditions of version 3 of the GNU General Public -License, supplemented by the additional permissions listed below. - -### 0. Additional Definitions - -As used herein, “this License” refers to version 3 of the GNU Lesser -General Public License, and the “GNU GPL” refers to version 3 of the GNU -General Public License. - -“The Library” refers to a covered work governed by this License, -other than an Application or a Combined Work as defined below. - -An “Application” is any work that makes use of an interface provided -by the Library, but which is not otherwise based on the Library. -Defining a subclass of a class defined by the Library is deemed a mode -of using an interface provided by the Library. - -A “Combined Work” is a work produced by combining or linking an -Application with the Library. The particular version of the Library -with which the Combined Work was made is also called the “Linked -Version”. - -The “Minimal Corresponding Source” for a Combined Work means the -Corresponding Source for the Combined Work, excluding any source code -for portions of the Combined Work that, considered in isolation, are -based on the Application, and not on the Linked Version. - -The “Corresponding Application Code” for a Combined Work means the -object code and/or source code for the Application, including any data -and utility programs needed for reproducing the Combined Work from the -Application, but excluding the System Libraries of the Combined Work. - -### 1. Exception to Section 3 of the GNU GPL - -You may convey a covered work under sections 3 and 4 of this License -without being bound by section 3 of the GNU GPL. - -### 2. Conveying Modified Versions - -If you modify a copy of the Library, and, in your modifications, a -facility refers to a function or data to be supplied by an Application -that uses the facility (other than as an argument passed when the -facility is invoked), then you may convey a copy of the modified -version: - -* **a)** under this License, provided that you make a good faith effort to -ensure that, in the event an Application does not supply the -function or data, the facility still operates, and performs -whatever part of its purpose remains meaningful, or - -* **b)** under the GNU GPL, with none of the additional permissions of -this License applicable to that copy. - -### 3. Object Code Incorporating Material from Library Header Files - -The object code form of an Application may incorporate material from -a header file that is part of the Library. You may convey such object -code under terms of your choice, provided that, if the incorporated -material is not limited to numerical parameters, data structure -layouts and accessors, or small macros, inline functions and templates -(ten or fewer lines in length), you do both of the following: - -* **a)** Give prominent notice with each copy of the object code that the -Library is used in it and that the Library and its use are -covered by this License. -* **b)** Accompany the object code with a copy of the GNU GPL and this license -document. - -### 4. Combined Works - -You may convey a Combined Work under terms of your choice that, -taken together, effectively do not restrict modification of the -portions of the Library contained in the Combined Work and reverse -engineering for debugging such modifications, if you also do each of -the following: - -* **a)** Give prominent notice with each copy of the Combined Work that -the Library is used in it and that the Library and its use are -covered by this License. - -* **b)** Accompany the Combined Work with a copy of the GNU GPL and this license -document. - -* **c)** For a Combined Work that displays copyright notices during -execution, include the copyright notice for the Library among -these notices, as well as a reference directing the user to the -copies of the GNU GPL and this license document. - -* **d)** Do one of the following: -- **0)** Convey the Minimal Corresponding Source under the terms of this -License, and the Corresponding Application Code in a form -suitable for, and under terms that permit, the user to -recombine or relink the Application with a modified version of -the Linked Version to produce a modified Combined Work, in the -manner specified by section 6 of the GNU GPL for conveying -Corresponding Source. -- **1)** Use a suitable shared library mechanism for linking with the -Library. A suitable mechanism is one that **(a)** uses at run time -a copy of the Library already present on the user's computer -system, and **(b)** will operate properly with a modified version -of the Library that is interface-compatible with the Linked -Version. - -* **e)** Provide Installation Information, but only if you would otherwise -be required to provide such information under section 6 of the -GNU GPL, and only to the extent that such information is -necessary to install and execute a modified version of the -Combined Work produced by recombining or relinking the -Application with a modified version of the Linked Version. (If -you use option **4d0**, the Installation Information must accompany -the Minimal Corresponding Source and Corresponding Application -Code. If you use option **4d1**, you must provide the Installation -Information in the manner specified by section 6 of the GNU GPL -for conveying Corresponding Source.) - -### 5. Combined Libraries - -You may place library facilities that are a work based on the -Library side by side in a single library together with other library -facilities that are not Applications and are not covered by this -License, and convey such a combined library under terms of your -choice, if you do both of the following: - -* **a)** Accompany the combined library with a copy of the same work based -on the Library, uncombined with any other library facilities, -conveyed under the terms of this License. -* **b)** Give prominent notice with the combined library that part of it -is a work based on the Library, and explaining where to find the -accompanying uncombined form of the same work. - -### 6. Revised Versions of the GNU Lesser General Public License - -The Free Software Foundation may publish revised and/or new versions -of the GNU Lesser General Public License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the -Library as you received it specifies that a certain numbered version -of the GNU Lesser General Public License “or any later version” -applies to it, you have the option of following the terms and -conditions either of that published version or of any later version -published by the Free Software Foundation. If the Library as you -received it does not specify a version number of the GNU Lesser -General Public License, you may choose any version of the GNU Lesser -General Public License ever published by the Free Software Foundation. - -If the Library as you received it specifies that a proxy can decide -whether future versions of the GNU Lesser General Public License shall -apply, that proxy's public statement of acceptance of any version is -permanent authorization for you to choose that version for the -Library. diff --git a/README.md b/README.md new file mode 100644 index 0000000000..21c9207bed --- /dev/null +++ b/README.md @@ -0,0 +1,91 @@ +# LiteLoaderBDS + +![English](https://img.shields.io/badge/English-inactive?style=for-the-badge) [![中文](https://img.shields.io/badge/简体中文-informational?style=for-the-badge)](README.zh.md) + +An epoch-making cross-language plugin loader for Minecraft Bedrock Dedicated Server (BDS) + +LiteLoaderBDS is an unofficial plugin loader that offers essential API support for the Bedrock Dedicated Server (BDS). It boasts an extensive API, a plethora of utility interfaces, a robust event system, and comprehensive basic interface support. + +LiteLoader presents an expansive API, a powerful event system, and an abundance of encapsulated development infrastructure interfaces, laying a sturdy groundwork for enhancing the Bedrock Edition BDS with additional gameplay features and functionalities. Through plugins, extending BDS functionality becomes effortless, with a user-friendly development process and adaptable approach. + +Developers can effortlessly write plugins in languages such as C++, JavaScript, Lua, Python, C#, and others. This seamless integration enables them to effortlessly expand and personalize BDS functionality, facilitating an intuitive learning experience and unparalleled flexibility. + +For more information, please refer to [the documentation](https://docs.litebds.com). + +## Security + +LiteLoaderBDS (hereinafter referred to as "this software") is developed and +provided by LiteLDev (hereinafter referred to as "the developer"). This software is designed +to help users manage and install various software packages, but is not responsible for any +content, quality, functionality, security or legality of any software package. Users should +use this software at their own discretion and assume all related risks. + +The developer does not guarantee the stability, reliability, accuracy or completeness of this +software. The developer is not liable for any defects, errors, viruses or other harmful components +that may exist in this software. The developer is not liable for any direct or indirect damages +(including but not limited to data loss, device damage, profit loss etc.) caused by the use of +this software. + +The developer reserves the right to modify, update or terminate this software and its related +services at any time without prior notice to users. Users should back up important data and check +regularly for updates of this software. + +Users should comply with relevant laws and regulations when using this software, respect the +intellectual property rights and privacy rights of others, and not use this software for any +illegal or infringing activities. If users violate the above provisions and cause any damage +to any third party or are claimed by any third party, the developer does not bear any +responsibility. + +If you have any questions or comments about this disclaimer, please contact the developer. + +## Install + +This project uses [Lip](https://github.com/LipPkg/Lip). Go check them out if you don't have them locally installed. + +First, create a new directory for your Minecraft server and enter it: + +```sh +$ mkdir myserver +$ cd myserver +``` + +Then, install LiteLoaderBDS using Lip: + +```sh +$ lip install github.com/tooth-hub/liteloaderbds +``` + +For more information, please refer to [the documentation](https://docs.litebds.com). + +### Updating + +Considering data security, we do not provide an update method. If you would like to update LiteLoaderBDS, please install the new version somewhere else and copy the files shown below to your server directory: + +- `worlds/` +- `server.properties` + +## Usage + +To start the server, simply run `bedrock_server.exe`: + +```sh +$ ./bedrock_server.exe +``` + +For more information, please refer to [the documentation](https://docs.litebds.com). + +## Contributing + +Feel free to dive in! [Open an issue](https://github.com/LiteLDev/LiteLoaderBDS/issues/new/choose) or submit PRs. + +LiteLoaderBDS follows the [Contributor Covenant](https://www.contributor-covenant.org/version/2/1/code_of_conduct/) Code of Conduct. + +## Contributors + +This project exists thanks to all the people who contribute. + +![Contributors](https://contrib.rocks/image?repo=LiteLDev/LiteLoaderBDS) + +## License + +[LGPL-3.0-only](LICENSE) © 2021-2023 LiteLDev diff --git a/README.zh.md b/README.zh.md new file mode 100644 index 0000000000..aadafe6de0 --- /dev/null +++ b/README.zh.md @@ -0,0 +1,69 @@ +# LiteLoaderBDS + +[![English](https://img.shields.io/badge/English-informational?style=for-the-badge)](README.md) ![中文](https://img.shields.io/badge/简体中文-inactive?style=for-the-badge) + +一个开创性的跨语言插件加载器,适用于Minecraft基岩版专用服务器(BDS) + +LiteLoaderBDS是一个非官方的插件加载器,为基岩版专用服务器(BDS)提供必要的API支持。它拥有广泛的API、大量的实用接口、强大的事件系统和全面的基本接口支持。 + +LiteLoader提供了一个广阔的API、强大的事件系统和丰富的封装式开发基础接口,为增强基岩版BDS的游戏功能和功能提供了坚实的基础。通过插件,扩展BDS的功能变得轻松,具有用户友好的开发过程和灵活的方法。 + +开发者可以轻松地使用C++、JavaScript、Lua、Python、C#等语言编写插件。这种无缝集成使他们能够轻松扩展和个性化BDS的功能,促进直观的学习体验和无与伦比的灵活性。 + +更多信息,请参考[文档](https://docs.litebds.com)。 + +## 安全性 + +LiteLoaderBDS(以下简称“本软件”)由LiteLDev(以下简称“开发者”)开发和提供。本软件旨在帮助用户管理和安装各种软件包,但不对任何软件包的内容、质量、功能、安全性或合法性负责。用户应自行决定使用本软件,并承担相关风险。 + +开发者不保证本软件的稳定性、可靠性、准确性或完整性。开发者不对本软件中可能存在的任何缺陷、错误、病毒或其他有害组件负责。开发者不对因使用本软件而导致的任何直接或间接损害(包括但不限于数据丢失、设备损坏、利润损失等)承担责任。 + +开发者保留随时修改、更新或终止本软件及其相关服务的权利,无需事先通知用户。用户应备份重要数据并定期检查本软件的更新。 + +用户在使用本软件时应遵守相关法律法规,尊重他人的知识产权和隐私权,不得将本软件用于任何非法或侵权活动。如果用户违反上述规定并对任何第三方造成任何损害或被任何第三方提出索赔,开发者不承担任何责任。 + +如果您对本免责声明有任何疑问或意见,请与开发者联系。 + +## 安装 + +此项目使用[Lip](https://github.com/LipPkg/Lip)。如果您尚未在本地安装,请查看它们。 + +首先,创建一个新的目录用于您的Minecraft服务器并进入该目录: + +```sh +$ mkdir myserver +$ cd myserver +``` + +然后,使用Lip安装LiteLoaderBDS: + +```sh +$ lip install github.com/tooth-hub/liteloaderbds +``` + +更多信息,请参考[文档](https://docs.litebds.com)。 + +### 更新 + +考虑到数据安全性,我们不提供更新方法。如果您想要更新LiteLoaderBDS,请在其他地方安装新版本,并将下面显示的文件复制到服务器目录中: + +- `worlds/` +- `server.properties` + +## 使用方法 + +要启动服务器,只需运行`bedrock_server.exe`: + +```sh +$ ./bedrock_server.exe +``` + +更多信息,请参考[文档](https://docs.litebds.com)。 + +## 贡献 + +欢迎参与![提交问题](https://github.com/LiteLDev/LiteLoaderBDS/issues/new/choose)或提交PR贡献者 + +感谢所有为该项目作出贡献的人。 + +![Contributors]()许可证[LGPL-3.0-only](LICENSE) © 2021-2023 LiteLDev diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 0000000000..e8b9e65c90 --- /dev/null +++ b/docs/faq.md @@ -0,0 +1 @@ +# Frequent Asked Questions diff --git a/docs/faq.zh.md b/docs/faq.zh.md new file mode 100644 index 0000000000..b43101d19a --- /dev/null +++ b/docs/faq.zh.md @@ -0,0 +1 @@ +# 常见问题 diff --git a/docs/img/favicon.ico b/docs/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d3a889abb449c4251c5017aefdf24fec8e087d31 GIT binary patch literal 4286 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 R@f837002ovPDHLkV1lLa5+VQq literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000000..9f75eb78ba --- /dev/null +++ b/docs/index.md @@ -0,0 +1,3 @@ +# LiteLoaderBDS + +TODO: Write a project description diff --git a/docs/index.zh.md b/docs/index.zh.md new file mode 100644 index 0000000000..9f75eb78ba --- /dev/null +++ b/docs/index.zh.md @@ -0,0 +1,3 @@ +# LiteLoaderBDS + +TODO: Write a project description diff --git a/docs/install_windows.md b/docs/install_windows.md new file mode 100644 index 0000000000..678e7524f6 --- /dev/null +++ b/docs/install_windows.md @@ -0,0 +1,69 @@ +# Install on Windows + +## Prerequisites + +To install LiteLoaderBDS 3, you need one of the following Windows versions: + +- Windows 10 +- Windows 11 +- Windows Server 2019 +- Windows Server 2022 + +To run Bedrock Dedicated Server for Minecraft, you need to install the following software: + +- [Visual C++ Redistributable for Visual Studio 2015, 2017, 2019, and 2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) + +Since LiteLoaderBDS 3 is not compatible with the previous LiteLoaderBDS 2, you need to uninstall LiteLoaderBDS 2 before installing LiteLoaderBDS 3. + +## Installation Methods + +You can install LiteLoaderBDS 3 in different ways, depending on your needs: + +- You can [install via Lip](#install-via-lip), for ease of installation and upgrade tasks. This is the recommended approach. + +- You can [install via LipUI](#install-via-lipui), which is a graphical user interface for Lip. This is useful if you are not familiar with the command line. + +- You can download the modules and [install them manually](#install-manually) and manage upgrades completely manually. This is useful in situations such as installing LiteLoaderBDS 3 on air-gapped systems with no access to the internet. + +### Install via Lip + +If you have not installed Lip, you can install it following the instructions in [Lip installation guide](https://docs.lippkg.com/installation.html). + +After installing Lip, you can install LiteLoaderBDS 3 by running the following command: + +```powershell +lip install github.com/tooth-hub/liteloaderbds +``` + +To install a specific version of LiteLoaderBDS 3, you can run the following command: + +```powershell +lip install github.com/tooth-hub/liteloaderbds@3.0.0 +``` + +During the installation, you might be asked to confirm some prompts. You can press `y` to confirm the prompts. To skip the prompts, you can add the `-y` option to the command. + +```powershell +lip install -y github.com/tooth-hub/liteloaderbds +``` + +You have now successfully installed LiteLoaderBDS 3. + +To upgrade LiteLoaderBDS 3, you can run the following command: + +```powershell +lip install --upgrade github.com/tooth-hub/liteloaderbds +``` + +!!! danger + Upgrading LiteLoaderBDS 3 may result in data loss. Please make sure you have a backup of your data before upgrading. + +### Install via LipUI + +Before installation, you should obtain a copy of LipUI. See the guides [here](https://docs.lippkg.com/lipui_quickstart.html). + +Then you can start LipUI, select a proper workspace, and install LiteLoaderBDS 3 from Tooth Index. + +### Install Manually + +You can download the modules from there corresponding GitHub releases pages and install them following their own installation guides. diff --git a/docs/install_windows.zh.md b/docs/install_windows.zh.md new file mode 100644 index 0000000000..7144b3c74c --- /dev/null +++ b/docs/install_windows.zh.md @@ -0,0 +1 @@ +# 安装 diff --git a/docs/usage.md b/docs/usage.md new file mode 100644 index 0000000000..8f04b05adb --- /dev/null +++ b/docs/usage.md @@ -0,0 +1 @@ +# Usage diff --git a/docs/usage.zh.md b/docs/usage.zh.md new file mode 100644 index 0000000000..076a5d491c --- /dev/null +++ b/docs/usage.zh.md @@ -0,0 +1 @@ +# 使用方法 diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000..b755c66415 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,63 @@ +site_name: LiteLoaderBDS Documentation +repo_url: https://github.com/LiteLDev/LiteLoaderBDS + +nav: + - Basics: + - Overview: index.md + - install_windows.md + - usage.md + - faq.md + +theme: + name: material + features: + - navigation.tabs + - navigation.tabs.sticky + favicon: img/favicon.ico + logo: img/logo.png + palette: + primary: white + +markdown_extensions: + - abbr + - admonition + - attr_list + - def_list + - footnotes + - md_in_html + - toc + - tables + - pymdownx.arithmatex + - pymdownx.betterem + - pymdownx.caret + - pymdownx.mark + - pymdownx.tilde + - pymdownx.critic + - pymdownx.details + - pymdownx.emoji + - pymdownx.highlight: + auto_title: true + linenums: true + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.smartsymbols + - pymdownx.snippets + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist + +plugins: + - i18n: + languages: + - locale: en + default: true + name: English + + - locale: zh + name: 中文 + nav_translations: + Basics: 基础 + Overview: 概述 + + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000..5ef9ad55fc --- /dev/null +++ b/requirements.txt @@ -0,0 +1,29 @@ +Babel==2.12.1 +certifi==2023.7.22 +charset-normalizer==3.2.0 +click==8.1.7 +colorama==0.4.6 +ghp-import==2.1.0 +idna==3.4 +Jinja2==3.1.2 +Markdown==3.4.4 +MarkupSafe==2.1.3 +mergedeep==1.3.4 +mkdocs==1.5.2 +mkdocs-material==9.3.1 +mkdocs-material-extensions==1.1.1 +mkdocs-static-i18n==1.0.3 +packaging==23.1 +paginate==0.5.6 +pathspec==0.11.2 +platformdirs==3.10.0 +Pygments==2.16.1 +pymdown-extensions==10.3 +python-dateutil==2.8.2 +PyYAML==6.0.1 +pyyaml_env_tag==0.1 +regex==2023.8.8 +requests==2.31.0 +six==1.16.0 +urllib3==2.0.4 +watchdog==3.0.0