Repository navigation
Compilation ko KR
์ปดํ์ผ์ ์คํ๊ฐ๋ฅํ ํ์ผ์ ๋ง๋๋ ๊ณผ์ ์ ๋๋ค. ๋ง์ฝ ASF์ ์์ ์ด ๋ง๋ ๋ณ๊ฒฝ์ฌํญ์ ์ถ๊ฐํ๊ณ ์ถ๊ฑฐ๋ ๊ณต์ ๋ฆด๋ฆฌ์ค ์์ ์ ๊ณตํ๋ ์คํํ์ผ์ ๋ฌด์จ ์ด์ ์์๊ฑด ์ ๋ขฐํ์ง ์๋ ๊ฒฝ์ฐ ํ๊ฒ ๋ฉ๋๋ค. ๋ง์ฝ ๋น์ ์ด ๊ฐ๋ฐ์๊ฐ ์๋๋ผ ์ฌ์ฉ์๋ผ๋ฉด ๋๋ถ๋ถ ์ด๋ฏธ ์ปดํ์ผ๋ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ธธ ์ํ ๊ฒ๋๋ค. ํ์ง๋ง ์์ ๋ง์ ๋ฐ์ด๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ๊ฑฐ๋ ๋ญ๊ฐ ์๋ก์ด ๊ฒ์ ๋ฐฐ์ฐ๊ณ ์ถ๋ค๋ฉด ๊ณ์ ์ฝ์ผ์๊ธฐ ๋ฐ๋๋๋ค.
ASF๋ ํ์๋ก ํ๋ ๋๊ตฌ๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ๋ง ์๋ค๋ฉด ํ์ฌ ์ง์๋๋ ์ด๋ ํ ํ๋ซํผ์์๋ ์ปดํ์ผ ๋ ์ ์์ต๋๋ค.
ํ๋ซํผ๊ณผ ๊ด๊ณ์์ด, ASF๋ฅผ ์ปดํ์ผํ๋ ค๋ฉด (๋ฐํ์๋ง์ด ์๋๋ผ) ์ ์ฒด .NET SDK๊ฐ ํ์ํฉ๋๋ค. ์ค์น ๋ฐฉ๋ฒ์ .NET ๋ค์ด๋ก๋ ํ์ด์ง ์์ ํ์ธํ ์ ์์ต๋๋ค. ์ฌ์ฉ ์ค์ธ OS์ ๋ง๋ ์ ์ ํ .NET SDK ๋ฒ์ ์ ์ค์นํด์ผ ํฉ๋๋ค. ์ฑ๊ณต์ ์ธ ์ค์น ํ์ dotnet ๋ช
๋ น์ด ์๋ํ๊ณ ์คํ๋์ด์ผ ํฉ๋๋ค. dotnet --info ๋ก ์๋ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ํ ์ค์นํ .NET SDK๊ฐ ASF์ ๋ฐํ์ ์๊ตฌ์ฌํญ ์ ์ถฉ์กฑํ๋์ง ํ์ธํ์ธ์.
.NET SDK๊ฐ ์ ์ ์๋ํ๋ฉฐ ์ ์ ํ ๋ฒ์ ์ด๋ผ๋ฉด, ASF ์์ค ๋๋ ํฐ๋ฆฌ(ํด๋ก ํ๊ฑฐ๋ ๋ค์ด๋ก๋ ํ ์์ถ์ ํผ ASF ์ ์ฅ์)๋ก ์ด๋ํ์ฌ ๋ค์์ ์คํํ๋ฉด ๋ฉ๋๋ค:
dotnet publish ArchiSteamFarm -c "Release" -o "out/generic"Linux/macOS๋ฅผ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด, ๋์ cc.sh ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ ์กฐ๊ธ ๋ ๋ณต์กํ ๋ฐฉ์์ผ๋ก ๋์ผํ ์์
์ ์ํํฉ๋๋ค.
์ปดํ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ๋๋๋ฉด out/generic ๋๋ ํ ๋ฆฌ์ source ํํ์ ASF๊ฐ ์์ต๋๋ค. ์ด๊ฒ์ ๊ณต์ ์ผ๋ฐ ASF ๋น๋๋ ๋์ผํ์ง๋ง, ์์ฒด ๋น๋์ ์ ํฉํ๋๋ก UpdateChannel๊ณผ UpdatePeriod์ด 0 ๊ฐ์ผ๋ก ๋์ด์๋ค๋ ์ ๋ง ๋ค๋ฆ
๋๋ค.
ํน๋ณํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ, OS๋ณ(OS-specific) .NET ํจํค์ง๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก๋ ์ด๋ ๊ฒ ํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ฏธ generic ๋ฒ์ ์ ์ปดํ์ผํ๊ณ , ์ด๋ ์ ์ด์ ์ปดํ์ผ์ ์ฌ์ฉํ๋ ๊ธฐ์กด ์ค์น๋ .NET ๋ฐํ์์ผ๋ก ์คํํ ์ ์๊ธฐ ๋๋ฌธ์
๋๋ค. ํ์ง๋ง ํน์ ํ์ํ์ ๊ฒฝ์ฐ๋ฅผ ์ํด ์๋ด๋๋ฆฌ๋ฉด:
dotnet publish ArchiSteamFarm -c "Release" -o "out/linux-x64" -r "linux-x64" --self-contained๋ฌผ๋ก ๋์์ผ๋ก ํ๋ OS ์ํคํ
์ณ์ ๋ฐ๋ผ linux-x64๋ฅผ win-x64 ๋ฑ์ผ๋ก ๋ณ๊ฒฝํ์ญ์์ค. ์ด ๋น๋๋ ์
๋ฐ์ดํธ๊ฐ ๋นํ์ฑํ๋ฉ๋๋ค. --self-contained์ผ๋ก ๋น๋ํ ๋๋ ์ ํ์ ์ผ๋ก ๋ ๊ฐ์ง ์ค์์น๋ฅผ ์ถ๊ฐ๋ก ์ง์ ํ ์ ์์ต๋๋ค: -p:PublishTrimmed=true๋ trim๋ ๋น๋๋ฅผ ์์ฑํ๊ณ , -p:PublishSingleFile=true๋ ๋จ์ผ ํ์ผ์ ์์ฑํฉ๋๋ค. ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ถ๊ฐํ๋ฉด ์ ํฌ๊ฐ ์์ฒด ๋น๋์ ์ฌ์ฉํ๋ ์ค์ ๊ณผ ๋์ผํด์ง๋๋ค.
์ ๋จ๊ณ๋ค๋ง์ผ๋ก๋ ์์ ํ ์๋ํ๋ ASF ๋น๋๋ฅผ ๋ง๋๋ ๋ฐ ์ถฉ๋ถํ์ง๋ง, ์ ํฌ์ ๊ทธ๋ํฝ ์น ์ธํฐํ์ด์ค์ธ ASF-ui ๋น๋์๋ ์ถ๊ฐ๋ก ๊ด์ฌ์ด ์์ผ์ค ์ ์์ต๋๋ค. ASF ์ธก์์๋ ASF-ui ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ค ์์น์ธ ASF-ui/dist์ ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋๋ฉฐ, ๊ทธ ๋ค์(ํ์ํ ๊ฒฝ์ฐ) ๊ทธ๊ฒ๊ณผ ํจ๊ป ASF๋ฅผ ๋น๋ํ๋ฉด ๋ฉ๋๋ค.
ASF-ui๋ git submodule ํํ๋ก ASF์ ์์ค ํธ๋ฆฌ์ ํฌํจ๋์ด ์์ผ๋ฏ๋ก, git clone --recursive๋ก ์ ์ฅ์๋ฅผ ํด๋ก ํ๋์ง ํ์ธํ์ธ์. ๊ทธ๋ ์ง ์์ผ๋ฉด ํ์ํ ํ์ผ์ด ์์ ์ ์์ต๋๋ค. ์ ์ ์๋ํ๋ NPM๋ ํ์ํ๋ฉฐ, Node.js ๋ฅผ ์ค์นํ๋ฉด ํจ๊ป ์ ๊ณต๋ฉ๋๋ค. Linux/macOS๋ฅผ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด, ์ ํฌ์ cc.sh ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์๊ธธ ๊ถ์ฅํฉ๋๋ค. ๋ฐฉ๊ธ ์ธ๊ธํ ์๊ตฌ์ฌํญ์ ์ถฉ์กฑํ๋ ๊ฒฝ์ฐ, ์ด ์คํฌ๋ฆฝํธ๊ฐ ASF-ui์ ๋น๋ ๋ฐ ๋ฐฐํฌ ๊ณผ์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํด์ค๋๋ค.
cc.sh ์คํฌ๋ฆฝํธ ์ธ์๋, ์๋์ ๊ฐ๋ตํ๋ ๋น๋ ์๋ด๋ฅผ ํจ๊ป ์ฒจ๋ถํฉ๋๋ค. ์ถ๊ฐ ๋ฌธ์๋ ASF-ui ์ ์ฅ์ ๋ฅผ ์ฐธ๊ณ ํ์ธ์. ์์ ๋ง์ฐฌ๊ฐ์ง๋ก, ASF ์์ค ํธ๋ฆฌ ์์น์์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์คํํ์ธ์:
rm -rf "ASF-ui/dist" # ASF-ui doesn't clean itself after old build
npm ci --prefix ASF-ui
npm run-script deploy --prefix ASF-ui
rm -rf "out/generic/www" # Ensure that our build output is clean of the old files
dotnet publish ArchiSteamFarm -c "Release" -o "out/generic" # Or accordingly to what you need as per the above์ด์ out/generic/www ํด๋์์ ASF-ui ํ์ผ์ ์ฐพ์ ์ ์์ ๊ฒ์
๋๋ค. ASF๋ ์ด ํ์ผ๋ค์ ๋ธ๋ผ์ฐ์ ์ ์ ๊ณตํ ์ ์๊ฒ ๋ฉ๋๋ค.
๋๋, ์๋์ผ๋ก ํน์ ์ ํฌ ์ ์ฅ์์ ๋์์ ๋ฐ์ ASF-ui๋ฅผ ๋น๋ํ ๋ค์, ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ${OUT}/www ํด๋์ ์ง์ ๋ณต์ฌํ ์๋ ์์ต๋๋ค. ์ฌ๊ธฐ์ ${OUT}์ -o ๋งค๊ฐ๋ณ์๋ก ์ง์ ํ ASF์ ์ถ๋ ฅ ํด๋์
๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ASF๊ฐ ๋น๋ ๊ณผ์ ์์ ์ํํ๋ ์์
์
๋๋ค. ASF-ui/dist๊ฐ ์กด์ฌํ๋ฉด ์ด๋ฅผ ${OUT}/www๋ก ๋ณต์ฌํ ๋ฟ์ด๋ฉฐ, ํน๋ณํ ๊ฒ์ ์๊ณ , ๋ณด์๋ค์ํผ ํ์ํ๋ค๋ฉด ๋น๋ ์ดํ์๋ ์ํํ ์ ์์ต๋๋ค.
ASF ์ฝ๋๋ฅผ ํธ์งํ๊ณ ์ถ๋ค๋ฉด .NET๊ณผ ํธํ๋๋ IDE๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ์ด๋ง์ ๋ ํ์๋ ์๋๋๋ค. ๋ฉ๋ชจ์ฅ์ผ๋ก ํธ์งํ ๋ค ์์์ ์ค๋ช
ํ dotnet ๋ช
๋ น์ด๋ก ์ปดํ์ผํ๋ ๊ฒ๋ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ ๋์ ์ ํ์ง๊ฐ ์๋ค๋ฉด JetBrains Rider ์ Visual Studio Code ๋ฅผ ์ถ์ฒ๋๋ฆฝ๋๋ค. ์ ์๋ ASF ํ์ด ๊ฐ์ธ์ ์ผ๋ก ์ฌ์ฉํ๋ ์ ํธ IDE์ด๋ฉฐ, ํ์๋ ์ค์ฉ์ ์ธ ๋์์ ๋๋ค. ๋ ํ๋ก๊ทธ๋จ ๋ชจ๋ ํฌ๋ก์ค ํ๋ซํผ์ด๋ฉฐ Linux, macOS, Windows์์ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
main ๋ธ๋์น๋ ์ ํฌ ๋ฆด๋ฆฌ์ค ์ฃผ๊ธฐ ์์ ์ธ๊ธํ๋ฏ ๊ฐ๋ฐ ๋ธ๋์น์ด๊ธฐ ๋๋ฌธ์, ์ ์ด์ ์ฑ๊ณต์ ์ธ ์ปดํ์ผ์ด๋ ์๋ฒฝํ ASF ์คํ์ด ๊ฐ๋ฅํ ์ํ๋ผ๊ณ ๋ณด์ฅ๋์ง ์์ต๋๋ค. ASF๋ฅผ ์์ค์์ ์ปดํ์ผํ๊ฑฐ๋ ์ฐธ์กฐํ๋ ค๋ฉด ๋ชฉ์ ์ ๋ง๋ ์ ์ ํ ํ๊ทธ ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์ด๋ ์ต์ํ ์ฑ๊ณต์ ์ธ ์ปดํ์ผ์ ๋ณด์ฅํ๊ณ , ์์ ๋ฆด๋ฆฌ์ค๋ก ํ์๋ ๋น๋๋ ๊ฑฐ์ ํ ์๋ ์คํ๋ ๊ฐ๋ฅํฉ๋๋ค. ํธ๋ฆฌ์ ํ์ฌ "์ํ(health)"๋ฅผ ํ์ธํ๋ ค๋ฉด, ์ ํฌ CI์ธ GitHub ๋ฅผ ํ์ฉํ์ค ์ ์์ต๋๋ค.
๊ณต์ ASF ๋ฆด๋ฆฌ์ค๋ ASF ๋ฐํ์ ์๊ตฌ์ฌํญ ์ ๋ง๋ ์ต์ .NET SDK๋ฅผ ์ฌ์ฉํ์ฌ GitHub ์์ ์ปดํ์ผ๋ฉ๋๋ค. ํ ์คํธ๋ฅผ ํต๊ณผํ๋ฉด, ๋ชจ๋ ํจํค์ง๋ GitHub์์๋ ๋ฆด๋ฆฌ์ค๋ก ๋ฐฐํฌ๋ฉ๋๋ค. ์ด๋ ํฌ๋ช ์ฑ๋ ๋ณด์ฅํ๋๋ฐ, GitHub๋ ๋ชจ๋ ๋น๋์ ํญ์ ๊ณต์ ๊ณต๊ฐ ์์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ด๋ฉฐ, GitHub ์ํฐํฉํธ์ ์ฒดํฌ์ฌ์ GitHub ๋ฆด๋ฆฌ์ค ์์ฐ๊ณผ ๋น๊ตํด๋ณผ ์๋ ์์ต๋๋ค. ASF ๊ฐ๋ฐ์๋ ๊ฐ์ธ ๊ฐ๋ฐ๊ณผ์ ๊ณผ ๋๋ฒ๊น ์ ์ ์ธํ๊ณ ๋ ์ค์ค๋ก ์ปดํ์ผํ๊ฑฐ๋ ๋น๋๋ฅผ ๊ฒ์ํ์ง ์์ต๋๋ค.
์ ์ฌํญ์ ๋ํด, ASF ๊ด๋ฆฌ์๋ค์ ์ถ๊ฐ์ ์ธ ๋ณด์ ์กฐ์น๋ก์ GitHub์๋ ๋ ๋ฆฝ๋ ์๊ฒฉ ASF ์๋ฒ์์ ๋น๋ ์ฒดํฌ์ฌ์ ์๋์ผ๋ก ๊ฒ์ฆํ๊ณ ๊ฒ์ํฉ๋๋ค. ์ด ๋จ๊ณ๋ ๊ธฐ์กด ASF๊ฐ ์๋ ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ์ ์ ํจํ ํ๋ณด๋ก ํด๋น ๋ฆด๋ฆฌ์ค๋ฅผ ์ธ์ํ๊ธฐ ์ํด ๋ฐ๋์ ํ์ํฉ๋๋ค.
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
|---|---|---|---|
- ๐ก ํ
- ๐ฌ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- โ๏ธ ์์ํ๊ธฐ (์ฌ๊ธฐ์๋ถํฐ)
- ๐ฅ ๋ฐฑ๊ทธ๋ผ์ด๋ ๊ฒ์ ๋ฑ๋ก๊ธฐ
- ๐ข ๋ช ๋ น์ด
- ๐ ๏ธํธํ์ฑ
- ๐ง ํ๊ฒฝ์ค์
- ๐ด ItemsMatcherPlugin
- ๐ ๊ด๋ฆฌ
- โฑ๏ธ ์ฑ๋ฅ
- ๐ก ์๊ฒฉ ํต์
- ๐ช Steam ๊ฐ์กฑ ๊ณต์
- ๐ ๊ฑฐ๋
- โจ๏ธ ๋ช ๋ น์ค ์ธ์
- ๐ง ์ฌ์ฉ ์ค๋จ
- ๐ณ Docker
- ๐ค ํ์ฅ๋ ์์ฃผ ๋ฌป๋ ์ง๋ฌธ
- ๐ ๊ณ ์ฑ๋ฅ ์ค์
- ๐ IPC
- ๐ ํ์งํ
- ๐ ๋ก๊น
- ๐พ ์ ์ฌ์ ๋ฉ๋ชจ๋ฆฌ ํ๊ฒฝ ์ค์
- ๐ต๐ผโโ๏ธ MonitoringPlugin
- ๐ ํ๋ฌ๊ทธ์ธ
- ๐ ๋ณด์
- โฌ๏ธ SteamTokenDumperPlugin
- ๐ฆ ์๋ ํํฐ
- ๐ต 2๋จ๊ณ ์ธ์ฆ







