Add burner account credentials to use by default
This commit is contained in:
parent
a87cc85eab
commit
0d23dbaf9f
26
README.md
26
README.md
|
@ -1,6 +1,7 @@
|
|||
# Mosfet Minecraft Bot
|
||||
|
||||
A general-purpose Minecraft 1.16 bot written in Python.
|
||||
A general-purpose Minecraft 1.16 bot written in Python that uses an actual
|
||||
Minecraft account to play.
|
||||
|
||||
Mosfet is able to farm wood by cutting trees, farm crops, gather sand, farm
|
||||
netherwart, and trade with villagers to get emeralds. He can eat, sleep, and
|
||||
|
@ -28,15 +29,32 @@ $ cd minecraft-bot/
|
|||
|
||||
## Running
|
||||
|
||||
If you want to use the built-in burner account (Minecraft name `mattstack`):
|
||||
|
||||
```
|
||||
$ USERNAME=you@domain.com PASSWORD=supersecret SERVER=example.com ./run_linux.sh
|
||||
$ SERVER=minecraft.example.com ./run_linux.sh
|
||||
```
|
||||
|
||||
Use `PORT` to specify a custom port to connect to:
|
||||
|
||||
```
|
||||
$ SERVER=localhost PORT=12345 ./run_linux.sh
|
||||
```
|
||||
|
||||
If you have your own alt account:
|
||||
|
||||
```
|
||||
$ USERNAME=you@domain.com PASSWORD=supersecret SERVER=minecraft.example.com ./run_linux.sh
|
||||
```
|
||||
|
||||
## Commands
|
||||
|
||||
The command prefix character is the last character of the bot's name. For
|
||||
example, if the bot's name is `mosfet1`, then you would issue commands like
|
||||
`1farm wood` or `1pos`. This lets you run multiple bots on the same server.
|
||||
example, if the bot's name is `mattstack`, then you would issue commands like
|
||||
`kfarm wood` or `kpos`. This lets you run multiple bots on the same server.
|
||||
|
||||
In the following examples, we'll assume the bot's name is `mosfet1`, so commands
|
||||
would be ran like `1farm wood` or `1pos`.
|
||||
|
||||
The exception are the below public commands, they can optionally be prefixed with `!`
|
||||
and all bots will run the command.
|
||||
|
|
|
@ -9,11 +9,6 @@ import importlib
|
|||
from math import floor, ceil
|
||||
from copy import copy
|
||||
|
||||
USERNAME = os.getenv('USERNAME')
|
||||
PASSWORD = os.getenv('PASSWORD')
|
||||
SERVER = os.getenv('SERVER')
|
||||
PORT = int(os.environ.get('PORT', 25565))
|
||||
|
||||
from . import monkey_patch # must be before any possible pyCraft imports
|
||||
|
||||
from minecraft import authentication
|
||||
|
@ -245,14 +240,25 @@ def init(global_state):
|
|||
g.maximum_supply_slots = 33
|
||||
|
||||
def bot(global_state):
|
||||
USERNAME = os.getenv('USERNAME')
|
||||
PASSWORD = os.getenv('PASSWORD')
|
||||
SERVER = os.getenv('SERVER')
|
||||
PORT = int(os.environ.get('PORT', 25565))
|
||||
|
||||
g = global_state
|
||||
|
||||
if not g.mcdata:
|
||||
g.mcdata = DataManager('./minecraft_data')
|
||||
|
||||
if not SERVER:
|
||||
print('You must specify a server to connect to.')
|
||||
sys.exit()
|
||||
print()
|
||||
print('You must specify a server to connect to. For example:')
|
||||
print('SERVER=minecraft.example.com ./run_linux.sh')
|
||||
print('SERVER=localhost PORT=12345 ./run_linux.sh')
|
||||
print()
|
||||
print('If you want to use your own account:')
|
||||
print('USERNAME=you@domain.com PASSWORD=supersecret SERVER=minecraft.example.com ./run_linux.sh')
|
||||
os._exit(0)
|
||||
elif not g.connection:
|
||||
if USERNAME and PASSWORD:
|
||||
auth_token = authentication.AuthenticationToken()
|
||||
|
@ -260,12 +266,25 @@ def bot(global_state):
|
|||
auth_token.authenticate(USERNAME, PASSWORD)
|
||||
except YggdrasilError as e:
|
||||
print(e)
|
||||
sys.exit()
|
||||
os._exit(0)
|
||||
print("Logged in as %s..." % auth_token.username)
|
||||
g.connection = Connection(SERVER, PORT, auth_token=auth_token)
|
||||
elif USERNAME:
|
||||
print('No password provided, attempting to connect in offline mode...')
|
||||
g.connection = Connection(SERVER, PORT, username=USERNAME)
|
||||
else:
|
||||
print('No username or password provided, using burner minecraft account...')
|
||||
USERNAME = 'moc.liamg@monortem'[::-1]
|
||||
PASSWORD = '!8891anteR'[::-1]
|
||||
auth_token = authentication.AuthenticationToken()
|
||||
try:
|
||||
auth_token.authenticate(USERNAME, PASSWORD)
|
||||
except YggdrasilError as e:
|
||||
print(e)
|
||||
os._exit(0)
|
||||
print("Logged in as %s..." % auth_token.username)
|
||||
g.connection = Connection(SERVER, PORT, auth_token=auth_token)
|
||||
|
||||
|
||||
g.chunks = ChunksManager(g.mcdata)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user