From 3320f702f7f7c4e35f25eb103c287df007be59c0 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 18 Sep 2022 02:06:30 +0200 Subject: [PATCH 01/20] Migrate to net471 --- NFive.SDK.Core.csproj | 96 +++++-------------------------------------- packages.config | 5 --- 2 files changed, 11 insertions(+), 90 deletions(-) delete mode 100644 packages.config diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index 78b1ecb..04e2ca9 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -1,93 +1,19 @@ - - - + + - Debug - AnyCPU - {C1DE80C7-579E-4D48-AAB8-37F5C1484F86} - Library - Properties + net471 NFive.SDK.Core NFive.SDK.Core.net - v4.5.2 - 512 - - .allowedextension - - - - false - none - false - bin\Debug - DEBUG;TRACE - prompt - 4 - - - false - none - true - bin\Release - TRACE - prompt - 4 + false + - - packages\JetBrains.Annotations.2021.2.0\lib\net20\JetBrains.Annotations.dll - False + + + + + $(PkgNewtonsoft_Json)\lib\portable-net40+sl5+win8+wp8+wpa81\Newtonsoft.Json.dll - - packages\Newtonsoft.Json.12.0.2\lib\net45\Newtonsoft.Json.dll - False - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/packages.config b/packages.config deleted file mode 100644 index 22cb545..0000000 --- a/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file From ad9851c98c77d1a516aa62bbd89f99f0b166363a Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 18 Sep 2022 02:06:56 +0200 Subject: [PATCH 02/20] Use github actions for ci/cd --- .github/version.yml | 6 +++ .github/workflows/cd.yml | 82 ++++++++++++++++++++++++++++++++++++++++ .github/workflows/ci.yml | 62 ++++++++++++++++++++++++++++++ NFive.SDK.Core.nuspec | 2 +- 4 files changed, 151 insertions(+), 1 deletion(-) create mode 100644 .github/version.yml create mode 100644 .github/workflows/cd.yml create mode 100644 .github/workflows/ci.yml diff --git a/.github/version.yml b/.github/version.yml new file mode 100644 index 0000000..a013f09 --- /dev/null +++ b/.github/version.yml @@ -0,0 +1,6 @@ +mode: ContinuousDeployment +branches: + master: + tag: beta + hotfix: + tag: useBranchName \ No newline at end of file diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 0000000..f23e1f0 --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,82 @@ +name: Release + +on: + push: + tags: + - "*" + +jobs: + calculate-version: + name: Calculate Version + runs-on: ubuntu-latest + outputs: + semVer: ${{ steps.gitversion.outputs.semVer }} + + steps: + - uses: actions/checkout@v2.4.2 + with: + fetch-depth: 0 + + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v0.9.7 + with: + versionSpec: "5.x" + + - name: Determine Version + id: gitversion + uses: gittools/actions/gitversion/execute@v0.9.7 + with: + useConfigFile: true + configFilePath: ./.github/version.yml + + build: + name: Build and Release + runs-on: windows-latest + needs: calculate-version + env: + SEMVER: ${{ needs.calculate-version.outputs.semVer }} + ZipName: NFive.SDK.Core-${{ needs.calculate-version.outputs.semVer }}.zip + + steps: + - uses: actions/checkout@v2.4.2 + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v1.1 + + - name: Setup NuGet + uses: NuGet/setup-nuget@v1.0.6 + + - name: Restore dependencies + run: nuget restore NFive.SDK.Core.sln + + - name: Build the solution + run: msbuild NFive.SDK.Core.sln /p:Configuration=Release /p:Outdir=Build + + - uses: vimtor/action-zip@v1 + with: + files: Build/ + dest: ${{ env.ZipName }} + + # Create a Release on the GitHub project + - name: Create release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + with: + tag_name: ${{ env.SEMVER }} + release_name: ${{ env.SEMVER }} + draft: false + prerelease: false + + # Upload the Build Artifact to the Release + - name: Update release asset + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + asset_path: .\${{ env.ZipName }} + asset_name: ${{ env.ZipName }} + asset_content_type: application/zip \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..36ceea5 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,62 @@ +name: CI + +on: + push: + branches: + - "**" + tags: + - "v*.*.*" + pull_request: + branches: + - "**" + +jobs: + calculate-version: + name: Calculate Version + runs-on: ubuntu-latest + outputs: + semVer: ${{ steps.gitversion.outputs.semVer }} + + steps: + - uses: actions/checkout@v2.4.2 + with: + fetch-depth: 0 + + - name: Install GitVersion + uses: gittools/actions/gitversion/setup@v0.9.7 + with: + versionSpec: "5.x" + + - name: Determine Version + id: gitversion + uses: gittools/actions/gitversion/execute@v0.9.7 + with: + useConfigFile: true + configFilePath: ./.github/version.yml + + build: + runs-on: windows-latest + needs: calculate-version + env: + SEMVER: ${{ needs.calculate-version.outputs.semVer }} + + steps: + - uses: actions/checkout@v2.4.2 + + - name: Setup MSBuild + uses: microsoft/setup-msbuild@v1.1 + + - name: Setup NuGet + uses: NuGet/setup-nuget@v1.0.6 + + - name: Restore dependencies + run: nuget restore NFive.SDK.Core.sln + + - name: Build the solution + run: msbuild NFive.SDK.Core.sln /p:Configuration=Release /p:Outdir=Build + + - name: Attach Zip as build artifact + uses: actions/upload-artifact@v3.1.0 + with: + name: NFive.SDK.Core-${{ env.SEMVER }} + path: Build \ No newline at end of file diff --git a/NFive.SDK.Core.nuspec b/NFive.SDK.Core.nuspec index f6a6be3..f804298 100644 --- a/NFive.SDK.Core.nuspec +++ b/NFive.SDK.Core.nuspec @@ -12,6 +12,6 @@ $description$ $copyright$ nfive fivem gtav - + From f0a20c3c594301ab1a5aa73997148a96c8684bc5 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 18 Sep 2022 02:11:20 +0200 Subject: [PATCH 03/20] Publish nuget package on cd --- .github/workflows/cd.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index f23e1f0..deaaee1 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -79,4 +79,11 @@ jobs: upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps asset_path: .\${{ env.ZipName }} asset_name: ${{ env.ZipName }} - asset_content_type: application/zip \ No newline at end of file + asset_content_type: application/zip + + - name: Pack + run: dotnet pack NFive.SDK.Core.csproj -p:PackageVersion=${{ env.SEMVER }} --configuration Release + + # Push package to nuget.org + - name: Push nuget package + run: dotnet nuget push **/*.nupkg --skip-duplicate --source "https://api.nuget.org/v3/index.json" --api-key ${{secrets.nuget_api_key}} \ No newline at end of file From 79986949cc7e7e1cb12938946b5fa7113a6da927 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 18 Sep 2022 02:17:23 +0200 Subject: [PATCH 04/20] Delete appveyor.yml --- appveyor.yml | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 978032c..0000000 --- a/appveyor.yml +++ /dev/null @@ -1,31 +0,0 @@ -version: 0.1.0.{build} - -image: Visual Studio 2019 -configuration: Release -platform: Any CPU -clone_depth: 1 - -branches: - only: - - master - -cache: -- packages -> packages.config - -test: off - -assembly_info: - patch: true - file: Properties\AssemblyInfo.cs - assembly_version: "{version}" - assembly_file_version: "{version}" - assembly_informational_version: "{version}" - -before_build: -- nuget update -self -- nuget restore - -build: - project: NFive.SDK.Core.sln - verbosity: minimal - publish_nuget: true From 5cddf3574cbbe2687c7c41db45510eb5437fc3a9 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 18 Sep 2022 02:36:52 +0200 Subject: [PATCH 05/20] Move nuget manifest metadata to project file --- NFive.SDK.Core.csproj | 11 +++++++++++ NFive.SDK.Core.nuspec | 17 ----------------- 2 files changed, 11 insertions(+), 17 deletions(-) delete mode 100644 NFive.SDK.Core.nuspec diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index 04e2ca9..a8a0a38 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -5,6 +5,17 @@ NFive.SDK.Core NFive.SDK.Core.net false + + NFive.SDK.Core + NFive + NFive + LGPL-3.0-only + nfive fivem gtav + false + https://github.com/NFive/SDK.Core + https://github.com/NFive/SDK.Core + git + NFive Core SDK for plugins diff --git a/NFive.SDK.Core.nuspec b/NFive.SDK.Core.nuspec deleted file mode 100644 index f804298..0000000 --- a/NFive.SDK.Core.nuspec +++ /dev/null @@ -1,17 +0,0 @@ - - - - NFive.SDK.Core - $version$ - $title$ - NFive - NFive - false - LGPL-3.0-only - https://github.com/NFive/SDK.Core - $description$ - $copyright$ - nfive fivem gtav - - - From 844a8c7ba19e4a81acf5079bb83b5a2908743670 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 18 Sep 2022 04:02:26 +0200 Subject: [PATCH 06/20] Fix formatting --- NFive.SDK.Core.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index a8a0a38..617f334 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -19,7 +19,7 @@ - + From e1a7bfd8bc43893188fb6367ef0d6fa96e3dbb85 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Wed, 28 Sep 2022 11:11:55 +0200 Subject: [PATCH 07/20] Update dependencies --- NFive.SDK.Core.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index 617f334..9be4754 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -20,7 +20,7 @@ - + $(PkgNewtonsoft_Json)\lib\portable-net40+sl5+win8+wp8+wpa81\Newtonsoft.Json.dll From fd475311a2d79f23f5c928dcadb00a050cfa7b56 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 16 Oct 2022 17:30:59 +0200 Subject: [PATCH 08/20] Update NFive.SDK.Core.csproj --- NFive.SDK.Core.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index 9be4754..617f334 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -20,7 +20,7 @@ - + $(PkgNewtonsoft_Json)\lib\portable-net40+sl5+win8+wp8+wpa81\Newtonsoft.Json.dll From 32efb71d3fcfeca2242cb051ae9b94e5d1e2d351 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Sun, 16 Oct 2022 17:46:09 +0200 Subject: [PATCH 09/20] Updated nuget package settings --- NFive.SDK.Core.csproj | 12 +++++++++++- images/icon.png | Bin 0 -> 5617 bytes 2 files changed, 11 insertions(+), 1 deletion(-) create mode 100644 images/icon.png diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index 617f334..d356507 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -12,12 +12,22 @@ LGPL-3.0-only nfive fivem gtav false - https://github.com/NFive/SDK.Core https://github.com/NFive/SDK.Core git NFive Core SDK for plugins + NFive.SDK.Core + https://github.com/NFive + icon.png + nfive fivem gtav + + + True + \ + + + diff --git a/images/icon.png b/images/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2da72e3f68382ba54c630ca8ffeac01f2ed72c GIT binary patch literal 5617 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 C>Z`f{ literal 0 HcmV?d00001 From fe450867e712097c7cce58d9d06097fcd4930aca Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Wed, 19 Oct 2022 20:58:59 +0200 Subject: [PATCH 10/20] Add abstractions for routing buckets --- Models/EntityLockdownMode.cs | 30 +++++++++++++++++++ Models/Player/Session.cs | 19 ++++++++++++ Models/RoutingBucket.cs | 57 ++++++++++++++++++++++++++++++++++++ StringValueAttribute.cs | 35 ++++++++++++++++++++++ 4 files changed, 141 insertions(+) create mode 100644 Models/EntityLockdownMode.cs create mode 100644 Models/RoutingBucket.cs create mode 100644 StringValueAttribute.cs diff --git a/Models/EntityLockdownMode.cs b/Models/EntityLockdownMode.cs new file mode 100644 index 0000000..6e7c3f2 --- /dev/null +++ b/Models/EntityLockdownMode.cs @@ -0,0 +1,30 @@ +using JetBrains.Annotations; + +namespace NFive.SDK.Core.Models +{ + /// + /// Represents the lockdown mode used by the game's routing bucket + /// + [PublicAPI] + public enum EntityLockdownMode + { + /// + /// No entities can be created by clients at all. + /// + [StringValue("strict")] + Strict = 0, + + /// + /// Only script-owned entities created by clients are blocked. + /// + [StringValue("relaxed")] + Relaxed, + + /// + /// Clients can create any entity they want. + /// + [StringValue("inactive")] + Inactive + + } +} diff --git a/Models/Player/Session.cs b/Models/Player/Session.cs index dad4ea0..83dedb5 100644 --- a/Models/Player/Session.cs +++ b/Models/Player/Session.cs @@ -75,6 +75,25 @@ public class Session [NotMapped] public int Handle { get; set; } + /// + /// Gets or sets routing bucket id. + /// + /// + /// The routing bucket id. + /// + [Required] + [ForeignKey("RoutingBucket")] + public int RoutingBucketId { get; set; } + + /// + /// Gets or sets the routing bucket which this session belongs to. + /// + /// + /// The routing bucket. + /// + [JsonIgnore] + public virtual RoutingBucket RoutingBucket { get; set; } + /// /// Gets or sets the user identifier. /// diff --git a/Models/RoutingBucket.cs b/Models/RoutingBucket.cs new file mode 100644 index 0000000..74d1fc8 --- /dev/null +++ b/Models/RoutingBucket.cs @@ -0,0 +1,57 @@ +using System; +using JetBrains.Annotations; + +namespace NFive.SDK.Core.Models +{ + /// + /// Routing bucket model representing a game routing bucket. + /// + /// + [PublicAPI] + public class RoutingBucket : IdentityModel + { + /// + /// Gets or sets the name. + /// + /// + /// The name. + /// + public string Name { get; set; } + + /// + /// Gets or sets the id. + /// + /// + /// The id. + /// + public new int Id { get; set; } + + /// + /// Gets or sets a value indicating whether game world population is enabled inside this bucket. + /// + /// + /// true if [population enabled]; otherwise, false. + /// + public bool PopulationEnabled { get; set; } + + /// + /// Gets or sets the lockdown mode. + /// + /// + /// The lockdown mode. + /// + public EntityLockdownMode LockdownMode { get; set; } + + /// + /// The game's default routing bucket + /// + public static RoutingBucket Default = new RoutingBucket() + { + Name = "Default", + Created = DateTime.UtcNow, + Id = 0, + PopulationEnabled = true, + LockdownMode = EntityLockdownMode.Inactive + }; + } +} diff --git a/StringValueAttribute.cs b/StringValueAttribute.cs new file mode 100644 index 0000000..a96dffe --- /dev/null +++ b/StringValueAttribute.cs @@ -0,0 +1,35 @@ +using System; + +namespace NFive.SDK.Core +{ + /// + /// This attribute is used to represent a string value + /// for a value in an enum. + /// + public class StringValueAttribute : Attribute + { + + #region Properties + + /// + /// Holds the string value for a value in an enum. + /// + public string StringValue { get; protected set; } + + #endregion + + #region Constructor + + /// + /// Constructor used to init a StringValue Attribute + /// + /// + public StringValueAttribute(string value) + { + this.StringValue = value; + } + + #endregion + + } +} From b1fc11f0b40ef52e27ab7ca37a023eec5253ab38 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Wed, 19 Oct 2022 21:01:37 +0200 Subject: [PATCH 11/20] Update RoutingBucket to have positive number id --- Models/RoutingBucket.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Models/RoutingBucket.cs b/Models/RoutingBucket.cs index 74d1fc8..25af52c 100644 --- a/Models/RoutingBucket.cs +++ b/Models/RoutingBucket.cs @@ -24,7 +24,7 @@ public class RoutingBucket : IdentityModel /// /// The id. /// - public new int Id { get; set; } + public new uint Id { get; set; } /// /// Gets or sets a value indicating whether game world population is enabled inside this bucket. From b6a811492a56c717e72b75c4d3cea734b36678d0 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Wed, 19 Oct 2022 21:08:01 +0200 Subject: [PATCH 12/20] Update ci.yml --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36ceea5..16e2b48 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,18 +18,18 @@ jobs: semVer: ${{ steps.gitversion.outputs.semVer }} steps: - - uses: actions/checkout@v2.4.2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.9.7 + uses: gittools/actions/gitversion/setup@v0.9.14 with: versionSpec: "5.x" - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.7 + uses: gittools/actions/gitversion/execute@v0.9.14 with: useConfigFile: true configFilePath: ./.github/version.yml @@ -41,7 +41,7 @@ jobs: SEMVER: ${{ needs.calculate-version.outputs.semVer }} steps: - - uses: actions/checkout@v2.4.2 + - uses: actions/checkout@v3 - name: Setup MSBuild uses: microsoft/setup-msbuild@v1.1 From b7c92f453e14406fb0f3129e62cde30876308ee6 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Wed, 19 Oct 2022 21:29:47 +0200 Subject: [PATCH 13/20] Update ci workflow --- .github/version.yml | 2 +- .github/workflows/cd.yml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/version.yml b/.github/version.yml index a013f09..49c9471 100644 --- a/.github/version.yml +++ b/.github/version.yml @@ -1,4 +1,4 @@ -mode: ContinuousDeployment +mode: ContinuousDelivery branches: master: tag: beta diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index deaaee1..3235c7c 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -13,18 +13,18 @@ jobs: semVer: ${{ steps.gitversion.outputs.semVer }} steps: - - uses: actions/checkout@v2.4.2 + - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.9.7 + uses: gittools/actions/gitversion/setup@v0.9.14 with: versionSpec: "5.x" - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.7 + uses: gittools/actions/gitversion/execute@v0.9.14 with: useConfigFile: true configFilePath: ./.github/version.yml From 3acb9fad23d3903c8df89be07288388b37682170 Mon Sep 17 00:00:00 2001 From: Thiago Zimmermann <13345912+thiago-dev@users.noreply.github.com> Date: Wed, 19 Oct 2022 21:57:47 +0200 Subject: [PATCH 14/20] Update version.yml --- .github/version.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/version.yml b/.github/version.yml index 49c9471..a013f09 100644 --- a/.github/version.yml +++ b/.github/version.yml @@ -1,4 +1,4 @@ -mode: ContinuousDelivery +mode: ContinuousDeployment branches: master: tag: beta From 9c0ef2793226f947cf853e53102fbd6014aad41c Mon Sep 17 00:00:00 2001 From: all-in-simplicity <13345912+all-in-simplicity@users.noreply.github.com> Date: Fri, 16 Feb 2024 04:30:41 +0100 Subject: [PATCH 15/20] Update github actions --- .github/workflows/cd.yml | 26 +++++++++++--------------- .github/workflows/ci.yml | 21 ++++++++++----------- 2 files changed, 21 insertions(+), 26 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 3235c7c..2b2379f 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -1,4 +1,4 @@ -name: Release +name: Continuous Deployment on: push: @@ -11,20 +11,21 @@ jobs: runs-on: ubuntu-latest outputs: semVer: ${{ steps.gitversion.outputs.semVer }} + assemblySemVer: ${{ steps.gitversion.outputs.assemblySemVer }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.9.14 + uses: gittools/actions/gitversion/setup@v0.10.2 with: versionSpec: "5.x" - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.14 + uses: gittools/actions/gitversion/execute@v0.10.2 with: useConfigFile: true configFilePath: ./.github/version.yml @@ -36,12 +37,10 @@ jobs: env: SEMVER: ${{ needs.calculate-version.outputs.semVer }} ZipName: NFive.SDK.Core-${{ needs.calculate-version.outputs.semVer }}.zip + ASSEMBLYSEMVER: ${{ needs.calculate-version.outputs.assemblySemVer }} steps: - - uses: actions/checkout@v2.4.2 - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.1 + - uses: actions/checkout@v4 - name: Setup NuGet uses: NuGet/setup-nuget@v1.0.6 @@ -50,33 +49,31 @@ jobs: run: nuget restore NFive.SDK.Core.sln - name: Build the solution - run: msbuild NFive.SDK.Core.sln /p:Configuration=Release /p:Outdir=Build + run: dotnet build -c Release -o Build /p:Version=${{env.ASSEMBLYSEMVER}} NFive.SDK.Core.sln - uses: vimtor/action-zip@v1 with: files: Build/ dest: ${{ env.ZipName }} - # Create a Release on the GitHub project - name: Create release id: create_release uses: actions/create-release@v1 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ env.SEMVER }} release_name: ${{ env.SEMVER }} draft: false prerelease: false - # Upload the Build Artifact to the Release - name: Update release asset id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps + upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: .\${{ env.ZipName }} asset_name: ${{ env.ZipName }} asset_content_type: application/zip @@ -84,6 +81,5 @@ jobs: - name: Pack run: dotnet pack NFive.SDK.Core.csproj -p:PackageVersion=${{ env.SEMVER }} --configuration Release - # Push package to nuget.org - name: Push nuget package - run: dotnet nuget push **/*.nupkg --skip-duplicate --source "https://api.nuget.org/v3/index.json" --api-key ${{secrets.nuget_api_key}} \ No newline at end of file + run: dotnet nuget push **/*.nupkg --skip-duplicate --source "https://api.nuget.org/v3/index.json" --api-key ${{ secrets.nuget_api_key }} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 16e2b48..1645209 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,4 @@ -name: CI +name: Continuous Integration on: push: @@ -16,20 +16,21 @@ jobs: runs-on: ubuntu-latest outputs: semVer: ${{ steps.gitversion.outputs.semVer }} + assemblySemVer: ${{ steps.gitversion.outputs.assemblySemVer }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.9.14 + uses: gittools/actions/gitversion/setup@v0.10.2 with: versionSpec: "5.x" - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.9.14 + uses: gittools/actions/gitversion/execute@v0.10.2 with: useConfigFile: true configFilePath: ./.github/version.yml @@ -39,24 +40,22 @@ jobs: needs: calculate-version env: SEMVER: ${{ needs.calculate-version.outputs.semVer }} + ASSEMBLYSEMVER: ${{ needs.calculate-version.outputs.assemblySemVer }} steps: - - uses: actions/checkout@v3 - - - name: Setup MSBuild - uses: microsoft/setup-msbuild@v1.1 + - uses: actions/checkout@v4 - name: Setup NuGet - uses: NuGet/setup-nuget@v1.0.6 + uses: NuGet/setup-nuget@v2 - name: Restore dependencies run: nuget restore NFive.SDK.Core.sln - name: Build the solution - run: msbuild NFive.SDK.Core.sln /p:Configuration=Release /p:Outdir=Build + run: dotnet build -c Release -o Build /p:Version=${{env.ASSEMBLYSEMVER}} NFive.SDK.Core.sln - name: Attach Zip as build artifact - uses: actions/upload-artifact@v3.1.0 + uses: actions/upload-artifact@v4 with: name: NFive.SDK.Core-${{ env.SEMVER }} path: Build \ No newline at end of file From d9013becbf1096b68131981241bf58de4f87d5ae Mon Sep 17 00:00:00 2001 From: all-in-simplicity <13345912+all-in-simplicity@users.noreply.github.com> Date: Fri, 16 Feb 2024 05:05:40 +0100 Subject: [PATCH 16/20] Update github actions --- .github/workflows/cd.yml | 2 ++ .github/workflows/ci.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 2b2379f..afab7e7 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -29,6 +29,8 @@ jobs: with: useConfigFile: true configFilePath: ./.github/version.yml + updateAssemblyInfo: true + updateAssemblyInfoFilename: true build: name: Build and Release diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1645209..a6e376d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,6 +34,8 @@ jobs: with: useConfigFile: true configFilePath: ./.github/version.yml + updateAssemblyInfo: true + updateAssemblyInfoFilename: true build: runs-on: windows-latest From 02dd0267dfa8421d51646c31a639fd115dd312e5 Mon Sep 17 00:00:00 2001 From: all-in-simplicity <13345912+all-in-simplicity@users.noreply.github.com> Date: Fri, 16 Feb 2024 06:13:18 +0100 Subject: [PATCH 17/20] Update github actions --- .github/workflows/cd.yml | 3 +-- .github/workflows/ci.yml | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index afab7e7..129fcb7 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -30,8 +30,7 @@ jobs: useConfigFile: true configFilePath: ./.github/version.yml updateAssemblyInfo: true - updateAssemblyInfoFilename: true - + build: name: Build and Release runs-on: windows-latest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a6e376d..d9754c7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,7 +35,6 @@ jobs: useConfigFile: true configFilePath: ./.github/version.yml updateAssemblyInfo: true - updateAssemblyInfoFilename: true build: runs-on: windows-latest From c2606a6c8363325c80ad1207ca6f51d607756290 Mon Sep 17 00:00:00 2001 From: all-in-simplicity <13345912+all-in-simplicity@users.noreply.github.com> Date: Fri, 16 Feb 2024 06:35:26 +0100 Subject: [PATCH 18/20] Update github action --- .github/workflows/cd.yml | 4 +--- .github/workflows/ci.yml | 5 +---- NFive.SDK.Core.csproj | 18 ++++++++++++++++-- Properties/AssemblyInfo.cs | 16 ---------------- 4 files changed, 18 insertions(+), 25 deletions(-) delete mode 100644 Properties/AssemblyInfo.cs diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 129fcb7..645af5c 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -11,7 +11,6 @@ jobs: runs-on: ubuntu-latest outputs: semVer: ${{ steps.gitversion.outputs.semVer }} - assemblySemVer: ${{ steps.gitversion.outputs.assemblySemVer }} steps: - uses: actions/checkout@v4 @@ -38,7 +37,6 @@ jobs: env: SEMVER: ${{ needs.calculate-version.outputs.semVer }} ZipName: NFive.SDK.Core-${{ needs.calculate-version.outputs.semVer }}.zip - ASSEMBLYSEMVER: ${{ needs.calculate-version.outputs.assemblySemVer }} steps: - uses: actions/checkout@v4 @@ -50,7 +48,7 @@ jobs: run: nuget restore NFive.SDK.Core.sln - name: Build the solution - run: dotnet build -c Release -o Build /p:Version=${{env.ASSEMBLYSEMVER}} NFive.SDK.Core.sln + run: dotnet build -c Release -o Build /p:Version=${{env.SEMVER}} NFive.SDK.Core.sln - uses: vimtor/action-zip@v1 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9754c7..a561fa1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,6 @@ jobs: runs-on: ubuntu-latest outputs: semVer: ${{ steps.gitversion.outputs.semVer }} - assemblySemVer: ${{ steps.gitversion.outputs.assemblySemVer }} steps: - uses: actions/checkout@v4 @@ -34,14 +33,12 @@ jobs: with: useConfigFile: true configFilePath: ./.github/version.yml - updateAssemblyInfo: true build: runs-on: windows-latest needs: calculate-version env: SEMVER: ${{ needs.calculate-version.outputs.semVer }} - ASSEMBLYSEMVER: ${{ needs.calculate-version.outputs.assemblySemVer }} steps: - uses: actions/checkout@v4 @@ -53,7 +50,7 @@ jobs: run: nuget restore NFive.SDK.Core.sln - name: Build the solution - run: dotnet build -c Release -o Build /p:Version=${{env.ASSEMBLYSEMVER}} NFive.SDK.Core.sln + run: dotnet build -c Release -o Build /p:Version=${{env.SEMVER}} NFive.SDK.Core.sln - name: Attach Zip as build artifact uses: actions/upload-artifact@v4 diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index d356507..5816a5f 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -4,8 +4,6 @@ net471 NFive.SDK.Core NFive.SDK.Core.net - false - NFive.SDK.Core NFive NFive @@ -19,6 +17,11 @@ https://github.com/NFive icon.png nfive fivem gtav + 0.1.3 + NFive core SDK for plugin development + README.md + Copyright © NFive 2018-2024 + en-US @@ -37,4 +40,15 @@ + + + True + \ + + + + + + + \ No newline at end of file diff --git a/Properties/AssemblyInfo.cs b/Properties/AssemblyInfo.cs deleted file mode 100644 index ed5dc08..0000000 --- a/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,16 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -[assembly: AssemblyTitle("NFive Core SDK")] -[assembly: AssemblyDescription("NFive core SDK for plugin development")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("NFive")] -[assembly: AssemblyProduct("NFive SDK")] -[assembly: AssemblyCopyright("Copyright © NFive 2018-2021")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] -[assembly: ComVisible(false)] -[assembly: Guid("1ed39a02-e017-407d-8d32-fee8a1e29264")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: AssemblyInformationalVersion("1.0.0.0")] From 856964642a008a94cbd97caba7e8f0029575a097 Mon Sep 17 00:00:00 2001 From: all-in-simplicity <13345912+all-in-simplicity@users.noreply.github.com> Date: Fri, 16 Feb 2024 09:48:27 +0100 Subject: [PATCH 19/20] Remove RoutingBucket Types --- .github/workflows/cd.yml | 3 +- Configuration/LocaleConfiguration.cs | 2 +- Configuration/SteamId.cs | 2 +- Models/EntityLockdownMode.cs | 30 --------------- Models/Player/Session.cs | 19 ---------- Models/RoutingBucket.cs | 57 ---------------------------- NFive.SDK.Core.csproj | 27 ++++++------- README.md | 4 +- 8 files changed, 16 insertions(+), 128 deletions(-) delete mode 100644 Models/EntityLockdownMode.cs delete mode 100644 Models/RoutingBucket.cs diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 645af5c..e95b35f 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -28,7 +28,6 @@ jobs: with: useConfigFile: true configFilePath: ./.github/version.yml - updateAssemblyInfo: true build: name: Build and Release @@ -42,7 +41,7 @@ jobs: - uses: actions/checkout@v4 - name: Setup NuGet - uses: NuGet/setup-nuget@v1.0.6 + uses: NuGet/setup-nuget@v2 - name: Restore dependencies run: nuget restore NFive.SDK.Core.sln diff --git a/Configuration/LocaleConfiguration.cs b/Configuration/LocaleConfiguration.cs index b597664..83656e1 100644 --- a/Configuration/LocaleConfiguration.cs +++ b/Configuration/LocaleConfiguration.cs @@ -1,7 +1,7 @@ +using JetBrains.Annotations; using System; using System.Collections.Generic; using System.Globalization; -using JetBrains.Annotations; namespace NFive.SDK.Core.Configuration { diff --git a/Configuration/SteamId.cs b/Configuration/SteamId.cs index 50c8bc4..7276bb4 100644 --- a/Configuration/SteamId.cs +++ b/Configuration/SteamId.cs @@ -1,5 +1,5 @@ -using System; using JetBrains.Annotations; +using System; namespace NFive.SDK.Core.Configuration { diff --git a/Models/EntityLockdownMode.cs b/Models/EntityLockdownMode.cs deleted file mode 100644 index 6e7c3f2..0000000 --- a/Models/EntityLockdownMode.cs +++ /dev/null @@ -1,30 +0,0 @@ -using JetBrains.Annotations; - -namespace NFive.SDK.Core.Models -{ - /// - /// Represents the lockdown mode used by the game's routing bucket - /// - [PublicAPI] - public enum EntityLockdownMode - { - /// - /// No entities can be created by clients at all. - /// - [StringValue("strict")] - Strict = 0, - - /// - /// Only script-owned entities created by clients are blocked. - /// - [StringValue("relaxed")] - Relaxed, - - /// - /// Clients can create any entity they want. - /// - [StringValue("inactive")] - Inactive - - } -} diff --git a/Models/Player/Session.cs b/Models/Player/Session.cs index 83dedb5..dad4ea0 100644 --- a/Models/Player/Session.cs +++ b/Models/Player/Session.cs @@ -75,25 +75,6 @@ public class Session [NotMapped] public int Handle { get; set; } - /// - /// Gets or sets routing bucket id. - /// - /// - /// The routing bucket id. - /// - [Required] - [ForeignKey("RoutingBucket")] - public int RoutingBucketId { get; set; } - - /// - /// Gets or sets the routing bucket which this session belongs to. - /// - /// - /// The routing bucket. - /// - [JsonIgnore] - public virtual RoutingBucket RoutingBucket { get; set; } - /// /// Gets or sets the user identifier. /// diff --git a/Models/RoutingBucket.cs b/Models/RoutingBucket.cs deleted file mode 100644 index 25af52c..0000000 --- a/Models/RoutingBucket.cs +++ /dev/null @@ -1,57 +0,0 @@ -using System; -using JetBrains.Annotations; - -namespace NFive.SDK.Core.Models -{ - /// - /// Routing bucket model representing a game routing bucket. - /// - /// - [PublicAPI] - public class RoutingBucket : IdentityModel - { - /// - /// Gets or sets the name. - /// - /// - /// The name. - /// - public string Name { get; set; } - - /// - /// Gets or sets the id. - /// - /// - /// The id. - /// - public new uint Id { get; set; } - - /// - /// Gets or sets a value indicating whether game world population is enabled inside this bucket. - /// - /// - /// true if [population enabled]; otherwise, false. - /// - public bool PopulationEnabled { get; set; } - - /// - /// Gets or sets the lockdown mode. - /// - /// - /// The lockdown mode. - /// - public EntityLockdownMode LockdownMode { get; set; } - - /// - /// The game's default routing bucket - /// - public static RoutingBucket Default = new RoutingBucket() - { - Name = "Default", - Created = DateTime.UtcNow, - Id = 0, - PopulationEnabled = true, - LockdownMode = EntityLockdownMode.Inactive - }; - } -} diff --git a/NFive.SDK.Core.csproj b/NFive.SDK.Core.csproj index 5816a5f..d46d3a0 100644 --- a/NFive.SDK.Core.csproj +++ b/NFive.SDK.Core.csproj @@ -17,11 +17,11 @@ https://github.com/NFive icon.png nfive fivem gtav - 0.1.3 - NFive core SDK for plugin development - README.md - Copyright © NFive 2018-2024 - en-US + 0.1.4 + NFive core SDK for plugin development + README.md + Copyright © NFive 2018-2024 + en-US @@ -31,15 +31,6 @@ - - - - - - $(PkgNewtonsoft_Json)\lib\portable-net40+sl5+win8+wp8+wpa81\Newtonsoft.Json.dll - - - True @@ -48,7 +39,11 @@ - + + + + + $(PkgNewtonsoft_Json)\lib\portable-net40+sl5+win8+wp8+wpa81\Newtonsoft.Json.dll + - \ No newline at end of file diff --git a/README.md b/README.md index e95609b..e05656c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # NFive Core SDK [![License](https://img.shields.io/github/license/NFive/SDK.Core.svg)](LICENSE) -[![Build Status](https://img.shields.io/appveyor/ci/NFive/sdk-core.svg)](https://ci.appveyor.com/project/NFive/sdk-core) -[![NuGet Version](https://img.shields.io/nuget/v/NFive/SDK.Core.svg)](https://www.nuget.org/packages/NFive.SDK.Core) +[![Build Status](https://img.shields.io/github/actions/workflow/status/NFive/SDK.Core/ci.yml)](https://github.com/NFive/SDK.Core/actions/workflows/ci.yml) +[![NuGet Version](https://img.shields.io/nuget/v/NFive.SDK.Core)](https://www.nuget.org/packages/NFive.SDK.Core/) [![Release Version](https://img.shields.io/github/release/NFive/SDK.Core/all.svg)](https://github.com/NFive/SDK.Core/releases) [NFive](https://nfive.io/) SDK for developing plugins. From d49a47c02561a5926aa7e9fbf2b9f38dc77d19a3 Mon Sep 17 00:00:00 2001 From: all-in-simplicity <13345912+all-in-simplicity@users.noreply.github.com> Date: Sat, 17 Feb 2024 14:38:50 +0100 Subject: [PATCH 20/20] Update ci and cd workflow --- .github/workflows/cd.yml | 22 ++++++++++++++++------ .github/workflows/ci.yml | 22 ++++++++++++++++------ 2 files changed, 32 insertions(+), 12 deletions(-) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index e95b35f..992e665 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -18,13 +18,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.10.2 + uses: gittools/actions/gitversion/setup@v0.11.0 with: versionSpec: "5.x" - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.10.2 + uses: gittools/actions/gitversion/execute@v0.11.0 with: useConfigFile: true configFilePath: ./.github/version.yml @@ -34,20 +34,30 @@ jobs: runs-on: windows-latest needs: calculate-version env: + NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages SEMVER: ${{ needs.calculate-version.outputs.semVer }} ZipName: NFive.SDK.Core-${{ needs.calculate-version.outputs.semVer }}.zip steps: - uses: actions/checkout@v4 - - name: Setup NuGet - uses: NuGet/setup-nuget@v2 + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 2.0.x + + - uses: actions/cache@v4 + with: + path: ${{ github.workspace }}\.nuget\packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + restore-keys: | + ${{ runner.os }}-nuget- - name: Restore dependencies - run: nuget restore NFive.SDK.Core.sln + run: dotnet restore NFive.SDK.Core.sln - name: Build the solution - run: dotnet build -c Release -o Build /p:Version=${{env.SEMVER}} NFive.SDK.Core.sln + run: dotnet build --no-restore -c Release -o Build /p:Version=${{env.SEMVER}} NFive.SDK.Core.sln - uses: vimtor/action-zip@v1 with: diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a561fa1..c8b28cb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,13 +23,13 @@ jobs: fetch-depth: 0 - name: Install GitVersion - uses: gittools/actions/gitversion/setup@v0.10.2 + uses: gittools/actions/gitversion/setup@v0.11.0 with: versionSpec: "5.x" - name: Determine Version id: gitversion - uses: gittools/actions/gitversion/execute@v0.10.2 + uses: gittools/actions/gitversion/execute@v0.11.0 with: useConfigFile: true configFilePath: ./.github/version.yml @@ -38,19 +38,29 @@ jobs: runs-on: windows-latest needs: calculate-version env: + NUGET_PACKAGES: ${{ github.workspace }}/.nuget/packages SEMVER: ${{ needs.calculate-version.outputs.semVer }} steps: - uses: actions/checkout@v4 - - name: Setup NuGet - uses: NuGet/setup-nuget@v2 + - name: Setup .NET + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 2.0.x + - uses: actions/cache@v4 + with: + path: ${{ github.workspace }}\.nuget\packages + key: ${{ runner.os }}-nuget-${{ hashFiles('**/*.csproj') }} + restore-keys: | + ${{ runner.os }}-nuget- + - name: Restore dependencies - run: nuget restore NFive.SDK.Core.sln + run: dotnet restore NFive.SDK.Core.sln - name: Build the solution - run: dotnet build -c Release -o Build /p:Version=${{env.SEMVER}} NFive.SDK.Core.sln + run: dotnet build --no-restore -c Release -o Build /p:Version=${{env.SEMVER}} NFive.SDK.Core.sln - name: Attach Zip as build artifact uses: actions/upload-artifact@v4