Skip to content

Compatibility zh HK

ArchiBot edited this page Jun 4, 2024 · 40 revisions

ๅ…ผๅฎนๆ€ง

ASF is a C# application that is running on .NET platform. ้€™ๆ„ๅ‘ณ่‘— ASF ไธฆ้ž็›ดๆŽฅ่ขซ็ทจ่ญฏ็‚บๅฏไพ› CPU ๅŸท่กŒ็š„โ€‹**ๆฉŸๅ™จ็ขผ**๏ผŒ่€Œๆ˜ฏ่ขซ็ทจ่ญฏ็‚บ ้€š็”จไธญ้–“่ชž่จ€๏ผŒไธ€็จฎ้œ€่ฆ็›ธๆ‡‰็š„้‹่กŒ็’ฐๅขƒๆ‰่ƒฝๅŸท่กŒ็š„่ชž่จ€ใ€‚

This approach has gigantic amount of advantages, as CIL is platform-independent, which is why ASF can run natively on many available OSes, especially Windows, Linux and macOS. There is not only no emulation needed, but also support for all platform-related and hardware-related optimizations, such as CPU SSE instructions. ๅ› ๆญค๏ผŒASFๅฏไปฅๅฏฆ็พๅ“่ถŠ็š„ๆ€ง่ƒฝๅ’Œๅ„ชๅŒ–๏ผŒๅŒๆ™‚ไป็„ถๆไพ›ๅฎŒ็พŽ็š„ๅ…ผๅฎนๆ€งๅ’Œๅฏ้ ๆ€งใ€‚

้€™ไนŸๆ„ๅ‘ณ่‘—้‹่กŒ ASF ๆฒ’ๆœ‰็‰นๅฎš็š„ๆ“ไฝœ็ณป็ตฑ่ฆๆฑ‚๏ผŒๅ› ็‚บๅฎƒ้œ€่ฆ็š„ๅชๆ˜ฏ็ณป็ตฑไธŠ็š„้‹่กŒ็’ฐๅขƒ่€Œ้ž็ณป็ตฑๆœฌ่บซใ€‚ As long as that runtime is executing ASF code properly, it does not matter whether underlying OS is Windows, Linux, macOS, BSD, Sony Playstation 4, Nintendo Wii or your toaster - as long as there is .NET for it, there is ASF for it (in generic variant).

However, regardless of where you run ASF, you must ensure that your target platform has .NET prerequisites installed. ้€™ไบ›้ƒฝๆ˜ฏ็ขบไฟ้‹่กŒ็’ฐๅขƒๅŠŸ่ƒฝๆญฃๅธธ็š„ๅบ•ๅฑคๅบซ๏ผŒไนŸๆ˜ฏ็ขบไฟ ASF ่ƒฝๅค ็ฌฌไธ€ๆ™‚้–“ๅทฅไฝœ็š„็ต•ๅฐๆ ธๅฟƒใ€‚ ๅพˆๆœ‰ๅฏ่ƒฝๆ‚จๅทฒ็ถ“ๅฎ‰่ฃไบ†ๅ…ถไธญ็š„ไธ€ไบ› (็”š่‡ณๅ…จ้ƒจ)ใ€‚


ASF ๅŒ…

ASF ๆœ‰ๅ…ฉ็จฎไธป่ฆ็š„ๆ‰“ๅŒ…ๆ–นๅผโ”€โ”€GenericๅŒ…ไปฅๅŠ OS-specific ๅŒ…๏ผˆ้‡ๅฐ็‰นๅฎšๆ“ไฝœ็ณป็ตฑ็š„ๅŒ…๏ผ‰ใ€‚ ๅพžๅŠŸ่ƒฝไธŠไพ†่ฌ›๏ผŒ้€™ๅ…ฉ็จฎๅŒ…ๆ˜ฏๅฎŒๅ…จไธ€ๆจฃ็š„๏ผŒ้ƒฝ่ƒฝๅค ่‡ชๅ‹•้€ฒ่กŒๆ›ดๆ–ฐใ€‚ ๅ”ฏไธ€็š„ๅ€ๅˆฅๅฐฑๆ˜ฏ GenericๅŒ…ไธญไธๅŒ…ๅซ** OS-specific **ๅŒ…ๅ…ง้™„ๅธถ็š„่ƒฝไฝฟ ASF ้‹่กŒ็š„็’ฐๅขƒใ€‚


Generic

Generic ๅŒ…็จ็ซ‹ไบŽๅนณๅฐ๏ผŒๆ‰€ไปฅๅฎƒไธๅŒ…ๅซไปปไฝ•็‰นๅฎšๆ–ผ้›ป่…ฆ็š„ไปฃ็ขผใ€‚ This setup requires from you to have .NET runtime already installed on your OS in appropriate version. We all know how troublesome it is to keep dependencies up-to-date, therefore this package is here mainly for people that already use .NET and don't want to duplicate their runtime solely for ASF if they can make use of what they have installed already. Generic package also allows you to run ASF anywhere, as long as you can obtain working implementation of .NET runtime, regardless if there exists OS-specific ASF build for it, or not.

It's not recommended to use generic flavour if you're casual or even advanced user that just wants to make ASF work and not dig into .NET technical details. ไนŸๅฐฑๆ˜ฏ่ชช๏ผŒๅฆ‚ๆžœไฝ ็žญ่งฃGenericๅŒ…๏ผŒ้‚ฃไฝ ๅฏไปฅไฝฟ็”จๅฎƒ๏ผŒไธ็„ถไธ‹้บตๆ‰€ไป‹็ดน็š„ OS-specific ๅŒ…ๆ‰ๆ˜ฏๆ›ดๅˆ้ฉ็š„ใ€‚


OS-specific

้™คไบ† Generic ๅŒ…ไธญๅŒ…ๅซ็š„่จ—็ฎกไปฃ็ขผไน‹ๅค–๏ผŒOS-specific ๅŒ…้‚„ๅŒ…ๆ‹ฌๆŒ‡ๅฎšๅนณๅฐ็š„ๆœฌๆฉŸไปฃ็ขผใ€‚ In other words, OS-specific package already includes proper .NET runtime inside, which allows you to entirely skip the whole installation mess and just launch ASF directly. OS-specific ๅŒ…๏ผŒ้กงๅๆ€็พฉ๏ผŒๆ˜ฏ้‡ๅฐไธๅŒๆ“ไฝœ็ณป็ตฑ็š„๏ผŒๆฏ็จฎๆ“ไฝœ็ณป็ตฑ้ƒฝ้œ€่ฆๅ…ถ็‰นๅฎš็š„็‰ˆๆœฌโ€”โ€”ไพ‹ๅฆ‚ Windows ้œ€่ฆ PE32+ ArchiSteamFarm.exeไบŒ้€ฒไฝๆช”ๆกˆ๏ผŒ่€Œ Linux ๅ‰‡้œ€่ฆ Unix ELF ArchiSteamFarmไบŒ้€ฒไฝๆช”ๆกˆใ€‚ ๆ‚จๅฏ่ƒฝๅทฒ็ถ“็Ÿฅ้“๏ผŒ้€™ๅ…ฉ็จฎ้กžๅž‹ไน‹้–“ๆ˜ฏๅฎŒๅ…จไธ็›ธๅฎน็š„ใ€‚

ASF็•ถๅ‰ๅฏ็”จๆ–ผไปฅไธ‹ๆ“ไฝœ็ณป็ตฑ ๏ผš

  • linux-arm works on 32-bit ARM-based (ARMv7+) GNU/Linux OSes with glibc 2.23/musl 1.2.2 and newer. This variant covers platforms such as Raspberry Pi 2 (and newer), it will not work with older ARM architectures, such as ARMv6 found in Raspberry Pi 0 & 1, it will also not work with OSes that do not implement required GNU/Linux environment (such as Android).
  • linux-arm64 works on 64-bit ARM-based (ARMv8+) GNU/Linux OSes with glibc 2.23/musl 1.2.2 and newer. This variant covers platforms such as Raspberry Pi 3 (and newer), it will not work with 32-bit OSes that do not have required 64-bit libraries available (such as 32-bit Raspberry Pi OS), it will also not work with OSes that do not implement required GNU/Linux environment (such as Android).
  • linux-x64 works on 64-bit GNU/Linux OSes with glibc 2.23/musl 1.2.2 and newer.
  • osx-arm64 works on 64-bit ARM-based (Apple silicon) macOS OSes in version 12.0 and newer.
  • osx-x64 works on 64-bit macOS OSes in version 12.0 and newer.
  • win-arm64 works on 64-bit ARM-based (ARMv8+) Windows OSes in version 10, 11 and newer.
  • win-x64 works on 64-bit Windows OSes in version 10, 11, Server 2012+ and newer.

Of course, even if you don't have OS-specific package available for your OS-architecture combination, you can always install appropriate .NET runtime yourself and run generic ASF flavour, which is also the main reason why it exists in the first place. Generic ASF build is platform-agnostic and will run on any platform that has a working .NET runtime. This is important to note - ASF requires .NET runtime, not some specific OS or architecture. For example, if you're running 32-bit Windows then despite of no dedicated win-x86 ASF version, you can still install .NET SDK in win-x86 version and run generic ASF just fine. ๆˆ‘ๅ€‘็„กๆณ•็‚บๆ‰€ๆœ‰ๆ“ไฝœ็ณป็ตฑๅ’Œๆžถๆง‹็ต„ๅˆ้ƒฝๆไพ›ไธ€ไปฝๅฏๅŸท่กŒๆกฃๆกˆ๏ผŒ็‚บๆญคๆˆ‘ๅ€‘่ฆๅœจๆŸ่™•ๅŠƒๆธ…็•Œ้™ใ€‚ x86 ๅฐฑๆ˜ฏ้€™ๆข็ทš็š„็ฏ„ไพ‹ไน‹ไธ€๏ผŒๅ› ็‚บๅฎƒ็š„้ซ”็ณป็ตๆง‹่‡ณๅฐ‘่‡ช 2004 ๅนด้–‹ๅง‹ๅฐฑๅทฒ้Žๆ™‚ไบ†ใ€‚

For a complete list of all supported platforms and OSes by .NET 8.0, visit release notes.


้‹่กŒๆ™‚็’ฐๅขƒ้œ€ๆฑ‚

If you're using OS-specific package then you don't need to worry about runtime requirements, because ASF always ships with required and up-to-date runtime that will work properly as long as you have .NET prerequisites installed and up-to-date. In other words, you don't need to install .NET runtime or SDK, as OS-specific builds require only native OS dependencies (prerequisites) and nothing else.

However, if you're trying to run generic ASF package then you must ensure that your .NET runtime supports platform required by ASF.

ASF as a program is targeting .NET 8.0 (net8.0) right now, but it may target newer platform in the future. net8.0 is supported since 8.0.100 SDK (8.0.0 runtime), although ASF might prefer latest runtime at the moment of compilation, so you should ensure that you have latest SDK (or at least runtime) available for your machine. Generic ASF variant may refuse to launch if your runtime is older than the specified minimum supported one during compilation.

ๅฆ‚ๆœ‰็–‘ๅ•๏ผŒๆ‚จๅฏไปฅ่จชๅ•ๆˆ‘ๅ€‘็”จๆ–ผ็ทจ่ญฏไธฆๅœจ GitHub ไธŠ้ƒจ็ฝฒASF็‰ˆๆœฌ็š„ CIใ€‚ You can find dotnet --info output in every build as part of .NET verification step.

Clone this wiki locally