Skip to content

Commit

Permalink
Update blog article
Browse files Browse the repository at this point in the history
  • Loading branch information
naem1023 committed May 29, 2024
1 parent 42555a2 commit 96acf8e
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 67 deletions.
65 changes: 3 additions & 62 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# ⛏️ minecraft-llm-agent-community

- [🤖 Documentation Blog](https://naem1023.github.io/minecraft-llm-agent-community/)
- [Architecture](https://naem1023.github.io/minecraft-llm-agent-community/docs/Architecture-of-Project)
- [Installation Guide](https://naem1023.github.io/minecraft-llm-agent-community/docs/Installation)
- [📚 Analysis of Prior Projects](https://naem1023.github.io/minecraft-llm-agent-community/docs/Analysis-of-Prior-Projects)
- [Simple Analysis of Voyager](https://naem1023.github.io/minecraft-llm-agent-community/docs/Analysis-of-Prior-Projects/voyager)

---

This project aims to observe how agents in the Minecraft world autonomously form groups and create villages. It is still in its early stages, and if valuable insights can be derived, it will be used as a research topic.

This project seeks to expand the research to include how multi-agents form groups, in addition to autonomously learning skills and exploring items, similar to [Voyager](https://github.com/MineDojo/Voyager).
Expand All @@ -22,70 +21,12 @@ The purpose of this project can be changed, and welcome diverse opinions and fee
- [x] Basic Environment Setup using Voyager baseline
- [x] Make single agent using Voyager baseline
- [x] Analysis Voyager baseline and make a detail architecture image and pseudo code
- [ ] Setup an architecture for multi-agent based on Voyager
- [ ] Setup local llm via vllm or text-generation-inference
- [ ] Make simple multi agent

## Installation Guides
### Dependenceis
- Pyhton: v3.9
- Node: v18

### Prepare JDK 21>=
- For example, donwload the installation file from [https://www.oracle.com/java/technologies/downloads/#jdk22-mac](https://www.oracle.com/java/technologies/downloads/#jdk22-mac).

### Download and Run Fabric Minecraft Server Launcher on local
```sh
chmod 751 scripts/*run*.sh

# If a server isn't installed
scripts/download_run_server.sh

# IF a server is already install
scripts/run_server.sh
```
### Set world
- seed: 637184628307790
- coordinate: 63 94 168
Set the x y z position on the server command
```
/setworldspawn 63 94 168
```

server.properties: These settings will automatically set via download_run_server.sh.
```txt
difficulty=peaceful
gamemode=survival
online-mode=false
enable-rcon=true # Only needed if you wish to use RCON features
rcon.password=hunter2
rcon.port=25575
spawn-protection=0 # This is important, otherwise the bot can't do anything near the spawn
```
### Prepare minecraft mods for client
- Check the [fabric mods installation document](installation/fabric_mods_install.md)
### Make python environment
```sh
conda create -n mw python=3.9 -y
conda activate mw
make install
```

### Install mineflayer and additional minecraft interface library
```sh
npm install mineflayer

cd voyager/env/mineflayer
npm install -g npx
npm install
cd mineflayer-collectblock
npm install
npx tsc
cd ..
npm install
```

### Set environment variables
Make `.env` file and set environment variables like `.env.sample`.
Check the [Installation Document](https://naem1023.github.io/minecraft-llm-agent-community/docs/Documents/Installation)

# Test
```sh
Expand Down
26 changes: 26 additions & 0 deletions docs/docs/Documents/Architecture-of-Project.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
sidebar_position: 1
---

# Architecture of Project
This project should handling real-time parallel multi-agent.

## Pseudo code of creating a bot
```javascript
// Load agent settings like how many, how much agents to generaet.
bot_settings = load_bot_initialization_setting()

// Prepare each agent bot
// - Load trained skills for each agent, etc..
// - If bot is exist already, load the bot.
// - If bot isn't exist, create new bot.
bots = prepare_bots(bot_settings)

// Create bot and execute
for each bot in bots do
create_bot(bot)
execute_bot(bot)
end for
```

## Architecture of executing a bot
2 changes: 1 addition & 1 deletion docs/docs/Documents/Fabric-mod-installation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 2
sidebar_position: 3
---
# Fabric Mods Install
In this tutorial, we will install the Fabric launcher and 5 mods. Remember to use the correct Fabric version that matches your game version (1.19) of all the mods.
Expand Down
8 changes: 4 additions & 4 deletions docs/docs/Documents/Installation.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
sidebar_position: 1
sidebar_position: 2
---

# Installation
Expand All @@ -12,7 +12,7 @@ sidebar_position: 1
- For example, donwload the installation file from [https://www.oracle.com/java/technologies/downloads/#jdk22-mac](https://www.oracle.com/java/technologies/downloads/#jdk22-mac).

### Download and Run Fabric Minecraft Server Launcher on local
```sh
```shell
chmod 751 scripts/*run*.sh

# If a server isn't installed
Expand Down Expand Up @@ -42,14 +42,14 @@ spawn-protection=0 # This is important, otherwise the bot can't do anything near
### Prepare minecraft mods for client
- Check the [fabric mods installation document](Fabric-mod-installation.md)
### Make python environment
```sh
```shell
conda create -n mw python=3.9 -y
conda activate mw
make install
```

### Install mineflayer and additional minecraft interface library
```sh
```shell
npm install mineflayer

cd voyager/env/mineflayer
Expand Down

0 comments on commit 96acf8e

Please sign in to comment.