This repository has been archived on 2024-07-30. You can view files and clone it, but cannot push or open issues or pull requests.
python-aternos/README.md

103 lines
3.6 KiB
Markdown
Raw Normal View History

2021-09-17 11:21:51 +04:00
# Python Aternos API
An unofficial Aternos API written in Python.
It uses requests, cloudscraper and lxml to parse data from [aternos.org](https://aternos.org/).
2021-11-01 18:04:19 +04:00
> Note for vim: if you have a problem like `IndentationError: unindent does not match any outer indentation level`, try out `retab`.
2021-09-17 11:21:51 +04:00
## Using
First you need to install the module:
```bash
pip install python-aternos
```
To use Aternos API in your Python script, import it and
login with your username and password (or MD5 hash of password).
2021-09-28 15:52:27 +04:00
> Note: Logging in with Google or Facebook account is not supported yet.
2021-09-17 11:21:51 +04:00
2021-11-01 18:04:19 +04:00
Then get the servers list using the `servers` field.
2021-09-17 11:21:51 +04:00
You can start/stop your Aternos server now, calling `start()` or `stop()`.
2021-09-29 18:36:09 +04:00
2022-01-01 12:07:04 +04:00
Here is an example how to use the Aternos API:
2021-09-17 11:21:51 +04:00
```python
# Import
from python_aternos import Client
# Log in
2021-09-29 18:36:09 +04:00
#aternos = Client('USERNAME', password='PASSWORD')
aternos = Client('example', password='test123')
# ----OR----
2022-01-01 12:07:04 +04:00
# password is the 1st parameter,
# so you don't have to specify its name
aternos = Client('example', 'test123')
# ----OR----
2021-09-29 18:36:09 +04:00
#aternos = Client('USERNAME', md5='HASHED_PASSWORD')
aternos = Client('example', md5='cc03e747a6afbbcbf8be7668acfebee5')
2021-09-17 11:21:51 +04:00
2022-01-01 12:07:04 +04:00
# Returns AternosServer list
2021-10-14 18:43:17 +04:00
atservers = aternos.servers
2021-09-29 18:36:09 +04:00
2022-01-01 12:07:04 +04:00
# If you have only one server, get it by the 0 index
2021-09-17 11:21:51 +04:00
myserv = atservers[0]
# Start
myserv.start()
# Stop
myserv.stop()
2021-09-29 18:36:09 +04:00
2021-10-14 18:43:17 +04:00
# You can also find server by IP
2021-09-29 18:36:09 +04:00
testserv = None
for serv in atservers:
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()
2021-09-17 11:21:51 +04:00
```
You can find full documentation on the [Project Wiki](https://github.com/DarkCat09/python-aternos/wiki).
2021-11-01 18:04:19 +04:00
## Changelog
<!--
* 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](https://github.com/lusm554).
* v0.6 - implementation of Google Drive backups API is planned.
* v0.7 - full implementation of config API is planned.
* v0.8 - shared access API and permission management is planned.
* v0.9.x - a long debugging before stable release, SemVer version code.
-->
|Version|Description|
2022-01-01 12:07:04 +04:00
|:-----:|:-----------|
2021-11-01 18:04:19 +04:00
|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](https://github.com/lusm554).|
|v0.6|Preventing detecting automated access is planned.|
|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.|
2021-09-17 11:21:51 +04:00
## License
[License Notice](NOTICE):
```
2021-10-29 15:36:55 +03:00
Copyright 2021 Chechkenev Andrey, lusm554
2021-09-17 11:21:51 +04:00
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.
```
2021-10-04 13:24:36 +04:00
You **don't** need to attribute me, if you are just using this module installed from PIP.