creeppork / magma Goto Github PK
View Code? Open in Web Editor NEWMagma is a CLI tool for Arma 3 server mod managment that works both on Windows and Linux.
License: MIT License
Magma is a CLI tool for Arma 3 server mod managment that works both on Windows and Linux.
License: MIT License
This will result in errors, especially for folders.
Magma does this Addons --> addons
.
Magma moves SteamCMD files to dir and dir contains addons Addons
Magma then renames Addons -> addons
but this results in error as addons
is not empty.
Have you tried to replace textures with a tiny paa to reduce the mods size drastically like https://github.com/Marcin648/pboServerOptimizer for example?
I haven’t checked if this breaks the “Configure mods and join” functionality but maybe you have an idea 😃
Allows configuring multiple mod profiles to quickly switch between mod presets.
preset
- displays the active presetpreset:add <name> <...item ids>
- add mods to a presetpreset:create <name>
- creates a new presetpreset:delete <name>
- deletes a created presetpreset:detach <name> <...item ids>
- removes mods from a presetpreset:generate <name>
- exports a Arma 3 Launcher presetpreset:list
- lists all presets, their mods and namespreset:import <name> <url/file>
- import from a URL/disk an Arma 3 Launcher mod presetpreset:select <name>
- sets the active presetmagma init --game=arma3 --steamcmd=./steamcmd ...
✔ Logging in
⠼ Processing your requestError: ENOENT: no such file or directory, scandir '/home/arma/s3/serverfiles/steamapps/workshop/content/107410/763003641'
at klawSync (~/.npm-global/lib/node_modules/@creeppork/magma/node_modules/klaw-sync/klaw-sync.js:13:25)
at Function.getAllDirectoriesRecursively (~/.npm-global/lib/node_modules/@creeppork/magma/lib/file.js:31:16)
at SteamCmd.everythingToLowercase (~/.npm-global/lib/node_modules/@creeppork/magma/lib/steam/cmd.js:229:37)
at SteamCmd.updateFiles (~/.npm-global/lib/node_modules/@creeppork/magma/lib/steam/cmd.js:207:14)
at SteamCmd.downloadMods (~/.npm-global/lib/node_modules/@creeppork/magma/lib/steam/cmd.js:142:24)
at <anonymous>
⠴ Processing your request
Dependabot was set up to create pull requests against the branch develop
, but couldn't find it.
If the branch has been permanently deleted you can update Dependabot's target branch from your dashboard.
This is a SteamCMD issue, but wondering if there's a way to get a work around into magma.
Basically anything above a few hundred MB times out when trying to download no matter what. I get the same issue in steamCMD directly so I know it's not an issue with magma. The "fix" for steamCMD online has been adding +validate at the end of the command to download and keep trying until it finishes. Obnoxious but steam wont fix their broke stuff. In testing I've not been able to download anything above 500mb successfully.
Is there a way to support something like that with magma? I didn't see anything in the official docs. And managing my mods using this tool and steamCMD directly is a little weird.
Sentry Issue: MAGMA-6
Display a spinner with the current mod name, id and possibly percentage of how much is it done or file size.
If not done so then LinuxGSM throws seg fault.
This would allow mods to be quickly enabled/disabled without them being removed from disk and redownloaded when enabled again.
Line 46 in 0f8d3a1
✔ Logging in
✔ Processing item
✔ Waiting for Steam to copy files
✔ Waiting for Steam to copy files
⠋ Comparing signatures and updating mod data
<--- Last few GCs --->
[20823:0x3681a70] 49302 ms: Mark-sweep 33.1 (39.1) -> 33.1 (39.1) MB, 12.4 / 0.0 ms (average mu = 0.996, current mu = 0.002) allocation failure GC in old space requested
[20823:0x3681a70] 49318 ms: Mark-sweep 33.1 (39.1) -> 33.1 (39.1) MB, 16.6 / 0.0 ms (average mu = 0.994, current mu = 0.001) last resort GC in old space requested
[20823:0x3681a70] 49335 ms: Mark-sweep 33.1 (39.1) -> 33.1 (39.1) MB, 16.9 / 0.0 ms (average mu = 0.988, current mu = 0.001) last resort GC in old space requested
<--- JS stacktrace --->
==== JS stack trace =========================================
0: ExitFrame [pc: 0x32b5b7fdbe1d]
Security context: 0x2a909511e6e9 <JSObject>
1: toString [0x3c1344b9fcb9] [buffer.js:645] [bytecode=0x211746d8f0c9 offset=31](this=0x1690c8215701 <Uint8Array map = 0x2f3ca44d5b89>,encoding=0x0ca2e3a026f1 <undefined>,start=0x0ca2e3a026f1 <undefined>,end=0x0ca2e3a026f1 <undefined>)
2: arguments adaptor frame: 0->3
3: getChecksumForFile [0xfcab1929169] [/home/creeppork/code/Magma/src/file.ts:3...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 0x8f9d10 node::Abort() [node]
2: 0x8f9d5c [node]
3: 0xaffd0e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [node]
4: 0xafff44 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [node]
5: 0xef4152 [node]
6: 0xf0396f v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationSpace, v8::internal::AllocationAlignment) [node]
7: 0xed351b v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [node]
8: 0xed3e22 v8::internal::Factory::NewStringFromUtf8(v8::internal::Vector<char const>, v8::internal::PretenureFlag) [node]
9: 0xb0dd59 v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::NewStringType, int) [node]
10: 0x9c1518 node::StringBytes::Encode(v8::Isolate*, char const*, unsigned long, node::encoding, v8::Local<v8::Value>*) [node]
11: 0x916160 [node]
12: 0xb8dfef [node]
13: 0xb8eb59 v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*) [node]
14: 0x32b5b7fdbe1d
[1] 20823 abort (core dumped) ./bin/run download 763003641
If it found an update, it could send a notification in Discord.
Execute shell commands.
Line 73 in a675dcf
Dependabot was set up to create pull requests against the branch develop
, but couldn't find it.
If the branch has been permanently deleted you can update Dependabot's target branch from your dashboard.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.