스팀 트레이딩 카드 농사 프로그램 ArchiSteamFarm (ASF) 소개

 

목차

(링크를 클릭하면 해당 항목으로 이동합니다.)

 

1. 개요

asf.png

 

2017-03-01 현재 최신 버전: v2.2.2.4

 

현재 국내에서 많이 쓰이는 것으로 판단되는 카드 농사 프로그램인 IdleMaster는 스팀 장터 정책 변경으로 인하여 개발자가 개발 중지 선언을 하였습니다. 따라서 보안 이슈가 발생하거나 스팀 내부 동작이 변경될 경우 IdleMaster는 사용할 수 없을지도 모릅니다.

반면, ASF는 계속 업데이트가 되고 있습니다. (이 글을 쓰는 시점에서 불과 6시간 전에 소스 코드가 업데이트됨)


이 글에서는 다른 카드 농사 프로그램인 ArchiSteamFarm (이하 ASF)를 소개하려고 합니다.
후술하겠지만 환경 설정 파일에 아이디와 비밀번호를 직접 입력하고 직접 화면을 볼 수 있는 것이 아니므로, 불안하게 여길 수 있는 분이 계실지도 모르겠습니다. 프로그램을 이용할지는 여러분들의 선택이며, 꺼림칙하시다면 이런 프로그램도 있다 하고 넘어가시면 되겠습니다.


ASF는 IdleMaster와는 달리 GUI를 지원하지 않습니다. 모든 것을 CUI로 표시합니다. (단, 환경 설정 파일을 간단하게 관리할 수 있는 프로그램은 지원합니다.)
ASF를 사용하면 얻을 수 있는 장점은 다음과 같습니다.

2017-01-31: ASF가 한국어를 지원하기 시작했습니다.

 

2. 설치 방법

이 프로그램은 .NET Framework 4.6 이상을 필요로 합니다. 이 링크에서 다운로드 받을 수 있습니다. ASF 실행 시 오류가 나는 경우 설치 상태를 확인하시기 바랍니다. Windows 10 사용자는 기본적으로 설치되어 있습니다.

링크에서 최신 버전의 ASF를 다운로드 받습니다. (ASF.zip) 다운로드 받은 후 임의의 폴더에 압축을 풉니다.
 

├── config (폴더)
│   ├── ASF.json (글로벌 설정 파일)
│   ├── example.json (봇 설정 파일 예시)
│   └── minimal.json (최소한의 봇 설정 파일 예시)
├── ASF.exe (메인 실행 파일)
└── ASF-ConfigGenerator.exe (ASF의 환경 설정 파일을 관리하는 GUI 프로그램)

 

3. 간단 설정

나는 잘 모르겠고, 빨리 농사부터 짓고 싶다 하시면 이 단락만 참조하시면 됩니다. 자세한 설명은 4번 단락부터 설명되어 있습니다.

 

첨부된 ASF-ConfigGenerator.exe 파일을 실행합니다.

처음 실행했다면 한국어로 된 튜토리얼 메시지가 표시될 것입니다.

 

아래는 튜토리얼에 대한 설명입니다.

[이미지 첨부에 오류가 발생해서 텍스트로 대체합니다.]

  1. 상단의 + 버튼을 누른 후 봇 이름을 입력합니다.
  2. 코어의 Enabled 항목을 누르면 오른쪽에 드롭다운 메뉴가 표시되는데 False를 True로 바꿉니다.
  3. SteamLogin 값에 스팀 아이디를, SteamPassword 항목에 스팀 비밀번호를 입력합니다.

모든 설정은 자동적으로 저장되므로 바로 창을 닫으셔도 됩니다.

 

ASF.exe 파일을 실행하면 농사가 진행됩니다. 최초 실행시 스팀 가드 코드 입력을 요구하는 메시지가 나올 수 있으며, 최초 입력시에만 묻고 이후 실행시에는 묻지 않습니다.

 

4-1. 글로벌 설정 (ASF.json)

ASF는 환경 설정 파일로 JSON 파일 포맷을 사용합니다. 간단히 메모장으로 수정하거나 별도의 텍스트 수정 전문 프로그램을 사용할 수도 있습니다. 또는 압축 파일 내 동봉된 ASF-ConfigGenerator.exe 파일을 사용하여 GUI 환경으로도 수정할 수도 있습니다.
환경 설정 파일은 전체 환경을 관리하는 ASF.json 파일과 개별 봇(계정의 단위라고 생각하면 편할 것 같습니다.)들의 설정 파일로 구성됩니다. ASF.json 파일은 글로벌 설정에 관계되므로 이름을 바꾸거나 삭제하면 안 됩니다.

 

아래 그림은 ASF-ConfigGenerator.exe 파일을 실행하여 설정 파일을 관리하는 모습입니다. 각종 값들을 GUI 환경에서 수정할 수 있습니다.

 

gui_global.jpg

{
  "Debug": false,
  "Headless": false,
  "AutoUpdates": true,
  "AutoRestart": true,
  "UpdateChannel": 1,
  "SteamProtocol": 6,
  "SteamOwnerID": 0,
  "MaxFarmingTime": 10,
  "IdleFarmingPeriod": 3,
  "FarmingDelay": 15,
  "LoginLimiterDelay": 10,
  "InventoryLimiterDelay": 3,
  "GiftsLimiterDelay": 1,
  "ForceHttp": false,
  "HttpTimeout": 60,
  "WCFHostname": "localhost",
  "WCFPort": 1242,
  "LogToFile": true,
  "Statistics": true,
  "HackIgnoreMachineID": false,
  "Blacklist": [
    267420,
    303700,
    335590,
    368020,
    425280,
    480730
  ]
}

아래 내용 중 설명이 없는 속성은 글이 너무 길어지는 것도 있고, 농사에 크게 영향을 주는 것도 아니므로 기본값으로 하는 것을 권장합니다. 원문 설명은 이 링크 (영어)에서 볼 수 있습니다.

 

 

4-2. 봇 설정

위의 설명은 글로벌 설정을 다뤘다면, 이번에는 봇(계정의 단위) 설정입니다. 농사를 짓고 싶은 계정의 수만큼 따로 파일을 만들어서 관리하면 되며 (1.json, 아이디.json 등) 최소 1개 이상의 봇이 있어야 농사를 진행할 수 있습니다.

example.json, minimal.json 파일은 예시 파일로서 어떠한 설정 값 변화를 주어도 봇으로 인식하지(파일을 읽지) 않습니다. 이 경우 No bots are running, exiting 등의 오류가 발생합니다.

 

{

  "Enabled": false,
  "SteamLogin": null,
  "SteamPassword": null
}

위의 내용은 minimal.json 파일의 내용으로 봇 실행에 최소한의 정보를 담고 있는 파일입니다. 간단하게는 이 파일을 열어 Enabled 속성을 true, 아이디와 비밀번호를 입력(문자열이므로 따옴표로 감싸야 합니다)하고 원하는 파일로 이름을 변경하면 됩니다.

{
  "Enabled": true,
  "SteamLogin": "pablo32",
  "SteamPassword": "pass123"
}

봇 설정이 완료되었다면, ASF.exe 파일을 실행하면 카드 획득을 위한 농사가 진행됩니다. 최초 실행 시 스팀 가드 코드 입력을 요구하는 창이 나올 수 있으며, 해당 코드를 화면에 입력하면 config 폴더 내의 *.db, *.bin 파일이 생성되면서 인증 정보가 저장됩니다. 이후 실행시에는 바로 농사가 진행되게 됩니다.

 


 

나는 좀 더 자세한 설정을 하고 싶다 하면 아래를 참조하시기 바랍니다. 아래는 example.json 파일의 내용입니다. 마찬가지로 중요한 몇 가지만 설명하겠습니다. 자세한 내용은 Wiki (영어)를 참조하시기 바랍니다.

 

gui_bot.jpg

 

{

  "Enabled": false,
  "StartOnLaunch": true,
  "SteamLogin": null,
  "SteamPassword": null,
  "PasswordFormat": 0,
  "SteamParentalPIN": "0",
  "SteamApiKey": null,
  "SteamMasterID": 0,
  "SteamMasterClanID": 0,
  "CardDropsRestricted": false,
  "DismissInventoryNotifications": true,
  "FarmOffline": false,
  "HandleOfflineMessages": false,
  "AcceptGifts": false,
  "IsBotAccount": false,
  "SteamTradeMatcher": false,
  "ForwardKeysToOtherBots": false,
  "DistributeKeys": false,
  "ShutdownOnFarmingFinished": false,
  "SendOnFarmingFinished": false,
  "SteamTradeToken": null,
  "SendTradePeriod": 0,
  "AcceptConfirmationsPeriod": 0,
  "CustomGamePlayedWhileIdle": null,
  "GamesPlayedWhileIdle": [
    0
  ]
}

 

5. 봇 명령어

ASF는 프로세스와 봇의 동작을 제어하는데 사용될 수 있는 다양한 명령어를 지원합니다. 채팅 메시지 등을 통해서 CD-KEY를 등록하거나, 부 계정에서 획득한 카드를 본 계정으로 이동하거나, 농사를 중지/재개 하는 등의 기능이 있습니다. 자세한 설명은 Wiki를 참조하시기 바랍니다.

 

6. FAQ

더 많은 정보를 얻고 싶으시다면 Wiki를 참조하시기 바랍니다. 아래는 간단한 정보만 서술하겠습니다.

Q: ASF는 IdleMaster보다 빠른가요?
A: 네. 간단히 예를 들면, IdleMaster는 카드 획득 여부를 15분마다 확인하며, 획득 가능한 카드가 1장이 남았다면 5분마다 확인합니다. 그러나 ASF는 다른 방식(거의 실시간)으로 동작합니다. (설명이 다소 복잡하니 Wiki를 참조하시기 바랍니다.)

Q: ASF는 동시에 여러 개의 게임을 돌릴 수 있나요?
A: 네. 또한 ASF는 기본적으로 여러 계정을 지원할 수 있도록 만들어졌기 때문에 여러 개의 계정을 동시에 돌릴 수도 있습니다!

Q: 이 프로그램을 사용하면 VAC ban에 걸릴 수 있나요?
A: 아니요. ASF는 IdleMaster 또는 SAM과 달리 스팀 클라이언트와 어떤 방법으로도 간섭하지 않는 프로세스이며, 그것은 불가능합니다. (실제로 스팀 클라이언트를 켜지 않고도 농사를 할 수 있습니다.)

Q: 이 프로그램은 안전한가요?
A: ASF는 개인 정보를 도용하는 바이러스와 같은 다른 것들을 설치하지 않으며, 이는 컴퓨터에 손실을 주지 않게 되는 것을 의미합니다. 코드는 오픈 소스이며, 이 코드는 항상 공개된 소스에서 컴파일 됩니다. 이를 신뢰하지 않는다면 직접 소스 코드를 내려 받아 직접 컴파일할 수 있습니다.

 

Q: 트레이딩 카드 획득이 되지 않아요!

A: 카드 획득이 되지 않는 경우, 다음의 경우를 생각해 볼 수 있습니다.

  1. 환불 이력으로 인하여 트레이딩 카드가 2시간 이상부터 드롭되는 경우 - 2시간 이상부터 카드가 드롭되기 시작합니다.
  2. 제한된 계정(5달러 이상을 사용하지 않은 계정)인 경우 - 레벨이 0이면 거의 100% 이 경우라고 보시면 됩니다. 제한된 계정인 경우 자신의 배지 페이지에 You cannot level up because your account is limited. Please visit Steam Support for details. 와 같은 메시지가 표시됩니다.) 스팀에 5달러 이상을 충전하거나 구매할 경우 이 제한이 해제됩니다.

Q: IdleMaster 처럼 농사를 지으면서 게임 실행이 가능한가요?

A: 아니요. 불가능합니다. 클라이언트에 간섭하지는 않아도 현재 실행중인 게임은 스팀 서버와 연동되고, ASF 자체가 하나의 클라이언트를 실행한 상태이기 때문에 스팀 클라이언트에서 게임 실행이 되지 않습니다.

 

Q: WCF 서버를 이용하여 봇 명령어를 사용하는 방법을 알려주세요.

A: 명령 프롬포트 또는 바로가기를 이용해서 ASF.exe --server 명령어를 관리자 권한으로 실행합니다. 그럼 WCF(Windows Communication Foundation) 서버가 실행됩니다.
서버가 실행중인 상태에서 그 창을 끄지 마시고 다른 명령 프롬포트를 열어서 (클라이언트는 관리자 권한이 필요 없습니다) ASF.exe --client "원하는 명령어" 를 입력하면 봇 명령어들을 사용할 수 있습니다. (WCF 서버를 이용할때 봇 명령어는 앞에 !가 붙지 않습니다.)

봇이 하나인 경우의 스팀 키 등록의 예: ASF.exe --client "redeem A1B2C-3D4E5-F6G7H"

봇이 여러 개인 경우의 스팀 키 등록의 예: ASF.exe --client "redeem pablo32 A1B2C-3D4E5-F6G7H"
pablo32는 예시로, ASF 창에 표시되는 봇 이름 (대소문자 구분)을 입력하면 됩니다.

 

이와 같은 설정이 어려우신 분을 위해 간단한 배치파일을 제작했습니다. ASF 와 같은 위치에 아래의 배치파일을 넣으신 후 서버를 켤 때는 ASF --server (관리자).cmd 파일을 사용하시고 메시지를 전송하실 때 ASF --client.cmd 파일을 사용하시기 바랍니다.

 

ASF --server (관리자).cmd

ASF --client.cmd

 

(... 계속 추가 예정)

 

7. 문제 해결 및 주의 사항

ASF 창이 선택 상태가 되지 않도록 주의 하시기 바랍니다. (선택 상태가 되면 ASF 창의 제목이 선택 ArchiSteamFarm 으로 바뀜) 화면이 갱신되지 않을 뿐더러 농사가 끝났는데도 다음 게임으로 넘어가지 않는 경우가 생길 수 있습니다.

참조 이미지: https://www.google.co.kr/search?q=command+line+select+text&tbm=isch

 

Windows Defender를 사용하시는 분 중에 ASF.exe 파일을 트로이 목마(진단명: Win32/Fethar.B!cl)로 진단하는 경우가 있습니다. 이는 오진이며, 바이러스 토탈을 통해 샘플 분석 결과를 확인할 수 있습니다. 이를 신뢰하지 않는다면 프로그램을 사용하지 않는 것이 좋습니다. 또한, 자동 업데이트를 끄려면 ASF.json 파일에서 AutoUpdates 값을 false로 바꾸시고 GitHub에서 이전 버전을 사용하는 것도 방법이 될 수 있습니다. (Wiki의 FAQ 항목 중 ASF is being detected by my AV as Trojan: Win32/Fethar.B!cl! 를 참조하시기 바랍니다.)

v2.1.1.7 분석 결과: https://www.virustotal.com/ko/file/d40cc117c485046990e9e5c4640b62571abb5c4a4b82125f2b31f43fa5499e6c/analysis/
v2.1.0.7 분석 결과: https://www.virustotal.com/ko/file/12888e2a1c69efb661ea67437cdbfc227a63740434883b9110bcc14017ab9c43/analysis/

v2.1.1.8 버전에서 리팩 모듈(ILRepack -> LibZ)을 변경하여 더 이상 Windows Defender에서 트로이목마로 인식하지 않습니다.

 

8. 관련 링크

 

9. 업데이트 내역

2017-03-01: 간단 설정을 ASF-ConfigGenerator.exe 파일을 이용한 설명으로 변경

2016-09-18: ASF를 WCF 서버 모드로 이용할 수 있는 배치파일 추가

2016-07-02: 비밀번호 암호화 방법 (PasswordFormat) 추가, .NET Framework 요구 조건 수정, FAQ 추가

2016-06-05: 봇 설정에 example.json, minimal.json 파일을 기본적으로 무시한다는 설명 추가

 


 

최대한 간추려서 썼는데도 스크롤이 상당히 길어졌네요. 이 글을 읽어주신 분들께 감사드리며, 궁금한 사항이나 틀린 내용이 있다면 이 글에 댓글로 남겨주시기 바랍니다. 이 프로그램을 사용하는 다른 분들의 궁금증도 같이 해결될 수 있기 때문입니다. 제가 아는 한도 내에서 최대한 답변해 드리겠습니다.

글쓴이 님의 최신글
  1. 2016-11-17 00:18 이야기 > 도전 과제 10,000개 달성했습니다. *15
  2. 2016-05-18 18:24 이야기 > 트레이딩 카드 농사 프로그램 ArchiSteamFarm (ASF) 소개 *125
  3. 2015-09-21 00:00 출석부 > 좋은 하루♡
  4. 2015-09-20 00:44 출석부 > 사랑해요 ITCM♡
  5. 2015-09-19 04:16 출석부 > 좋은 하루♡

Who's HwangTi

profile
Prev SG 10렙이 되었어요 (오글 주의보) SG 10렙이 되었어요 (오글 주의보) 2017.04.30by 논현동토토로 ITCM 떠나기 전 인사드립니다. Next ITCM 떠나기 전 인사드립니다. 2020.06.30by RuTel

Articles

1 2 3 4 5 6 7 8 9 10
-->