diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index dffe0944e..cf746c82e 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -26,7 +26,7 @@ jobs: - name: Setup .NET 5 uses: actions/setup-dotnet@v1 with: - dotnet-version: 5.0.302 + dotnet-version: 5.0.401 - name: Build run: ./publish.cmd - name: Test diff --git a/Directory.Build.props b/Directory.Build.props index ac42d2e11..6155f9b1a 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -57,9 +57,9 @@ - + + 3.4.231 all - runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/FAQ.md b/FAQ.md index 1449ae9fe..4b7d5c3e4 100644 --- a/FAQ.md +++ b/FAQ.md @@ -1,15 +1,21 @@ # Frequently Asked Questions +- [Why do I have thousands of compile errors](#why-do-i-have-thousands-of-compile-errors) - [Where do I go to run ModernUO?](#where-do-i-go-to-run-modernuo) - [I don't see my scripts compiling, what happened?](#i-dont-see-my-scripts-compiling-what-happened) - [Why can't I run ModernUO on a 32-bit operating system?](#why-cant-i-run-modernuo-on-a-32-bit-operating-system) +## Why do I have thousands of compile errors? +ModernUO uses a new technique called source generation. Most likely the compile errors are related to that. +To resolve the compile errors make sure you are using Visual Studio 2019 v16.10+, or Rider 2021.2+ for development and the newest .NET available. +Specifically for Visual Studio, you must build the entire solution once, restart Visual Studio entirely, and then build again. +This is required every time code changes in the `SerializationGenerator` or `SerializationSchemaGenerator` projects. + ## Where do I go to run ModernUO? Everything is run from the `Distribution` directory. This folder is portable, so it can be moved to the production server for deployments. ## I don't see my scripts compiling, what happened? -NET Core does not support dynamic compiling. Scripts are now compiled separately and moved to the `Distribution/Assemblies` directory. -This also allows content to be divided into `modules` that can be included by dropping in the DLL. +.NET 5 does not support dynamic compiling newer versions of C#. Scripts are now compiled separately and moved to the `Distribution/Assemblies` directory. ## Why can't I run ModernUO on a 32-bit operating system? -ModernUO is optimized for performance and modern hardware. +ModernUO is optimized for performance and modern hardware. For this reason we no longer support 32-bit operating systems diff --git a/Projects/Benchmarks/Benchmarks.csproj b/Projects/Benchmarks/Benchmarks.csproj index cd7d4a26c..2ed8e89fd 100644 --- a/Projects/Benchmarks/Benchmarks.csproj +++ b/Projects/Benchmarks/Benchmarks.csproj @@ -9,7 +9,7 @@ true - + diff --git a/Projects/SerializationGenerator/SerializationGenerator.csproj b/Projects/SerializationGenerator/SerializationGenerator.csproj index 1d8674e5b..1839dfeb3 100755 --- a/Projects/SerializationGenerator/SerializationGenerator.csproj +++ b/Projects/SerializationGenerator/SerializationGenerator.csproj @@ -7,7 +7,7 @@ - + diff --git a/Projects/SerializationSchemaGenerator/SerializationSchemaGenerator.csproj b/Projects/SerializationSchemaGenerator/SerializationSchemaGenerator.csproj old mode 100644 new mode 100755 index 87098f422..31e89d561 --- a/Projects/SerializationSchemaGenerator/SerializationSchemaGenerator.csproj +++ b/Projects/SerializationSchemaGenerator/SerializationSchemaGenerator.csproj @@ -14,8 +14,7 @@ - - + + - diff --git a/Projects/Server.Tests/Server.Tests.csproj b/Projects/Server.Tests/Server.Tests.csproj index 4360b0770..2e428c64e 100644 --- a/Projects/Server.Tests/Server.Tests.csproj +++ b/Projects/Server.Tests/Server.Tests.csproj @@ -3,7 +3,7 @@ false - + diff --git a/Projects/Server/Server.csproj b/Projects/Server/Server.csproj index 60936169a..aa97275b0 100755 --- a/Projects/Server/Server.csproj +++ b/Projects/Server/Server.csproj @@ -12,8 +12,6 @@ 0.0.0 - - @@ -32,8 +30,6 @@ - - @@ -47,32 +43,10 @@ all - - - TargetFramework=netstandard2.0 - Analyzer - false - all - - - - true - Generated - - - - - - - - - - - diff --git a/Projects/UOContent.Tests/UOContent.Tests.csproj b/Projects/UOContent.Tests/UOContent.Tests.csproj index 2fd4f6f7b..baa2a972e 100644 --- a/Projects/UOContent.Tests/UOContent.Tests.csproj +++ b/Projects/UOContent.Tests/UOContent.Tests.csproj @@ -3,7 +3,7 @@ false - + diff --git a/Projects/UOContent/UOContent.csproj b/Projects/UOContent/UOContent.csproj index 16c2b724f..2dd10a7f8 100755 --- a/Projects/UOContent/UOContent.csproj +++ b/Projects/UOContent/UOContent.csproj @@ -8,14 +8,16 @@ ..\..\Distribution\Assemblies - - + + + + @@ -28,14 +30,12 @@ - - false - + @@ -52,18 +52,4 @@ - - true - Generated - - - - - - - - - - - diff --git a/README.md b/README.md index 09c87f142..9cd03b05e 100644 --- a/README.md +++ b/README.md @@ -6,16 +6,6 @@ ModernUO [![Discord](https://img.shields.io/discord/751317910504603701?logo=disc ===== ##### Ultima Online Server Emulator for the modern era! -[![.NET](https://img.shields.io/badge/.NET-%205.0-5C2D91)](https://dotnet.microsoft.com/download/dotnet/5.0) -
-![Windows](https://img.shields.io/badge/-server%202019-0078D6?logo=windows) -![OSX](https://img.shields.io/badge/-big%20sur-222222?logo=apple&logoColor=white) -![Debian](https://img.shields.io/badge/-buster-A81D33?logo=debian) -![Ubuntu](https://img.shields.io/badge/-20LTS-E95420?logo=ubuntu&logoColor=white) -![CentOS](https://img.shields.io/badge/-8.3-262577?logo=centos&logoColor=white) -![Fedora](https://img.shields.io/badge/-33-0B57A4?logo=fedora&logoColor=white) -![RedHat](https://img.shields.io/badge/-8-BE0000?logo=red%20hat&logoColor=white) -
[![GitHub license](https://img.shields.io/github/license/modernuo/ModernUO?color=blue)](https://github.com/modernuo/ModernUO/blob/master/LICENSE) [![GitHub stars](https://img.shields.io/github/stars/modernuo/ModernUO?logo=github)](https://github.com/modernuo/ModernUO/stargazers) [![GitHub issues](https://img.shields.io/github/issues/modernuo/ModernUO?logo=github)](https://github.com/modernuo/ModernUO/issues) @@ -23,38 +13,53 @@ ModernUO [![Discord](https://img.shields.io/discord/751317910504603701?logo=disc [![GitHub build](https://img.shields.io/github/workflow/status/modernuo/ModernUO/Build?logo=github)](https://github.com/modernuo/ModernUO/actions) [![AzurePipelines build](https://dev.azure.com/modernuo/modernuo/_apis/build/status/Build?branchName=main)](https://dev.azure.com/modernuo/modernuo/_build/latest?definitionId=1&branchName=main) -## Building the server -#### Requirements -- [.NET 5 SDK](https://dotnet.microsoft.com/download/dotnet/5.0) -- [Visual Studio 2019/2022 (v16.10 or higher)](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community) or [Rider 2021.2 or higher](https://www.jetbrains.com/rider/download) - - Older versions will show code errors. - - Build the solution in the IDE to make errors go away. - - Visual Studio must be restarted once after the first build as well. +## Requirements +#### Supported Operating Systems +[![Windows 8.1/10/2016/2019](https://img.shields.io/badge/-server%202019-0078D6?logo=windows)](https://www.microsoft.com/en-US/evalcenter/evaluate-windows-server-2019) +![MacOS 10/11](https://img.shields.io/badge/-big%20sur-222222?logo=apple&logoColor=white) +[![Debian 9/10](https://img.shields.io/badge/-buster-A81D33?logo=debian)](https://www.debian.org/distrib/) +[![Ubuntu 16/18/20 LTS](https://img.shields.io/badge/-20LTS-E95420?logo=ubuntu&logoColor=white)](https://ubuntu.com/download/server) +[![CentOS 7/8](https://img.shields.io/badge/-8.3-262577?logo=centos&logoColor=white)](https://www.centos.org/download/) +[![Fedora 32/33/34](https://img.shields.io/badge/-33-0B57A4?logo=fedora&logoColor=white)](https://getfedora.org/en/server/download/) +[![RedHat 7/8](https://img.shields.io/badge/-8-BE0000?logo=red%20hat&logoColor=white)](https://access.redhat.com/downloads) -#### Publishing Builds -- Using terminal or powershell: `./publish.cmd [release|debug (default: release)] [os]` +#### Running the server +[![.NET](https://img.shields.io/badge/.NET-%205.0-5C2D91)](https://dotnet.microsoft.com/download/dotnet/5.0) + +#### Development +[![git](https://img.shields.io/badge/-git-F05032?logo=git&logoColor=white)](https://git-scm.com/downloads) +[![.NET](https://img.shields.io/badge/.NET-%205.0.10%20SDK-5C2D91)](https://dotnet.microsoft.com/download/dotnet/5.0) + +#### Supported IDEs +[Jetbrains Rider 2021.2](https://www.jetbrains.com/rider/download) +[Visual Studio 2019](https://visualstudio.microsoft.com/downloads) +
+###### Note: VS Code is not currently supported. + +## Getting Started +- Install prerequisite [requirements](https://github.com/modernuo/ModernUO#requirements) +- Clone this repository (or download the [latest](https://github.com/modernuo/ModernUO/archive/refs/heads/main.zip)): + - `git clone https://github.com/modernuo/ModernUO.git` +- Open `ModernUO.sln` to start developing + +## Building/Publishing +- Run `./publish.cmd [release|debug (default: release)] [os]` - `os` - [Supported operating systems](https://github.com/dotnet/core/blob/master/release-notes/5.0/5.0-supported-os.md) - `win` - Windows 8.1/10/2016/2019 - `osx` - MacOS 10.13+/11.0 (High Sierra, Mojave, Catalina, & Big Sur) - `ubuntu.16.04`, `ubuntu.18.04` `ubuntu.20.04` - Ubuntu LTS - `debian.9`, `debian.10` - Debian - `centos.7`, `centos.8` - CentOS - - `fedora.32`, `fedora.33` - Fedora + - `fedora.32`, `fedora.33`, `fedora.34` - Fedora - `rhel.7`, `rhel.8` - Redhat - If blank, the operating system running the build is used -## Deploying / Running Server +**Note:** Building in Visual Studio (or Rider) will not run the schema migration. The schema migration ensures future changes +to the code will be backward compatible. + +## Running the Server - Follow the [publish](https://github.com/modernuo/ModernUO#publishing-builds) instructions -- Copy `Distribution` directory to the production server - -#### Requirements -- [.NET 5 Runtime](https://dotnet.microsoft.com/download/dotnet/5.0) - -#### Running -- `dotnet ModernUO.dll` - -#### Cleaning -- `dotnet clean` +- Run `ModernUO.exe` or `dotnet ModernUO.dll` from the `Distribution` directory on the server ## Thanks - RunUO Team & Community diff --git a/SPONSORS.md b/SPONSORS.md index 0fded84a3..769bced1f 100644 --- a/SPONSORS.md +++ b/SPONSORS.md @@ -21,3 +21,9 @@ We greatly appreciate the support! Use one of the following platforms below: #### Venmo [Venmo | Sabresite](https://venmo.com/code?user_id=1834446441414656966) + +#### Bitcoin +37QmRWTCjVoNWycMpo1t5JnYVDmJTGSJ9W + +#### Ethereum +0x7A9D76F497d4Ee150Ada0ea0455fF3f6e8F3b6b8 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index dbaaf944a..4f721fc49 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -18,7 +18,7 @@ jobs: displayName: 'Install .NET 5' inputs: packageType: sdk - version: 5.0.302 + version: 5.0.401 - task: NuGetAuthenticate@0 - script: ./publish.cmd Release win displayName: 'Build' @@ -62,7 +62,7 @@ jobs: displayName: 'Install .NET 5' inputs: packageType: sdk - version: 5.0.302 + version: 5.0.401 - task: NuGetAuthenticate@0 - script: ./publish.cmd Release $(os) displayName: 'Build'