diff --git a/AppVeyor/AppVeyorBuild.bat b/AppVeyor/AppVeyorBuild.bat
new file mode 100644
index 0000000000..7647552662
--- /dev/null
+++ b/AppVeyor/AppVeyorBuild.bat
@@ -0,0 +1,3 @@
+@echo on
+msbuild "C:\projects\ace\Source\ACE.sln" /verbosity:minimal /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" /p:NoWarn="NETSDK1233"
+AppVeyor\AppVeyorBeforePackage.bat
diff --git a/AppVeyor/AppVeyorInstall.ps1 b/AppVeyor/AppVeyorInstall.ps1
index c8f3fdf69d..b1578754b2 100644
--- a/AppVeyor/AppVeyorInstall.ps1
+++ b/AppVeyor/AppVeyorInstall.ps1
@@ -1,2 +1,2 @@
Invoke-WebRequest -Uri 'https://dot.net/v1/dotnet-install.ps1' -UseBasicParsing -OutFile "$env:temp\dotnet-install.ps1"
-& $env:temp\dotnet-install.ps1 -Architecture x64 -Version '8.0.100' -InstallDir "$env:ProgramFiles\dotnet"
+& $env:temp\dotnet-install.ps1 -Architecture x64 -Version '10.0.100' -InstallDir "$env:ProgramFiles\dotnet"
diff --git a/Dockerfile b/Dockerfile
index c847a532cc..d33c1e935d 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-jammy AS build
+FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0-noble AS build
ARG TARGETARCH
WORKDIR /Source
@@ -21,7 +21,7 @@ COPY . ../.
RUN dotnet publish ./ACE.Server/ACE.Server.csproj -a $TARGETARCH -c release -o /ace --no-restore
# final stage/image
-FROM mcr.microsoft.com/dotnet/runtime:8.0-jammy
+FROM mcr.microsoft.com/dotnet/runtime:10.0-noble
ARG DEBIAN_FRONTEND="noninteractive"
WORKDIR /ace
diff --git a/README.md b/README.md
index 8f57e86e85..afeeafd312 100644
--- a/README.md
+++ b/README.md
@@ -39,10 +39,3 @@ Please note that this project is released with a [Contributor Code of Conduct](h
## Contact
* [Discord Channel](https://discord.gg/C2WzhP9)
-
-## Database Management Scripts
-Database export and rebase utilities are located in `Database/tools`.
-Windows users can run the existing `*.bat` files, while Linux/macOS users can use
-the new `*.sh` equivalents such as `ExportShardBase.sh` and
-`RebaseWorldBase.sh`. These scripts call `mysqldump` and `mysql` from the
-standard system paths.
diff --git a/Source/.vsconfig b/Source/.vsconfig
index c14058c12e..386ce146f3 100644
--- a/Source/.vsconfig
+++ b/Source/.vsconfig
@@ -14,6 +14,7 @@
"Microsoft.VisualStudio.Component.SQL.CLR",
"Microsoft.Component.ClickOnce",
"Microsoft.VisualStudio.Component.ManagedDesktop.Core",
+ "Microsoft.NetCore.Component.Runtime.10.0",
"Microsoft.NetCore.Component.Runtime.8.0",
"Microsoft.NetCore.Component.SDK",
"Microsoft.VisualStudio.Component.FSharp",
@@ -25,11 +26,10 @@
"Microsoft.VisualStudio.Component.EntityFramework",
"Microsoft.VisualStudio.Component.Debugger.JustInTime",
"Microsoft.VisualStudio.Component.IntelliCode",
- "Microsoft.NetCore.Component.Runtime.6.0",
"Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites",
"Microsoft.ComponentGroup.Blend",
"Microsoft.VisualStudio.Workload.ManagedDesktop",
"Microsoft.VisualStudio.Component.Git"
],
"extensions": []
-}
\ No newline at end of file
+}
diff --git a/Source/ACE.Adapter/ACE.Adapter.csproj b/Source/ACE.Adapter/ACE.Adapter.csproj
index 0df7fe891f..3a421759f8 100644
--- a/Source/ACE.Adapter/ACE.Adapter.csproj
+++ b/Source/ACE.Adapter/ACE.Adapter.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
disable
disable
AnyCPU
@@ -9,7 +9,7 @@
ACEmulator Contributors
ACEmulator
Asheron's Call server emulator
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
https://emulator.ac
https://github.com/ACEmulator/ACE
@@ -34,8 +34,4 @@
-
-
-
-
diff --git a/Source/ACE.Common/ACE.Common.csproj b/Source/ACE.Common/ACE.Common.csproj
index dcd8fd2152..9aed538f20 100644
--- a/Source/ACE.Common/ACE.Common.csproj
+++ b/Source/ACE.Common/ACE.Common.csproj
@@ -7,7 +7,7 @@
git
https://github.com/ACEmulator/ACE
https://emulator.ac
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
Asheron's Call server emulator
ACEmulator
@@ -16,7 +16,7 @@
-
+
diff --git a/Source/ACE.DatLoader.Tests/ACE.DatLoader.Tests.csproj b/Source/ACE.DatLoader.Tests/ACE.DatLoader.Tests.csproj
index 64e1bbd4f1..4341dbff09 100644
--- a/Source/ACE.DatLoader.Tests/ACE.DatLoader.Tests.csproj
+++ b/Source/ACE.DatLoader.Tests/ACE.DatLoader.Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
false
@@ -13,7 +13,7 @@
Asheron's Call server emulator
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
@@ -28,8 +28,8 @@
-
-
+
+
diff --git a/Source/ACE.DatLoader/ACE.DatLoader.csproj b/Source/ACE.DatLoader/ACE.DatLoader.csproj
index 0b934433af..065eb65028 100644
--- a/Source/ACE.DatLoader/ACE.DatLoader.csproj
+++ b/Source/ACE.DatLoader/ACE.DatLoader.csproj
@@ -7,7 +7,7 @@
git
https://github.com/ACEmulator/ACE
https://emulator.ac
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
Asheron's Call server emulator
ACEmulator
@@ -16,8 +16,8 @@
-
-
+
+
diff --git a/Source/ACE.Database.Tests/ACE.Database.Tests.csproj b/Source/ACE.Database.Tests/ACE.Database.Tests.csproj
index 92445a859f..33381aecab 100644
--- a/Source/ACE.Database.Tests/ACE.Database.Tests.csproj
+++ b/Source/ACE.Database.Tests/ACE.Database.Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
false
@@ -13,7 +13,7 @@
Asheron's Call server emulator
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
@@ -29,8 +29,8 @@
-
-
+
+
diff --git a/Source/ACE.Database/ACE.Database.csproj b/Source/ACE.Database/ACE.Database.csproj
index c2d61aab1c..98e07eebc5 100644
--- a/Source/ACE.Database/ACE.Database.csproj
+++ b/Source/ACE.Database/ACE.Database.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
disable
disable
AnyCPU
@@ -9,7 +9,7 @@
git
https://github.com/ACEmulator/ACE
https://emulator.ac
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
Asheron's Call server emulator
ACEmulator
@@ -18,8 +18,8 @@
-
-
+
+
diff --git a/Source/ACE.Entity/ACE.Entity.csproj b/Source/ACE.Entity/ACE.Entity.csproj
index 405e31dcb1..2e4eb67131 100644
--- a/Source/ACE.Entity/ACE.Entity.csproj
+++ b/Source/ACE.Entity/ACE.Entity.csproj
@@ -7,7 +7,7 @@
git
https://github.com/ACEmulator/ACE
https://emulator.ac
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
Asheron's Call server emulator
ACEmulator
diff --git a/Source/ACE.Server.Tests/ACE.Server.Tests.csproj b/Source/ACE.Server.Tests/ACE.Server.Tests.csproj
index f87b83b011..9a0902d00a 100644
--- a/Source/ACE.Server.Tests/ACE.Server.Tests.csproj
+++ b/Source/ACE.Server.Tests/ACE.Server.Tests.csproj
@@ -1,7 +1,7 @@
- net8.0
+ net10.0
false
@@ -13,7 +13,7 @@
Asheron's Call server emulator
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
@@ -29,8 +29,8 @@
-
-
+
+
diff --git a/Source/ACE.Server.Tests/Physics/SphereTests.cs b/Source/ACE.Server.Tests/Physics/SphereTests.cs
index 1d8ce52ae9..0b514a4987 100644
--- a/Source/ACE.Server.Tests/Physics/SphereTests.cs
+++ b/Source/ACE.Server.Tests/Physics/SphereTests.cs
@@ -4,8 +4,6 @@
using ACE.Server.Physics.Animation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
-[assembly: Parallelize]
-
namespace ACE.Server.Tests.Physics
{
[TestClass]
diff --git a/Source/ACE.Server/ACE.Server.csproj b/Source/ACE.Server/ACE.Server.csproj
index 9fbd892764..4a9089059f 100644
--- a/Source/ACE.Server/ACE.Server.csproj
+++ b/Source/ACE.Server/ACE.Server.csproj
@@ -2,7 +2,7 @@
Exe
- net8.0
+ net10.0
x64
@@ -23,7 +23,7 @@
git
https://github.com/ACEmulator/ACE
https://emulator.ac
- © 2017-2024 ACEmulator Team and Contributors
+ © 2017-2026 ACEmulator Team and Contributors
LICENSE
Asheron's Call server emulator
ACEmulator
@@ -240,7 +240,6 @@
-
diff --git a/Source/ACE.Server/Command/Handlers/AdminCommands.cs b/Source/ACE.Server/Command/Handlers/AdminCommands.cs
index 16ce7ab0cf..2e6788099e 100644
--- a/Source/ACE.Server/Command/Handlers/AdminCommands.cs
+++ b/Source/ACE.Server/Command/Handlers/AdminCommands.cs
@@ -2576,7 +2576,7 @@ public static void HandleCrack(Session session, params string[] parameters)
{
var objectId = new ObjectGuid((uint)session.Player.CurrentAppraisalTarget);
var wo = session.Player.CurrentLandblock?.GetObject(objectId);
- if (wo is Lock @lock)
+ if (wo is ACE.Server.WorldObjects.Lock @lock)
{
var opening = openIt ? $" Opening {wo.WeenieType}." : "";
string lockCode = LockHelper.GetLockCode(wo);
diff --git a/Source/ACE.Server/Network/PacketHeaderOptional.cs b/Source/ACE.Server/Network/PacketHeaderOptional.cs
index 61cd182115..46cd2c462d 100644
--- a/Source/ACE.Server/Network/PacketHeaderOptional.cs
+++ b/Source/ACE.Server/Network/PacketHeaderOptional.cs
@@ -72,7 +72,8 @@ public void Unpack(BinaryReader reader, PacketHeader header)
long length = reader.BaseStream.Length - position;
if (length < 1) { IsValid = false; return; }
byte[] loginBytes = new byte[length];
- reader.BaseStream.Read(loginBytes, (int)position, (int)length);
+ var i = reader.BaseStream.Read(loginBytes, (int)position, (int)length);
+ if (i != length) { IsValid = false; return; }
writer.Write(loginBytes);
reader.BaseStream.Position = position;
}
diff --git a/Source/ACE.sln b/Source/ACE.sln
index eee6b6a7e5..a215f7279c 100644
--- a/Source/ACE.sln
+++ b/Source/ACE.sln
@@ -23,6 +23,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "AppVeyor", "AppVeyor", "{27
..\AppVeyor\AppVeyorAfterDeploy.bat = ..\AppVeyor\AppVeyorAfterDeploy.bat
..\AppVeyor\AppVeyorBeforeCompile.bat = ..\AppVeyor\AppVeyorBeforeCompile.bat
..\AppVeyor\AppVeyorBeforePackage.bat = ..\AppVeyor\AppVeyorBeforePackage.bat
+ ..\AppVeyor\AppVeyorBuild.bat = ..\AppVeyor\AppVeyorBuild.bat
+ ..\AppVeyor\AppVeyorInstall.ps1 = ..\AppVeyor\AppVeyorInstall.ps1
..\AppVeyor\AppVeyorTestScript.bat = ..\AppVeyor\AppVeyorTestScript.bat
..\AppVeyor\Config.js = ..\AppVeyor\Config.js
..\AppVeyor\DownloadACEWorld.bat = ..\AppVeyor\DownloadACEWorld.bat
diff --git a/appveyor.yml b/appveyor.yml
index e89fce0b64..a5ff703a02 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -46,17 +46,19 @@ environment:
secure: lGLpqex+Weod6ZiPw34RwTv999QvoSZ+imTcmYhiJWQL6XkfkVUYcqOO6pJDuAYt
services:
- mysql
-#install:
-# - ps: AppVeyor\AppVeyorInstall.ps1
+install:
+ - ps: AppVeyor\AppVeyorInstall.ps1
before_build:
- cmd: AppVeyor\AppVeyorBeforeCompile.bat
-build:
- project: Source\ACE.sln
- verbosity: minimal
-before_package:
-- cmd: AppVeyor\AppVeyorBeforePackage.bat
+#build:
+# project: Source\ACE.sln
+# verbosity: minimal
+build_script:
+- cmd: AppVeyor\AppVeyorBuild.bat
after_build:
- cmd: AppVeyor\AppVeyorAfterCompile.bat
+#before_package:
+#- cmd: AppVeyor\AppVeyorBeforePackage.bat
test_script:
- cmd: AppVeyor\AppVeyorTestScript.bat
artifacts: