Unofficial Aternos API written in Python
examples | ||
python_aternos | ||
tests | ||
.gitignore | ||
aternos.txt | ||
aternos_ws.txt | ||
LICENSE | ||
NOTICE | ||
pyproject.toml | ||
README.md | ||
requirements.txt | ||
setup.py | ||
token.txt |
Python Aternos API
An unofficial Aternos API written in Python.
It uses aternos' private API and html parsing.
Installing
pip install python-aternos
Note for Windows users:
Installlxml
package from here if you have a problem with it,
and then executepip install --no-deps python-aternos
Usage
To use Aternos API in your Python script, import it and login with your username and password/MD5.
Then request the servers list using list_servers()
.
You can start/stop your Aternos server now, calling start()
or stop()
.
Here is an example how to use the API:
# Import
from python_aternos import Client
# Log in
aternos = Client.from_credentials('example', 'test123')
# ----OR----
aternos = Client.from_hashed('example', 'cc03e747a6afbbcbf8be7668acfebee5')
# Returns AternosServer list
servs = aternos.list_servers()
# Get the first server by the 0 index
myserv = servs[0]
# Start
myserv.start()
# Stop
myserv.stop()
# You can also find server by IP
testserv = None
for serv in servs:
if serv.address == 'test.aternos.org':
testserv = serv
if testserv != None:
# Prints a server softaware and its version
# (for example, "Vanilla 1.12.2")
print(testserv.software, testserv.version)
# Starts server
testserv.start()
You can find full documentation on the Project Wiki.
More examples
Changelog
Version | Description |
---|---|
v0.1 | The first release. |
v0.2 | Fixed import problem. |
v0.3 | Implemented files API, added typization. |
v0.4 | Implemented configuration API, some bugfixes. |
v0.5 | The API was updated corresponding to new Aternos security methods. Huge thanks to lusm554. |
v0.6 | Code refactoring, unit-tests, websocket API and session saving to prevent detecting automation access. |
v0.7 | Full implementation of config API and Google Drive backups is planned. |
v0.8 | Shared access API and permission management is planned. |
v0.9.x | A long debugging before stable release, SemVer version code. |
License
Copyright 2021 Chechkenev Andrey, lusm554
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
You don't need to attribute me, if you are just using this module installed from PIP or wheel.