MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
< div align = "center" >
< img src = "https://i.ibb.co/3RXcXJ1/aternos-400.png" alt = "Python Aternos Logo" >
< h1 >
Python Aternos
< div >
< a href = "https://pypi.org/project/python-aternos/" >
< img src = "https://img.shields.io/pypi/v/python-aternos" >
< / a >
< a href = "https://www.apache.org/licenses/LICENSE-2.0.html" >
< img src = "https://img.shields.io/pypi/l/python-aternos" >
< / a >
< a href = "https://github.com/DarkCat09/python-aternos/commits" >
< img src = "https://img.shields.io/github/last-commit/DarkCat09/python-aternos" >
< / a >
< a href = "https://github.com/DarkCat09/python-aternos/issues" >
< img src = "https://img.shields.io/github/issues/DarkCat09/python-aternos" >
< / a >
< / div >
< / h1 >
< / div >
2021-09-17 11:21:51 +04:00
An unofficial Aternos API written in Python.
2022-04-01 17:00:02 +04:00
It uses [aternos ](https://aternos.org/ )' private API and html parsing.
2021-09-17 11:21:51 +04:00
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
Python Aternos supports:
- Logging in to account with password (plain or hashed) or `ATERNOS_SESSION` cookie value.
- Saving session to the file and restoring.
- Changing username, email and password.
- Parsing Minecraft servers list.
- Parsing server info by its ID.
- Starting/stoping server, restarting, confirming/cancelling launch.
- Updating server info in real-time (view WebSocket API).
- Changing server subdomain and MOTD (message-of-the-day).
- Managing files, settings, players (whitelist, operators, etc.)
> **Warning**
>
> According to the Aternos' [Terms of Service §5.2e](https://aternos.gmbh/en/aternos/terms#:~:text=Automatically%20accessing%20our%20website%20or%20automating%20actions%20on%20our%20website.),
> you must not use any software or APIs for automated access,
> beacuse they don't receive money from advertisting in this case.
>
> I always try to hide automated python-aternos requests
> using browser-specific headers/cookies,
> but you should make backups to restore your world
2022-08-29 13:57:45 +04:00
> if Aternos detects violation of ToS and bans your account
> (view issues [#16](https://github.com/DarkCat09/python-aternos/issues/16)
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
> and [#46](https://github.com/DarkCat09/python-aternos/issues/46)).
## Install
### Common
2021-09-17 11:21:51 +04:00
```bash
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
$ pip install python-aternos
```
> **Note** for Windows users
>
> Install `lxml` package from [here](https://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml)
2022-08-29 13:57:45 +04:00
> if you have problems with it, and then execute:
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
> `pip install --no-deps python-aternos`
### Development
```bash
$ git clone https://github.com/DarkCat09/python-aternos.git
$ cd python-aternos
$ pip install -e .
2021-09-17 11:21:51 +04:00
```
2022-04-01 17:00:02 +04:00
## Usage
To use Aternos API in your Python script, import it
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
and login with your username and password or MD5.
2021-09-17 11:21:51 +04:00
2022-04-01 17:00:02 +04:00
Then request the servers list using `list_servers()` .
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
You can start/stop your Aternos server, calling `start()` or `stop()` .
2021-09-29 18:36:09 +04:00
2022-04-01 17:00:02 +04:00
Here is an example how to use the API:
2021-09-17 11:21:51 +04:00
```python
# Import
from python_aternos import Client
# Log in
2022-04-01 17:00:02 +04:00
aternos = Client.from_credentials('example', 'test123')
2021-09-29 18:36:09 +04:00
# ----OR----
2022-04-01 17:00:02 +04:00
aternos = Client.from_hashed('example', 'cc03e747a6afbbcbf8be7668acfebee5')
2022-05-13 18:05:23 +04:00
# ----OR----
aternos = Client.restore_session()
2021-09-17 11:21:51 +04:00
2022-01-01 12:07:04 +04:00
# Returns AternosServer list
2022-04-01 17:00:02 +04:00
servs = aternos.list_servers()
2021-09-29 18:36:09 +04:00
2022-04-01 17:00:02 +04:00
# Get the first server by the 0 index
myserv = servs[0]
2021-09-17 11:21:51 +04:00
# 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
2022-04-01 17:00:02 +04:00
for serv in servs:
2021-09-29 18:36:09 +04:00
if serv.address == 'test.aternos.org':
testserv = serv
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
if testserv is not None:
2021-09-29 18:36:09 +04:00
# 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
```
2022-04-01 17:00:02 +04:00
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
## [More examples](https://github.com/DarkCat09/python-aternos/tree/main/examples)
2022-08-29 13:57:45 +04:00
## [Documentation](https://python-aternos.codeberg.page/)
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
2022-08-29 13:57:45 +04:00
## [How-To Guide](https://python-aternos.codeberg.page/howto/auth)
2021-09-17 11:21:51 +04:00
2021-11-01 18:04:19 +04:00
## Changelog
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
|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 ).|
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
|**v0.6/v1.0.0**|Code refactoring, websockets API and session saving to prevent detecting automation access.|
2022-05-13 18:05:23 +04:00
|v1.0.x|Lots of bugfixes, changed versioning (SemVer).|
2022-07-26 10:22:49 +04:00
|v1.1.x|Documentation, unit tests, pylint, bugfixes, changes in atwss.|
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
|**v1.1.2/v2.0.0**|Solution for [#25 ](https://github.com/DarkCat09/python-aternos/issues/25 ) (Cloudflare bypassing), bugfixes in JS parser.|
|v2.0.x|Documentation, automatically saving/restoring session, improvements in Files API.|
|v2.1.x|Fixes in the implementation of websockets API.|
|**v2.2.x**|Using Node.js as a JS interpreter if it's installed.|
|v3.0.x|Full implementation of config and software API.|
|v3.1.x|Shared access API and Google Drive backups.|
2021-11-01 18:04:19 +04:00
2021-09-17 11:21:51 +04:00
## License
2022-08-29 13:57:45 +04:00
[License Notice: ](https://github.com/DarkCat09/python-aternos/blob/main/NOTICE )
2021-09-17 11:21:51 +04:00
```
MkDocs, Readme, Files API, Automated session saving, v2.0.1
MkDocs: sphinx docstrings rewritten to google, improved config, written the major part of how-to.
Readme: centered title + logo, added badges, features list, updated changelog.
Improved Files API, added automatical session saving and restoring to Client.
Some changes in makefile and gitignore.
License Notice now refers to all contributors.
2022-08-26 16:14:07 +04:00
Copyright 2021-2022 All contributors
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.
```