콘텐츠로 건너뛰기
라이엇 비트

라이엇 비트

  • 집
  • 소식
  • 가이드
  • 비디오 가이드
  • 패치 노트
  • 남용 신고
  • 검색 양식 전환
비트버너

비트버너 – Nuke 사용 가능한 서버 자동화

에 게시됨 01/20/2022 에 의해 Koutoftimer 코멘트 없음 ~에 비트버너 – Nuke 사용 가능한 서버 자동화
  • 제목: 비트버너
  • 출시일:
  • 개발자:
  • 발행자:
Bitburner에 대한 정보는 아직 불완전합니다.. 이것을 사용하여 게임의 세부 정보를 입력할 수 있도록 도와주세요. 문의 양식.

여기에서 유용한 것을 찾고있는 사람들을 위해. 게임에서 맹목적으로 복사/붙여 넣지 않기를 바랍니다. 그러나 코드 구조화를위한 몇 가지 새로운 아이디어를 찾을 수 있기를 바랍니다..

또한 개선을위한 여러 방을 볼 수 있습니다:

  • 새로운 노드를 감시하고 당신을 위해 그들을 nuke 할 감독자 프로세스를 작성하십시오., 따라서`run nuke-all-supervisor.js`와 같은 것을 실행해야합니다..
  • 개선을위한 또 다른 공간은 백도어를 설치하는 것입니다. 그래도 게임에서 약간의 발전이 필요합니다., 필요한 API를 잠금 해제하려면.

용법

Nuke-All.js를 실행하십시오

해킹 수준을 충족 해야하는 모든 서버를 핵무기. 외모만큼 간단합니다. 더 이상주의가 필요하지 않습니다. 브랜딩 이미지에는 증강 설치 후 첫 단계가 포함됩니다..

메모리 소비

아래에서 볼 수 있듯이, memory consumption for this script is below 8G, which means you can use it at early game. I only now have recognized that the getPurchasedServers function takes half of RAM and it doesn’t really require it, so you can improve memory consumption for your needs.

[home ~/]> mem nuke-all.js 
This script requires 4.75GB of RAM to run for 1 실(에스)
  2.25GB | getPurchasedServers (fn)
  1.60GB | baseCost (misc)
200.00MB | 주사 (fn)
100.00MB | getServerRequiredHackingLevel (fn)
100.00MB | getServerNumPortsRequired (fn)
100.00MB | fileExists (fn)
 50.00MB | hasRootAccess (fn)
 50.00MB | getHackingLevel (fn)
 50.00MB | nuke (fn)
 50.00MB | brutessh (fn)
 50.00MB | ftpcrack (fn)
 50.00MB | relaysmtp (fn)
 50.00MB | httpworm (fn)
 50.00MB | sqlinject (fn)

Scripts

nuke-all.js – Executable script uses library functions to clarify and simplify behavior.

수입 { acquireRootAccess, buildNetwork, networkToServerList } from 'utils'

/** @param {NS} ns **/
비동기 함수 메인 내보내기(ns) {
	const network = buildNetwork(ns)
	const networkList = networkToServerList(network)
	const notNuked = networkList.filter((server) => !ns.hasRootAccess(server))
	~을 위한 (const host of notNuked) {
		acquireRootAccess(ns, host)
	}

	ns.toast(`${ns.getScriptName()} done`)
}

utils.js – 유틸리티/라이브러리 기능 세트

/**
 * 지정된 서버에서 포트를 엽니 다.
 * 
 * @param {NS} ns
 * @보고 {정렬.<(server: 끈): 무효의>} 
 */
내보내기 기능 getAvailableMethods(ns) {
	const 방법 = []
	~을 위한 (Const [방법, 파일] ~의 [
	 	[Ns.Brutessh, 'brutessh.exe'],
		[ns.ftpcrack, 'ftpcrack.exe'],
		[ns.relaysmtp, 'Relaysmtp.exe'],
		[ns.httpworm, 'httpworm.exe'],
		[ns.sqlinject, 'sqlinject.exe']
	]) {
		만약에 (ns.FileExists(파일)) {
			방법 .push(방법)
		}
	}
	반환 방법
}

/**
 * 대상 서버에 대한 루트 액세스를 획득하십시오.
 * 
 * @param {NS} ns
 * @param {끈} 루트에 액세스 할 대상 서버 이름.
 * @보고 {부울} 성공했는지 여부는 시도하지 않았습니다.
 */
내보내기 기능 획득(ns, 목표) {
	만약에 (!ns.hasRootAccess(목표)) {
		만약에 (ns.gethackinglevel() < ns.getServerRequiredHackinglevel(목표)) {
			ns.print(`오류: 해킹 수준이 충분하지 않습니다 ${목표}`)
			거짓을 반환하십시오
		}
		const methods = getavailablemethods(ns);
		만약에 (방법. 길이 < ns.getServernumportsRequired(목표)) {
			ns.print(`오류: 충분한 파괴 방법 ${목표}`)
			거짓을 반환하십시오
		}
		~을 위한 (const 방법의 방법) {
			방법(목표)
		}
		ns.wull(목표)
	}
	진실을 반환하십시오
}

/**
 * 네트워크의 간단한 지시 그래프 표현, 그것은 구성됩니다
 * 이름과 자식 노드 목록입니다.
 * 
 * @typedef {{이름: 끈, 어린이들: 네트워크 노드[]}} 네트워크 노드
 */

/**
 * DFS를 사용하여 지시 된 그래프 형태로 네트워크 표현을 반환합니다..
 * 가장 일반적인 경우는 당신이 할 수있는 네트워크 노드에 신경 쓰지 않는다는 것입니다. 
 * 지금 핵심이 아닙니다. 그렇기 때문에이 함수는 노드 만 반환합니다 
 * 해킹 수준을 충족 시켰습니다.
 * 
 * @param {NS} ns
 * @param {끈} 우리와 협력하는 네트워크 노드/서버의 이름 이름.
 * @param {끈[]} 이미 처리 한 노드 목록.
 * @보고 {네트워크 노드} 지시 된 그래프
 */
내보내기 기능 빌드 네트워크(ns, 이름 = '홈', 중고 = []) {
	중고(이름)
	const node = { 이름: 이름, 어린이들: [] }
	const serverList = ns.getPurchassedServers()
	~을 위한 (Ns.Scan의 Const Child(node.name)) {
		만약에 (ns.getServerRequiredHackinglevel(어린이) <= ns.gethackinglevel() && 
		    !중고(어린이) && !ServerList.includes(어린이)
		) {
			node.children.push(buildNetwork(ns, 어린이, 사용된))
		}
	}
	반환 노드
}

/**
 * 그래프 형태로 네트워크와 함께 작동하는 것은 엄격하게 필요하지 않습니다.. 
 * 때때로 우리는 어떤 노드가 있는지 알아야합니다.. 이것이 무엇입니다 
 * 이 기능은: 지시 사항에서 데이터 구조 형식을 변환합니다 
 * 네트워크 노드의 일반 목록에 그래프.
 * 
 * @param {네트워크 노드} 마디
 * @보고 {끈[]} 네트워크의 모든 서버 목록.
 */
내보내기 기능 NetworkToserverList(마디) {
	const list = [node.name]
	만약에 (Node.children.length) {
		~을 위한 (Node의 Const Child .Children) {
			list.push(...networkToServerList(어린이))
		}
	}
	반환 목록
}

이것이 오늘 우리가 공유하는 모든 것입니다. 비트버너 가이드. 이 가이드는 원래 작성자가 작성하고 작성했습니다. Koutoftimer. 이 가이드를 업데이트하지 못한 경우, 다음을 수행하여 최신 업데이트를 찾을 수 있습니다. 링크.

이 사이트의 콘텐츠가 귀하의 권리를 침해한다고 생각하는 경우, 귀하의 지적 재산권을 포함하여, 문의 양식을 사용하여 즉시 문의하십시오..
가이드 태그:비트버너

탐색 후

이전 게시물: 야습 참가자 – 일반 정보 및 비밀실 가이드
다음 게시물: 미로 같은 – 수준 5 지도 + 수집품 위치 안내서

답장을 남겨주세요 답장 취소

귀하의 이메일 주소는 공개되지 않습니다. 필수 입력란이 표시되어 있습니다 *

  • 제목: 비트버너
  • 출시일:
  • 개발자:
  • 발행자:
Bitburner에 대한 정보는 아직 불완전합니다.. 이것을 사용하여 게임의 세부 정보를 입력할 수 있도록 도와주세요. 문의 양식.

부인 성명

인용된 모든 콘텐츠는 해당 소스에서 파생됩니다.. 귀하의 콘텐츠를 허가 없이 사용했다고 생각되는 경우, 우리에게 연락하면 진지하게 받아 들일 것입니다..
  • 회사 소개
  • 문의하기
  • 개인 정보 정책
  • 서비스 약관

저작권 © 2025 라이엇 비트.

에 의해 구동 프레스북 뉴스 WordPress 테마