Giter Club home page Giter Club logo

arksavegametoolkitnet's People

Contributors

mxtsdev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

arksavegametoolkitnet's Issues

Support hibernation entries from singleplayer savegames

Hi Tobias,
ty for the huge amount of work you put into translating qowyns java code to C#.

Have you planned to integrate hibernation entries any time ? It is not used on dedicated servers, but is default for single player and non-dedicated servers (few players).

Pete

Crystal Isles location multipliers are wrong for the release map

Lat 0, Long 0 is at X -850000, Y -780000
Lat 1, Long 1 is at X -833000, Y -764000

X Scale (Longitude Divisor) is 17000
Y Scale (Latitude Divisor) is 16000

X 0, Y 0 is at Lat 48.75, Long 50

Also, using TPCoords to set Lat and Long, then checking X and Y with CopyCoordinatesToClipboard seems to be the most accurate way to map the two coordinate systems. It seems odd to then translate the accurate, integer x and y diffs and scale into derived, floating point latitude and longitude shifts in the source. The X/Y shift is just your ccc output at "TPCoords 0 0 40000"
The X/Y scale is the diff in x and y between 0,0 and 1,1

Crystal Isles 0 0
Crystal Isles 1 1

Check for "The Volcano" implementation ;)

The Volcano map image: https://i.imgur.com/Q1pHflC.jpg

Add this in ArkLocation.cs:

volcano = MapResources.topo_map_TheVolcano;

.............

{ "TheVolcano", Tuple.Create(volcano.Width, volcano.Height, -1.8f, -1.3f, 99.3f, 100.9f) },

..............

volcano?.Dispose();

I already tried to compile it with these proportions and it works correctly ^^

arkbot i get error faild

hi
im having problem ith arkbot everything is connecting well except for server side
i get 'Update failed after xx ms'
ip 127.0.0.1 port
query port 27018
save location is set C:\Users\Administrator\Desktop\ark\Servers\Server1\ShooterGame\Saved\SavedArks\CrystalIsles.ark

please help this is very importent to me

log

2022-12-20 00:04:09,144 [9] WARN ArkSavegameToolkitNet.Data.ExtraDataCharacterHandler - Expected int after properties to be 1 but found 0 at 338710372 2022-12-20 00:04:09,336 [8] WARN ArkSavegameToolkitNet.Data.ExtraDataCharacterHandler - Expected int after properties to be 1 but found 0 at 348549613 2022-12-20 00:04:09,344 [8] WARN ArkSavegameToolkitNet.Data.ExtraDataCharacterHandler - Expected int after properties to be 1 but found 0 at 348666499 2022-12-20 00:04:09,344 [17] WARN ArkSavegameToolkitNet.Data.ExtraDataCharacterHandler - Expected int after properties to be 1 but found 0 at 348789347 2022-12-20 00:04:09,345 [18] WARN ArkSavegameToolkitNet.Data.ExtraDataCharacterHandler - Expected int after properties to be 1 but found 0 at 348850652 2022-12-20 00:04:10,535 [6] ERROR ArkBot.Ark.ArkServerContext - Failed to update server (season3) System.NullReferenceException: Object reference not set to an instance of an object. at ArkSavegameToolkitNet.Domain.ArkGameData.<>c__DisplayClass13_1.<Update>b__12(GameObject x) in C:\Tobias\Repos\Own\ARK\ArkSavegameToolkitNet\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 117 at System.Linq.Enumerable.WhereSelectArrayIterator2.MoveNext()
at System.Linq.Buffer1..ctor(IEnumerable1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable1 source) at ArkSavegameToolkitNet.Domain.ArkGameData.Update(CancellationToken ct, ArkPlayerExternal[] externalPlayerData, Boolean deferApplyNewData, ArkAnonymizeData anonymize) in C:\Tobias\Repos\Own\ARK\ArkSavegameToolkitNet\ArkSavegameToolkitNet.Domain\ArkGameData.cs:line 114 at ArkBot.Ark.ArkServerContext.Update(Boolean manualUpdate, IConfig fullconfig, ISavegameBackupService savegameBackupService, IProgress1 progress, CancellationToken ct)
2022-12-20 00:04:49,870 [1] DEBUG ArkBot.ViewModel.Workspace - Exception in Workspace::Dispose (WebApi) when closing application
System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled).
at System.Threading.Tasks.Task.Dispose(Boolean disposing)
at QueryMaster.GameServer.TcpQuery.Dispose(Boolean disposing)
at QueryMaster.QueryMasterBase.Dispose()
at QueryMaster.GameServer.RconSource.Dispose(Boolean disposing)
at QueryMaster.QueryMasterBase.Dispose()
at QueryMaster.GameServer.Server.Dispose(Boolean disposing)
at QueryMaster.QueryMasterBase.Dispose()
at ArkBot.Steam.SteamManager.Dispose(Boolean disposing)
at ArkBot.Ark.ArkServerContext.Dispose(Boolean disposing)
at Autofac.Core.Disposer.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Core.Lifetime.LifetimeScope.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Core.Container.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Integration.WebApi.AutofacWebApiDependencyScope.Dispose(Boolean disposing)
at Autofac.Integration.WebApi.AutofacWebApiDependencyScope.Dispose()
at Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.Dispose(Boolean disposing)
at Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.Dispose()
at System.Web.Http.HttpConfiguration.Dispose(Boolean disposing)
at System.Web.Http.HttpServer.Dispose(Boolean disposing)
at System.Net.Http.HttpMessageInvoker.Dispose(Boolean disposing)
at System.Web.Http.Owin.HttpMessageHandlerAdapter.OnAppDisposing()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.CancellationCallbackInfo.ExecuteCallback()
at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException)
--- End of inner exception stack trace ---
at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException)
at System.Threading.CancellationTokenSource.NotifyCancellation(Boolean throwOnFirstException)
at Microsoft.Owin.Hosting.Engine.HostingEngine.<>c__DisplayClass6.b__5()
at Microsoft.Owin.Hosting.Engine.HostingEngine.<>c__DisplayClass1.b__0()
at ArkBot.ViewModel.Workspace.Dispose(Boolean disposing)
---> (Inner Exception #0) System.InvalidOperationException: A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled).
at System.Threading.Tasks.Task.Dispose(Boolean disposing)
at QueryMaster.GameServer.TcpQuery.Dispose(Boolean disposing)
at QueryMaster.QueryMasterBase.Dispose()
at QueryMaster.GameServer.RconSource.Dispose(Boolean disposing)
at QueryMaster.QueryMasterBase.Dispose()
at QueryMaster.GameServer.Server.Dispose(Boolean disposing)
at QueryMaster.QueryMasterBase.Dispose()
at ArkBot.Steam.SteamManager.Dispose(Boolean disposing)
at ArkBot.Ark.ArkServerContext.Dispose(Boolean disposing)
at Autofac.Core.Disposer.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Core.Lifetime.LifetimeScope.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Core.Container.Dispose(Boolean disposing)
at Autofac.Util.Disposable.Dispose()
at Autofac.Integration.WebApi.AutofacWebApiDependencyScope.Dispose(Boolean disposing)
at Autofac.Integration.WebApi.AutofacWebApiDependencyScope.Dispose()
at Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.Dispose(Boolean disposing)
at Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.Dispose()
at System.Web.Http.HttpConfiguration.Dispose(Boolean disposing)
at System.Web.Http.HttpServer.Dispose(Boolean disposing)
at System.Net.Http.HttpMessageInvoker.Dispose(Boolean disposing)
at System.Web.Http.Owin.HttpMessageHandlerAdapter.OnAppDisposing()
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.CancellationCallbackInfo.ExecuteCallback()
at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException)<---
`

Incorporating ark-savegame-toolkit changes

Ark-savegame-toolkit codebase has gone through massive refactoring of over the last six months and now perform much better than previously.

Compare my ark-savegame-toolkit fork (v0.6) to the head of the official repo to see the changes.

Game- and cluster-update methods should not depend on class name matching

Change game and cluster update methods not to depend on game object identification flags that are set based on full or partial class name matching.

Game objects contain little information to tell us what kind they are, guessing based on class name will always be required but should be minimized to improve compatibility with mods.

Code

var statusComponents = objects.Where(x => x.IsDinoStatusComponent).ToDictionary(x => x.ObjectId, x => x);

Should be

var statusComponents = objects.Where(x => x.IsStatusComponent).ToDictionary(x => x.ObjectId, x => x);
// or...
var objectMap = objects.ToDictionary(x => x.ObjectId, x => x);

etc.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.