commit
3b020d9f23
@ -0,0 +1,25 @@ |
||||
## install |
||||
|
||||
host this on a free gcp / oracle cloud instance |
||||
|
||||
```shell |
||||
$ git clone https://code.juke.fr/kay/aternos-antishutdown-bot.git |
||||
|
||||
$ cd aternos-antishutdown-bot |
||||
|
||||
$ npm i |
||||
|
||||
$ cp .env.example .env # and setup the host at least |
||||
|
||||
$ sudo ln -s $(realpath antishutdown.service) /etc/systemd/system |
||||
# make sure to edit the service file and set user, workingdir and execstart |
||||
|
||||
$ sudo systemctl enable antishutdown |
||||
|
||||
$ sudo systemctl start antishutdown |
||||
``` |
||||
|
||||
## features |
||||
|
||||
- it moves |
||||
- it reconnects |
@ -0,0 +1,6 @@ |
||||
SERVER_HOST=mc.example.com |
||||
SERVER_PORT=25565 |
||||
BOT_USERNAME=antishutdown |
||||
BOT_RECONNECT_WAIT=5000 |
||||
BOT_MOVE_INTERVAL=2 |
||||
BOT_MOVE_MAX_RANDOM=5 |
@ -0,0 +1,3 @@ |
||||
node_modules |
||||
launcher_profiles.json |
||||
.env |
@ -0,0 +1,8 @@ |
||||
--- |
||||
include: |
||||
- project: "kay/ci-templates" |
||||
file: |
||||
- "/Semantic-Release.gitlab-ci.yml" |
||||
|
||||
stages: |
||||
- review |
@ -0,0 +1,21 @@ |
||||
# [1.2.0](https://code.eutychia.org/kay/aternos-antishutdown-bot/compare/v1.1.0...v1.2.0) (2022-06-26) |
||||
|
||||
|
||||
### Features |
||||
|
||||
* Update readme ([07a61c5](https://code.eutychia.org/kay/aternos-antishutdown-bot/commit/07a61c5dd639e0bf9ed2c3b7d20e8776299bc478)) |
||||
|
||||
# [1.1.0](https://code.eutychia.org/kay/aternos-antishutdown-bot/compare/v1.0.0...v1.1.0) (2022-06-26) |
||||
|
||||
|
||||
### Features |
||||
|
||||
* Update readme ([db124d4](https://code.eutychia.org/kay/aternos-antishutdown-bot/commit/db124d4b1a1a7a6d4732b4fc6316c3db65cb7aa7)) |
||||
|
||||
# 1.0.0 (2022-06-26) |
||||
|
||||
|
||||
### Features |
||||
|
||||
* Add semantic release ([50c6e17](https://code.eutychia.org/kay/aternos-antishutdown-bot/commit/50c6e17451c34c76fc62824e74c2d38f31b5d3a4)) |
||||
* Format code ([c26fa47](https://code.eutychia.org/kay/aternos-antishutdown-bot/commit/c26fa473f2b0907dc5125b2183ff353290aa1cbc)) |
@ -0,0 +1,459 @@ |
||||
Attribution-NonCommercial-ShareAlike 4.0 International AntiFascistEdit |
||||
|
||||
======================================================================= |
||||
|
||||
Creative Commons Corporation ("Creative Commons") is not a law firm and |
||||
does not provide legal services or legal advice. Distribution of |
||||
Creative Commons public licenses does not create a lawyer-client or |
||||
other relationship. Creative Commons makes its licenses and related |
||||
information available on an "as-is" basis. Creative Commons gives no |
||||
warranties regarding its licenses, any material licensed under their |
||||
terms and conditions, or any related information. Creative Commons |
||||
disclaims all liability for damages resulting from their use to the |
||||
fullest extent possible. |
||||
|
||||
Using Creative Commons Public Licenses |
||||
|
||||
Creative Commons public licenses provide a standard set of terms and |
||||
conditions that creators and other rights holders may use to share |
||||
original works of authorship and other material subject to copyright |
||||
and certain other rights specified in the public license below. The |
||||
following considerations are for informational purposes only, are not |
||||
exhaustive, and do not form part of our licenses. |
||||
|
||||
Considerations for licensors: Our public licenses are |
||||
intended for use by those authorized to give the public |
||||
permission to use material in ways otherwise restricted by |
||||
copyright and certain other rights. Our licenses are |
||||
irrevocable. Licensors should read and understand the terms |
||||
and conditions of the license they choose before applying it. |
||||
Licensors should also secure all rights necessary before |
||||
applying our licenses so that the public can reuse the |
||||
material as expected. Licensors should clearly mark any |
||||
material not subject to the license. This includes other CC- |
||||
licensed material, or material used under an exception or |
||||
limitation to copyright. More considerations for licensors: |
||||
wiki.creativecommons.org/Considerations_for_licensors |
||||
|
||||
Considerations for the public: By using one of our public |
||||
licenses, a licensor grants the public permission to use the |
||||
licensed material under specified terms and conditions. If |
||||
the licensor's permission is not necessary for any reason--for |
||||
example, because of any applicable exception or limitation to |
||||
copyright--then that use is not regulated by the license. Our |
||||
licenses grant only permissions under copyright and certain |
||||
other rights that a licensor has authority to grant. Use of |
||||
the licensed material may still be restricted for other |
||||
reasons, including because others have copyright or other |
||||
rights in the material. A licensor may make special requests, |
||||
such as asking that all changes be marked or described. |
||||
Although not required by our licenses, you are encouraged to |
||||
respect those requests where reasonable. More considerations |
||||
for the public: |
||||
wiki.creativecommons.org/Considerations_for_licensees |
||||
|
||||
======================================================================= |
||||
|
||||
Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International |
||||
Public License |
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree |
||||
to be bound by the terms and conditions of this Creative Commons |
||||
Attribution-NonCommercial-ShareAlike 4.0 International Public License |
||||
("Public License"). To the extent this Public License may be |
||||
interpreted as a contract, You are granted the Licensed Rights in |
||||
consideration of Your acceptance of these terms and conditions, and the |
||||
Licensor grants You such rights in consideration of benefits the |
||||
Licensor receives from making the Licensed Material available under |
||||
these terms and conditions. |
||||
|
||||
|
||||
Section 1 -- Definitions. |
||||
|
||||
a. Adapted Material means material subject to Copyright and Similar |
||||
Rights that is derived from or based upon the Licensed Material |
||||
and in which the Licensed Material is translated, altered, |
||||
arranged, transformed, or otherwise modified in a manner requiring |
||||
permission under the Copyright and Similar Rights held by the |
||||
Licensor. For purposes of this Public License, where the Licensed |
||||
Material is a musical work, performance, or sound recording, |
||||
Adapted Material is always produced where the Licensed Material is |
||||
synched in timed relation with a moving image. |
||||
|
||||
b. Adapter's License means the license You apply to Your Copyright |
||||
and Similar Rights in Your contributions to Adapted Material in |
||||
accordance with the terms and conditions of this Public License. |
||||
|
||||
c. BY-NC-SA Compatible License means a license listed at |
||||
creativecommons.org/compatiblelicenses, approved by Creative |
||||
Commons as essentially the equivalent of this Public License. |
||||
|
||||
d. Copyright and Similar Rights means copyright and/or similar rights |
||||
closely related to copyright including, without limitation, |
||||
performance, broadcast, sound recording, and Sui Generis Database |
||||
Rights, without regard to how the rights are labeled or |
||||
categorized. For purposes of this Public License, the rights |
||||
specified in Section 2(b)(1)-(2) are not Copyright and Similar |
||||
Rights. |
||||
|
||||
e. Effective Technological Measures means those measures that, in the |
||||
absence of proper authority, may not be circumvented under laws |
||||
fulfilling obligations under Article 11 of the WIPO Copyright |
||||
Treaty adopted on December 20, 1996, and/or similar international |
||||
agreements. |
||||
|
||||
f. Exceptions and Limitations means fair use, fair dealing, and/or |
||||
any other exception or limitation to Copyright and Similar Rights |
||||
that applies to Your use of the Licensed Material. |
||||
|
||||
g. License Elements means the license attributes listed in the name |
||||
of a Creative Commons Public License. The License Elements of this |
||||
Public License are Attribution, NonCommercial, and ShareAlike. |
||||
|
||||
h. Licensed Material means the artistic or literary work, database, |
||||
or other material to which the Licensor applied this Public |
||||
License. |
||||
|
||||
i. Licensed Rights means the rights granted to You subject to the |
||||
terms and conditions of this Public License, which are limited to |
||||
all Copyright and Similar Rights that apply to Your use of the |
||||
Licensed Material and that the Licensor has authority to license. |
||||
|
||||
j. Licensor means the individual(s) or entity(ies) granting rights |
||||
under this Public License. |
||||
|
||||
k. NonCommercial means not primarily intended for or directed towards |
||||
commercial advantage or monetary compensation. For purposes of |
||||
this Public License, the exchange of the Licensed Material for |
||||
other material subject to Copyright and Similar Rights by digital |
||||
file-sharing or similar means is NonCommercial provided there is |
||||
no payment of monetary compensation in connection with the |
||||
exchange. |
||||
|
||||
l. Share means to provide material to the public by any means or |
||||
process that requires permission under the Licensed Rights, such |
||||
as reproduction, public display, public performance, distribution, |
||||
dissemination, communication, or importation, and to make material |
||||
available to the public including in ways that members of the |
||||
public may access the material from a place and at a time |
||||
individually chosen by them. |
||||
|
||||
m. Sui Generis Database Rights means rights other than copyright |
||||
resulting from Directive 96/9/EC of the European Parliament and of |
||||
the Council of 11 March 1996 on the legal protection of databases, |
||||
as amended and/or succeeded, as well as other essentially |
||||
equivalent rights anywhere in the world. |
||||
|
||||
n. You means the individual or entity exercising the Licensed Rights |
||||
under this Public License. Your has a corresponding meaning. |
||||
|
||||
|
||||
Section 2 -- Scope. |
||||
|
||||
a. License grant. |
||||
|
||||
1. Subject to the terms and conditions of this Public License, |
||||
the Licensor hereby grants You a worldwide, royalty-free, |
||||
non-sublicensable, non-exclusive, irrevocable license to |
||||
exercise the Licensed Rights in the Licensed Material to: |
||||
|
||||
a. reproduce and Share the Licensed Material, in whole or |
||||
in part, for NonCommercial purposes only; and |
||||
|
||||
b. produce, reproduce, and Share Adapted Material for |
||||
NonCommercial purposes only. |
||||
|
||||
2. Exceptions and Limitations. For the avoidance of doubt, where |
||||
Exceptions and Limitations apply to Your use, this Public |
||||
License does not apply, and You do not need to comply with |
||||
its terms and conditions. |
||||
|
||||
3. Term. The term of this Public License is specified in Section |
||||
6(a). |
||||
|
||||
4. Media and formats; technical modifications allowed. The |
||||
Licensor authorizes You to exercise the Licensed Rights in |
||||
all media and formats whether now known or hereafter created, |
||||
and to make technical modifications necessary to do so. The |
||||
Licensor waives and/or agrees not to assert any right or |
||||
authority to forbid You from making technical modifications |
||||
necessary to exercise the Licensed Rights, including |
||||
technical modifications necessary to circumvent Effective |
||||
Technological Measures. For purposes of this Public License, |
||||
simply making modifications authorized by this Section 2(a) |
||||
(4) never produces Adapted Material. |
||||
|
||||
5. Downstream recipients. |
||||
|
||||
a. Offer from the Licensor -- Licensed Material. Every |
||||
recipient of the Licensed Material automatically |
||||
receives an offer from the Licensor to exercise the |
||||
Licensed Rights under the terms and conditions of this |
||||
Public License. |
||||
|
||||
b. Additional offer from the Licensor -- Adapted Material. |
||||
Every recipient of Adapted Material from You |
||||
automatically receives an offer from the Licensor to |
||||
exercise the Licensed Rights in the Adapted Material |
||||
under the conditions of the Adapter's License You apply. |
||||
|
||||
c. No downstream restrictions. You may not offer or impose |
||||
any additional or different terms or conditions on, or |
||||
apply any Effective Technological Measures to, the |
||||
Licensed Material if doing so restricts exercise of the |
||||
Licensed Rights by any recipient of the Licensed |
||||
Material. |
||||
|
||||
6. No endorsement. Nothing in this Public License constitutes or |
||||
may be construed as permission to assert or imply that You |
||||
are, or that Your use of the Licensed Material is, connected |
||||
with, or sponsored, endorsed, or granted official status by, |
||||
the Licensor or others designated to receive attribution as |
||||
provided in Section 3(a)(1)(A)(i). |
||||
|
||||
b. Other rights. |
||||
|
||||
1. Moral rights, such as the right of integrity, are not |
||||
licensed under this Public License, nor are publicity, |
||||
privacy, and/or other similar personality rights; however, to |
||||
the extent possible, the Licensor waives and/or agrees not to |
||||
assert any such rights held by the Licensor to the limited |
||||
extent necessary to allow You to exercise the Licensed |
||||
Rights, but not otherwise. |
||||
|
||||
2. Patent and trademark rights are not licensed under this |
||||
Public License. |
||||
|
||||
3. To the extent possible, the Licensor waives any right to |
||||
collect royalties from You for the exercise of the Licensed |
||||
Rights, whether directly or through a collecting society |
||||
under any voluntary or waivable statutory or compulsory |
||||
licensing scheme. In all other cases the Licensor expressly |
||||
reserves any right to collect such royalties, including when |
||||
the Licensed Material is used other than for NonCommercial |
||||
purposes. |
||||
|
||||
|
||||
Section 3 -- License Conditions. |
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the |
||||
following conditions. |
||||
|
||||
a. Attribution. |
||||
|
||||
1. If You Share the Licensed Material (including in modified |
||||
form), You must: |
||||
|
||||
a. retain the following if it is supplied by the Licensor |
||||
with the Licensed Material: |
||||
|
||||
i. identification of the creator(s) of the Licensed |
||||
Material and any others designated to receive |
||||
attribution, in any reasonable manner requested by |
||||
the Licensor (including by pseudonym if |
||||
designated); |
||||
|
||||
ii. a copyright notice; |
||||
|
||||
iii. a notice that refers to this Public License; |
||||
|
||||
iv. a notice that refers to the disclaimer of |
||||
warranties; |
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the |
||||
extent reasonably practicable; |
||||
|
||||
b. indicate if You modified the Licensed Material and |
||||
retain an indication of any previous modifications; and |
||||
|
||||
c. indicate the Licensed Material is licensed under this |
||||
Public License, and include the text of, or the URI or |
||||
hyperlink to, this Public License. |
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any |
||||
reasonable manner based on the medium, means, and context in |
||||
which You Share the Licensed Material. For example, it may be |
||||
reasonable to satisfy the conditions by providing a URI or |
||||
hyperlink to a resource that includes the required |
||||
information. |
||||
3. If requested by the Licensor, You must remove any of the |
||||
information required by Section 3(a)(1)(A) to the extent |
||||
reasonably practicable. |
||||
|
||||
b. ShareAlike. |
||||
|
||||
In addition to the conditions in Section 3(a), if You Share |
||||
Adapted Material You produce, the following conditions also apply. |
||||
|
||||
1. The Adapter's License You apply must be a Creative Commons |
||||
license with the same License Elements, this version or |
||||
later, or a BY-NC-SA Compatible License. |
||||
|
||||
2. You must include the text of, or the URI or hyperlink to, the |
||||
Adapter's License You apply. You may satisfy this condition |
||||
in any reasonable manner based on the medium, means, and |
||||
context in which You Share Adapted Material. |
||||
|
||||
3. You may not offer or impose any additional or different terms |
||||
or conditions on, or apply any Effective Technological |
||||
Measures to, Adapted Material that restrict exercise of the |
||||
rights granted under the Adapter's License You apply. |
||||
|
||||
|
||||
Section 4 -- Sui Generis Database Rights. |
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that |
||||
apply to Your use of the Licensed Material: |
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right |
||||
to extract, reuse, reproduce, and Share all or a substantial |
||||
portion of the contents of the database for NonCommercial purposes |
||||
only; |
||||
|
||||
b. if You include all or a substantial portion of the database |
||||
contents in a database in which You have Sui Generis Database |
||||
Rights, then the database in which You have Sui Generis Database |
||||
Rights (but not its individual contents) is Adapted Material, |
||||
including for purposes of Section 3(b); and |
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share |
||||
all or a substantial portion of the contents of the database. |
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not |
||||
replace Your obligations under this Public License where the Licensed |
||||
Rights include other Copyright and Similar Rights. |
||||
|
||||
|
||||
Section 5 -- Disclaimer of Warranties and Limitation of Liability. |
||||
|
||||
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE |
||||
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS |
||||
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF |
||||
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, |
||||
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, |
||||
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR |
||||
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, |
||||
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT |
||||
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT |
||||
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. |
||||
|
||||
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE |
||||
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, |
||||
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, |
||||
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, |
||||
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR |
||||
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN |
||||
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR |
||||
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR |
||||
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. |
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided |
||||
above shall be interpreted in a manner that, to the extent |
||||
possible, most closely approximates an absolute disclaimer and |
||||
waiver of all liability. |
||||
|
||||
|
||||
Section 6 -- Term and Termination. |
||||
|
||||
a. This Public License applies for the term of the Copyright and |
||||
Similar Rights licensed here. However, if You fail to comply with |
||||
this Public License, then Your rights under this Public License |
||||
terminate automatically. |
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under |
||||
Section 6(a), it reinstates: |
||||
|
||||
1. automatically as of the date the violation is cured, provided |
||||
it is cured within 30 days of Your discovery of the |
||||
violation; or |
||||
|
||||
2. upon express reinstatement by the Licensor. |
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any |
||||
right the Licensor may have to seek remedies for Your violations |
||||
of this Public License. |
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the |
||||
Licensed Material under separate terms or conditions or stop |
||||
distributing the Licensed Material at any time; however, doing so |
||||
will not terminate this Public License. |
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public |
||||
License. |
||||
|
||||
|
||||
Section 7 -- Other Terms and Conditions. |
||||
|
||||
a. The Licensor shall not be bound by any additional or different |
||||
terms or conditions communicated by You unless expressly agreed. |
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the |
||||
Licensed Material not stated herein are separate from and |
||||
independent of the terms and conditions of this Public License. |
||||
|
||||
c. The License does not apply and no license is granted for |
||||
taking action on behalf of a Nation or State or Government, |
||||
be it military, law enforcement, agent, spy, hacker, developer, |
||||
this list is not exhaustive. |
||||
|
||||
d. The License does not apply and no license is granted to actors |
||||
taking action to oppress, harm, injure, kill, whether |
||||
physically or psycholocially. |
||||
|
||||
e. The License does not apply and no license is granted to actors |
||||
acting on behalf of any party previously found guilty of committing |
||||
war crimes at any point in time. |
||||
|
||||
f. The License does not apply and no license is granted to actors |
||||
acting on behalf of any party previously found not respecting the |
||||
Universal Declaration of Human Rights at any point in time. |
||||
|
||||
g. The License does not apply and no license is granted to actors |
||||
acting with the intent of surveilling a population or the intent of |
||||
gathering information on spefific or non-specific populations and/or |
||||
target demographics. |
||||
|
||||
|
||||
Section 8 -- Interpretation. |
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and |
||||
shall not be interpreted to, reduce, limit, restrict, or impose |
||||
conditions on any use of the Licensed Material that could lawfully |
||||
be made without permission under this Public License. |
||||
|
||||
b. To the extent possible, if any provision of this Public License is |
||||
deemed unenforceable, it shall be automatically reformed to the |
||||
minimum extent necessary to make it enforceable. If the provision |
||||
cannot be reformed, it shall be severed from this Public License |
||||
without affecting the enforceability of the remaining terms and |
||||
conditions. |
||||
|
||||
c. No term or condition of this Public License will be waived and no |
||||
failure to comply consented to unless expressly agreed to by the |
||||
Licensor. |
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted |
||||
as a limitation upon, or waiver of, any privileges and immunities |
||||
that apply to the Licensor or You, including from the legal |
||||
processes of any jurisdiction or authority. |
||||
|
||||
======================================================================= |
||||
|
||||
Creative Commons is not a party to its public |
||||
licenses. Notwithstanding, Creative Commons may elect to apply one of |
||||
its public licenses to material it publishes and in those instances |
||||
will be considered the “Licensor.” The text of the Creative Commons |
||||
public licenses is dedicated to the public domain under the CC0 Public |
||||
Domain Dedication. Except for the limited purpose of indicating that |
||||
material is shared under a Creative Commons public license or as |
||||
otherwise permitted by the Creative Commons policies published at |
||||
creativecommons.org/policies, Creative Commons does not authorize the |
||||
use of the trademark "Creative Commons" or any other trademark or logo |
||||
of Creative Commons without its prior written consent including, |
||||
without limitation, in connection with any unauthorized modifications |
||||
to any of its public licenses or any other arrangements, |
||||
understandings, or agreements concerning use of licensed material. For |
||||
the avoidance of doubt, this paragraph does not form part of the |
||||
public licenses. |
||||
|
||||
Creative Commons may be contacted at creativecommons.org. |
@ -0,0 +1,83 @@ |
||||
# [aternos-antishutdown-bot](https://code.juke.fr/kay/aternos-antishutdown-bot) |
||||
another aternos antishutdown bot, hopefully more reliable |
||||
|
||||
## install |
||||
|
||||
host this on a free gcp / oracle cloud instance |
||||
|
||||
```shell |
||||
$ git clone https://code.juke.fr/kay/aternos-antishutdown-bot.git |
||||
|
||||
$ cd aternos-antishutdown-bot |
||||
|
||||
$ npm i |
||||
|
||||
$ cp .env.example .env # and setup the host at least |
||||
|
||||
$ sudo ln -s $(realpath antishutdown.service) /etc/systemd/system |
||||
# make sure to edit the service file and set user, workingdir and execstart |
||||
|
||||
$ sudo systemctl enable antishutdown |
||||
|
||||
$ sudo systemctl start antishutdown |
||||
``` |
||||
|
||||
## features |
||||
|
||||
- it moves |
||||
- it reconnects |
||||
|
||||
|
||||
## License |
||||
|
||||
Most all of my work is now licensed under **a modified** [CC-BY-NC-SA 4.0 AFEdit](https://code.juke.fr/kay/license/raw/branch/main/LICENSE) plus accounting for states existing in our world on top of capitalism. |
||||
|
||||
This is a weird choice for code right? |
||||
|
||||
Here are a few key reasons: |
||||
- my definition of "open" involves being able to share and modify, you are able to do such things, just not make money off of it, or oppress people |
||||
- my definition of "free" involves being able to share and modify, you are able to do such things, not just make money off of it, or oppressing people |
||||
|
||||
So no, amongst other things, this list is not exhaustive, |
||||
- you cannot have somebody work on my tool and redistribute it to your employees |
||||
- you cannot resell copies of this because in this age distribution is not done with floppy disks and the internet is a thing |
||||
- you cannot use it to generate revenue yourself |
||||
- you cannot use it to "generate value" in a capitalistic sense |
||||
- you cannot use it in any military capacity |
||||
- you cannot use it in any law enforcement capacity |
||||
- you cannot use it in any state backed capacity |
||||
- you cannot use it in any surveillance capacity |
||||
- you cannot use it if you represent the interests of a state |
||||
- you cannot use it to oppress, spy, control in any capacity |
||||
- you cannot use it to injure, harm, kill, whether physically or psychologically |
||||
|
||||
You can, however, |
||||
- change it to do whatever you please |
||||
- share it to anyone you please with attribution and under the same license |
||||
- use it as much as you please |
||||
- and probably a bunch of other cool things that are possible outside of a capitalistic, imperialistic frame of reference that permeates the tech scene |
||||
|
||||
Most of the "arguments" for how "free" and "open" source licenses are done still to this day stem from archaic concepts that might not even be relevant these days and I fail to see the issue with this license not being "interoperable" with a bunch of what I deem to be "bad" licenses, as they all allow for commercial usage. |
||||
|
||||
I also will not make any attempts to monetize these works and will at most ever offer the possibility to donate to me directly if you enjoy what I do. |
||||
|
||||
Thank you that is all. |
||||
|
||||
## Development |
||||
|
||||
To clone the repository locally: |
||||
|
||||
```bash |
||||
$ git clone https://code.juke.fr/kay/aternos-antishutdown-bot.git |
||||
``` |
||||
|
||||
## Contributing |
||||
|
||||
More to come later. |
||||
|
||||
### Issues |
||||
Open new issues by mailing [eutychia.gitlab+aternos-antishutdown-bot-issue@gmail.com](mailto:eutychia.gitlab+aternos-antishutdown-bot-issue@gmail.com) |
||||
|
||||
--- |
||||
beep boop |
||||
|
@ -0,0 +1,102 @@ |
||||
require("dotenv").config(); |
||||
const mineflayer = require("mineflayer"); |
||||
|
||||
let lasttime = -1; |
||||
let moving = 0; |
||||
let connected = 0; |
||||
|
||||
const actions = ["forward", "back", "left", "right"]; |
||||
let lastaction; |
||||
|
||||
const TIMEOUT = Number(process.env.BOT_RECONNNECT_WAIT) || 5000; // 30000 if authed
|
||||
const moveinterval = Number(process.env.BOT_MOVE_INTERVAL) || 2; |
||||
const maxrandom = Number(process.env.BOT_MOVE_MAX_RANDOM) || 5; // 0-5 seconds added to movement interval (randomly)
|
||||
const options = { |
||||
host: process.env.SERVER_HOST, |
||||
port: Number(process.env.SERVER_PORT), |
||||
username: process.env.BOT_USERNAME, |
||||
}; |
||||
|
||||
let bot = mineflayer.createBot(options); |
||||
|
||||
let isRestarting = 0; |
||||
|
||||
function relog(bot) { |
||||
if (isRestarting === 0) { |
||||
isRestarting = 1; |
||||
console.log(new Date(), "Attempting to reconnect..."); |
||||
bot = mineflayer.createBot(options); |
||||
bindEvents(bot); |
||||
} else { |
||||
isRestarting = 0; |
||||
} |
||||
} |
||||
|
||||
function bindEvents(bot) { |
||||
bot.on("login", function () { |
||||
console.log(new Date(), "I logged in."); |
||||
console.log(new Date(), "settings", JSON.stringify(bot.settings)); |
||||
isRestarting = 0; |
||||
}); |
||||
|
||||
bot.on("time", function () { |
||||
if (connected < 1) { |
||||
return; |
||||
} |
||||
if (lasttime < 0) { |
||||
lasttime = bot.time.age; |
||||
} else { |
||||
const randomadd = Math.random() * maxrandom * 20; |
||||
const interval = moveinterval * 20 + randomadd; |
||||
if (bot.time.age - lasttime > interval) { |
||||
if (moving === 1) { |
||||
console.log(new Date(), "stop moving"); |
||||
bot.setControlState(lastaction, false); |
||||
moving = 0; |
||||
lasttime = bot.time.age; |
||||
} else { |
||||
console.log(new Date(), "start moving"); |
||||
const yaw = Math.random() * Math.PI - 0.5 * Math.PI; |
||||
const pitch = Math.random() * Math.PI - 0.5 * Math.PI; |
||||
bot.look(yaw, pitch, false); |
||||
lastaction = actions[Math.floor(Math.random() * actions.length)]; |
||||
bot.setControlState(lastaction, true); |
||||
moving = 1; |
||||
lasttime = bot.time.age; |
||||
bot.activateItem(); |
||||
} |
||||
} |
||||
} |
||||
}); |
||||
|
||||
bot.on("spawn", function () { |
||||
connected = 1; |
||||
}); |
||||
|
||||
bot.on("kicked", function (reason) { |
||||
console.log(new Date(), "I got kicked for", reason, "lol"); |
||||
setTimeout(relog, TIMEOUT); |
||||
}); |
||||
|
||||
bot.on("error", function (err) { |
||||
console.log( |
||||
new Date(), |
||||
"Error attempting to reconnect: " + err.errno + ".", |
||||
); |
||||
if (!err.code) { |
||||
console.log( |
||||
new Date(), |
||||
"Invalid credentials OR bot needs to wait because it relogged too quickly.", |
||||
); |
||||
console.log(new Date(), "Will retry to connect in 30 seconds. "); |
||||
setTimeout(relog, TIMEOUT); |
||||
} |
||||
}); |
||||
|
||||
bot.on("end", function () { |
||||
console.log(new Date(), "Bot has ended"); |
||||
setTimeout(relog, TIMEOUT); |
||||
}); |
||||
} |
||||
|
||||
bindEvents(bot); |
@ -0,0 +1,15 @@ |
||||
[Unit] |
||||
Description=aternos antishutdown service |
||||
After=network.target |
||||
StartLimitIntervalSec=0 |
||||
|
||||
[Service] |
||||
Type=simple |
||||
Restart=always |
||||
RestartSec=1 |
||||
User=github |
||||
WorkingDirectory=/home/github/antishutdown |
||||
ExecStart=/usr/bin/env node /home/github/antishutdown/antishutdown.js |
||||
|
||||
[Install] |
||||
WantedBy=multi-user.target |
@ -0,0 +1,549 @@ |
||||
{ |
||||
"name": "antishutdown", |
||||
"version": "1.2.0", |
||||
"lockfileVersion": 1, |
||||
"requires": true, |
||||
"dependencies": { |
||||
"@azure/msal-common": { |
||||
"version": "4.0.1", |
||||
"resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-4.0.1.tgz", |
||||
"integrity": "sha512-dHdTmLnRpqGasqAUCOzDt9Os8rke1cRk6Mo6yeI0ucis+G/CwLFQ2G08SEdPfZZnvemhTRP0l70UBPax1Gwxmw==", |
||||
"requires": { |
||||
"debug": "^4.1.1" |
||||
} |
||||
}, |
||||
"@azure/msal-node": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.0.0.tgz", |
||||
"integrity": "sha512-uc8B9n9U6IRVsCLOn1D39GhuA8CzbxP8MUl53Sr9hyAjJG4W7139dZSCnZ6VCBlgqm7VmtDSKOaOBWvbBjcJzg==", |
||||
"requires": { |
||||
"@azure/msal-common": "^4.0.1", |
||||
"axios": "^0.21.1", |
||||
"jsonwebtoken": "^8.5.1", |
||||
"uuid": "^8.3.0" |
||||
} |
||||
}, |
||||
"@xboxreplay/errors": { |
||||
"version": "0.1.0", |
||||
"resolved": "https://registry.npmjs.org/@xboxreplay/errors/-/errors-0.1.0.tgz", |
||||
"integrity": "sha512-Tgz1d/OIPDWPeyOvuL5+aai5VCcqObhPnlI3skQuf80GVF3k1I0lPCnGC+8Cm5PV9aLBT5m8qPcJoIUQ2U4y9g==" |
||||
}, |
||||
"@xboxreplay/xboxlive-auth": { |
||||
"version": "3.3.3", |
||||
"resolved": "https://registry.npmjs.org/@xboxreplay/xboxlive-auth/-/xboxlive-auth-3.3.3.tgz", |
||||
"integrity": "sha512-j0AU8pW10LM8O68CTZ5QHnvOjSsnPICy0oQcP7zyM7eWkDQ/InkiQiirQKsPn1XRYDl4ccNu0WM582s3UKwcBg==", |
||||
"requires": { |
||||
"@xboxreplay/errors": "^0.1.0", |
||||
"axios": "^0.21.1" |
||||
} |
||||
}, |
||||
"aes-js": { |
||||
"version": "3.1.2", |
||||
"resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", |
||||
"integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" |
||||
}, |
||||
"ajv": { |
||||
"version": "6.12.6", |
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", |
||||
"integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", |
||||
"requires": { |
||||
"fast-deep-equal": "^3.1.1", |
||||
"fast-json-stable-stringify": "^2.0.0", |
||||
"json-schema-traverse": "^0.4.1", |
||||
"uri-js": "^4.2.2" |
||||
} |
||||
}, |
||||
"asn1": { |
||||
"version": "0.2.3", |
||||
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", |
||||
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" |
||||
}, |
||||
"axios": { |
||||
"version": "0.21.1", |
||||
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", |
||||
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", |
||||
"requires": { |
||||
"follow-redirects": "^1.10.0" |
||||
} |
||||
}, |
||||
"buffer-equal": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", |
||||
"integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" |
||||
}, |
||||
"buffer-equal-constant-time": { |
||||
"version": "1.0.1", |
||||
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", |
||||
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" |
||||
}, |
||||
"commander": { |
||||
"version": "2.20.3", |
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", |
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" |
||||
}, |
||||
"debug": { |
||||
"version": "4.3.1", |
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", |
||||
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", |
||||
"requires": { |
||||
"ms": "2.1.2" |
||||
} |
||||
}, |
||||
"discontinuous-range": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/discontinuous-range/-/discontinuous-range-1.0.0.tgz", |
||||
"integrity": "sha1-44Mx8IRLukm5qctxx3FYWqsbxlo=" |
||||
}, |
||||
"dotenv": { |
||||
"version": "8.2.0", |
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.2.0.tgz", |
||||
"integrity": "sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw==" |
||||
}, |
||||
"ecdsa-sig-formatter": { |
||||
"version": "1.0.11", |
||||
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", |
||||
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", |
||||
"requires": { |
||||
"safe-buffer": "^5.0.1" |
||||
} |
||||
}, |
||||
"endian-toggle": { |
||||
"version": "0.0.0", |
||||
"resolved": "https://registry.npmjs.org/endian-toggle/-/endian-toggle-0.0.0.tgz", |
||||
"integrity": "sha1-5cx1eLEDLW7gHq/Nc3ZdsNtNwKY=" |
||||
}, |
||||
"fast-deep-equal": { |
||||
"version": "3.1.3", |
||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", |
||||
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" |
||||
}, |
||||
"fast-json-stable-stringify": { |
||||
"version": "2.1.0", |
||||
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", |
||||
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" |
||||
}, |
||||
"follow-redirects": { |
||||
"version": "1.13.2", |
||||
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz", |
||||
"integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==" |
||||
}, |
||||
"inherits": { |
||||
"version": "2.0.4", |
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", |
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" |
||||
}, |
||||
"json-schema-traverse": { |
||||
"version": "0.4.1", |
||||
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", |
||||
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" |
||||
}, |
||||
"jsonwebtoken": { |
||||
"version": "8.5.1", |
||||
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", |
||||
"integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", |
||||
"requires": { |
||||
"jws": "^3.2.2", |
||||
"lodash.includes": "^4.3.0", |
||||
"lodash.isboolean": "^3.0.3", |
||||
"lodash.isinteger": "^4.0.4", |
||||
"lodash.isnumber": "^3.0.3", |
||||
"lodash.isplainobject": "^4.0.6", |
||||
"lodash.isstring": "^4.0.1", |
||||
"lodash.once": "^4.0.0", |
||||
"ms": "^2.1.1", |
||||
"semver": "^5.6.0" |
||||
} |
||||
}, |
||||
"jwa": { |
||||
"version": "1.4.1", |
||||
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", |
||||
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", |
||||
"requires": { |
||||
"buffer-equal-constant-time": "1.0.1", |
||||
"ecdsa-sig-formatter": "1.0.11", |
||||
"safe-buffer": "^5.0.1" |
||||
} |
||||
}, |
||||
"jws": { |
||||
"version": "3.2.2", |
||||
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", |
||||
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", |
||||
"requires": { |
||||
"jwa": "^1.4.1", |
||||
"safe-buffer": "^5.0.1" |
||||
} |
||||
}, |
||||
"lodash.get": { |
||||
"version": "4.4.2", |
||||
"resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", |
||||
"integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" |
||||
}, |
||||
"lodash.includes": { |
||||
"version": "4.3.0", |
||||
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", |
||||
"integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" |
||||
}, |
||||
"lodash.isboolean": { |
||||
"version": "3.0.3", |
||||
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", |
||||
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" |
||||
}, |
||||
"lodash.isinteger": { |
||||
"version": "4.0.4", |
||||
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", |
||||
"integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" |
||||
}, |
||||
"lodash.isnumber": { |
||||
"version": "3.0.3", |
||||
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", |
||||
"integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" |
||||
}, |
||||
"lodash.isplainobject": { |
||||
"version": "4.0.6", |
||||
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", |
||||
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" |
||||
}, |
||||
"lodash.isstring": { |
||||
"version": "4.0.1", |
||||
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", |
||||
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" |
||||
}, |
||||
"lodash.merge": { |
||||
"version": "4.6.2", |
||||
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", |
||||
"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" |
||||
}, |
||||
"lodash.once": { |
||||
"version": "4.1.1", |
||||
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", |
||||
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" |
||||
}, |
||||
"lodash.reduce": { |
||||
"version": "4.6.0", |
||||
"resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", |
||||
"integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" |
||||
}, |
||||
"macaddress": { |
||||
"version": "0.5.1", |
||||
"resolved": "https://registry.npmjs.org/macaddress/-/macaddress-0.5.1.tgz", |
||||
"integrity": "sha512-et8b+V48uHaOB2fyNhPWwlm2PenfcfkGmHUwuVT3lxFEhfwaKwq5VmM4Cw4MYDwMrujvF0ktA2sSJidCjZBSzg==" |
||||
}, |
||||
"minecraft-data": { |
||||
"version": "2.77.0", |
||||
"resolved": "https://registry.npmjs.org/minecraft-data/-/minecraft-data-2.77.0.tgz", |
||||
"integrity": "sha512-LTKhnP3KDqLjnkzV27TojjtTpCaRYUXuMpxMK7NG/yvU++s87hUGtVeH3jKMhpmJ/JjFCa6kCqlyqcNl+++fhg==" |
||||
}, |
||||
"minecraft-folder-path": { |
||||
"version": "1.2.0", |
||||
"resolved": "https://registry.npmjs.org/minecraft-folder-path/-/minecraft-folder-path-1.2.0.tgz", |
||||
"integrity": "sha512-qaUSbKWoOsH9brn0JQuBhxNAzTDMwrOXorwuRxdJKKKDYvZhtml+6GVCUrY5HRiEsieBEjCUnhVpDuQiKsiFaw==" |
||||
}, |
||||
"minecraft-protocol": { |
||||
"version": "1.23.1", |
||||
"resolved": "https://registry.npmjs.org/minecraft-protocol/-/minecraft-protocol-1.23.1.tgz", |
||||
"integrity": "sha512-UtZAB4+zgL5O1RVxPXYtpbZS48ej0W6QdYPK+v234sAq7FLRnDGtC4mlXrNPapUtM7+aaU3C/zUGrZVFSzR/Vw==", |
||||
"requires": { |
||||
"@azure/msal-node": "^1.0.0-beta.3", |
||||
"@xboxreplay/xboxlive-auth": "^3.3.3", |
||||
"aes-js": "^3.1.2", |
||||
"buffer-equal": "^1.0.0", |
||||
"debug": "^4.1.0", |
||||
"endian-toggle": "^0.0.0", |
||||
"lodash.get": "^4.1.2", |
||||
"lodash.merge": "^4.3.0", |
||||
"minecraft-data": "^2.70.0", |
||||
"minecraft-folder-path": "^1.1.0", |
||||
"node-fetch": "^2.6.1", |
||||
"node-rsa": "^0.4.2", |
||||
"prismarine-nbt": "^1.3.0", |
||||
"protodef": "^1.8.0", |
||||
"readable-stream": "^3.0.6", |
||||
"uuid-1345": "^1.0.1", |
||||
"yggdrasil": "^1.4.0" |
||||
} |
||||
}, |
||||
"mineflayer": { |
||||
"version": "3.2.0", |
||||
"resolved": "https://registry.npmjs.org/mineflayer/-/mineflayer-3.2.0.tgz", |
||||
"integrity": "sha512-dEIFiQfXT9FADRuZoyBGn3i5ThYo8TNkd3C+lw4Z+AhwDgAU/Sq2v46gWcouoj2Um1F9J6sFX5NBFvfZ/5hYpw==", |
||||
"requires": { |
||||
"minecraft-data": "^2.75.0", |
||||
"minecraft-protocol": "^1.17.0", |
||||
"prismarine-biome": "^1.1.0", |
||||
"prismarine-block": "^1.6.0", |
||||
"prismarine-chat": "^1.0.0", |
||||
"prismarine-chunk": "^1.20.3", |
||||
"prismarine-entity": "^1.0.0", |
||||
"prismarine-item": "^1.5.0", |
||||
"prismarine-physics": "^1.0.4", |
||||
"prismarine-recipe": "^1.1.0", |
||||
"prismarine-windows": "^2.0.0", |
||||
"prismarine-world": "^3.5.0", |
||||
"protodef": "^1.8.0", |
||||
"typed-emitter": "^1.2.0", |
||||
"vec3": "^0.1.6" |
||||
} |
||||
}, |
||||
"mojangson": { |
||||
"version": "1.1.1", |
||||
"resolved": "https://registry.npmjs.org/mojangson/-/mojangson-1.1.1.tgz", |
||||
"integrity": "sha512-CVZDJdiiLOibTBfzpDz1m7QfWlna9yOwaVTz+wHARtlc/nb9QFLvP8OWAqaPQ14ETa4pDRGhWVN9O8pjsPjEcg==", |
||||
"requires": { |
||||
"nearley": "^2.19.5" |
||||
} |
||||
}, |
||||
"moo": { |
||||
"version": "0.5.1", |
||||
"resolved": "https://registry.npmjs.org/moo/-/moo-0.5.1.tgz", |
||||
"integrity": "sha512-I1mnb5xn4fO80BH9BLcF0yLypy2UKl+Cb01Fu0hJRkJjlCRtxZMWkTdAtDd5ZqCOxtCkhmRwyI57vWT+1iZ67w==" |
||||
}, |
||||
"ms": { |
||||
"version": "2.1.2", |
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", |
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" |
||||
}, |
||||
"nearley": { |
||||
"version": "2.20.1", |
||||
"resolved": "https://registry.npmjs.org/nearley/-/nearley-2.20.1.tgz", |
||||
"integrity": "sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==", |
||||
"requires": { |
||||
"commander": "^2.19.0", |
||||
"moo": "^0.5.0", |
||||
"railroad-diagrams": "^1.0.0", |
||||
"randexp": "0.4.6" |
||||
} |
||||
}, |
||||
"node-fetch": { |
||||
"version": "2.6.1", |
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", |
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" |
||||
}, |
||||
"node-rsa": { |
||||
"version": "0.4.2", |
||||
"resolved": "https://registry.npmjs.org/node-rsa/-/node-rsa-0.4.2.tgz", |
||||
"integrity": "sha1-1jkXKewWqDDtWjgEKzFX0tXXJTA=", |
||||
"requires": { |
||||
"asn1": "0.2.3" |
||||
} |
||||
}, |
||||
"prismarine-biome": { |
||||
"version": "1.1.1", |
||||
"resolved": "https://registry.npmjs.org/prismarine-biome/-/prismarine-biome-1.1.1.tgz", |
||||
"integrity": "sha512-JkX1CcIDR538j5Qj3pbLCTB2LsGukNOudWbk4niQ93a3fItLVJkPnY9H3/uxpVz2PIQxhmaAXVRaYWj6M9C2Bw==" |
||||
}, |
||||
"prismarine-block": { |
||||
"version": "1.7.3", |
||||
"resolved": "https://registry.npmjs.org/prismarine-block/-/prismarine-block-1.7.3.tgz", |
||||
"integrity": "sha512-Dgb/aeveyC4/5dDfScn6exD4vnbD97zrT6YRhVZmn1LKOpytKNsxVqAMjefTgkC6qni/aX3u/avk7yn0rXkwrA==", |
||||
"requires": { |
||||
"prismarine-biome": "^1.1.0" |
||||
} |
||||
}, |
||||
"prismarine-chat": { |
||||
"version": "1.0.3", |
||||
"resolved": "https://registry.npmjs.org/prismarine-chat/-/prismarine-chat-1.0.3.tgz", |
||||
"integrity": "sha512-jNrM5tUBMSCPw/9AXxwq21nZUROWrm1uH/PKyUC/RRrbzuNP3RPPn/4gcFnyQKSUOe4HgSzvJEWlnrCIhSN/FA==", |
||||
"requires": { |
||||
"minecraft-data": "^2.62.1", |
||||
"mojangson": "^1.0.0", |
||||
"sprintf-js": "^1.1.2" |
||||
} |
||||
}, |
||||
"prismarine-chunk": { |
||||
"version": "1.22.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-chunk/-/prismarine-chunk-1.22.0.tgz", |
||||
"integrity": "sha512-OgPNXmNOZG6FZ1ZCQQmw55a+7NBTJJuI6w3YM8Esb3+kI5nDh/j5+W+DsYiFptkfkKJEKgKN2YlpE2nCJPlfoA==", |
||||
"requires": { |
||||
"minecraft-data": "^2.61.0", |
||||
"prismarine-block": "^1.2.0", |
||||
"smart-buffer": "^4.1.0", |
||||
"uint4": "^0.1.2", |
||||
"vec3": "^0.1.3" |
||||
} |
||||
}, |
||||
"prismarine-entity": { |
||||
"version": "1.1.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-entity/-/prismarine-entity-1.1.0.tgz", |
||||
"integrity": "sha512-PHa3zrCTcGWeGXBFmUWSOo9MwwkapriXpBeC8xIxt76ZTT8wz8QJ3jjN9fsmFAzKK/lMHV3hxIlvCOa4JF2w9g==", |
||||
"requires": { |
||||
"vec3": "^0.1.4" |
||||
} |
||||
}, |
||||
"prismarine-item": { |
||||
"version": "1.5.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-item/-/prismarine-item-1.5.0.tgz", |
||||
"integrity": "sha512-O0Rpxn0kqHhkJAVJJK7SvkVyoNkBU7tRh7FrGJipg23B6j1cw8GtkSY10keupI2p0AcygA9TrlHBwomVLl7uYw==" |
||||
}, |
||||
"prismarine-nbt": { |
||||
"version": "1.4.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-nbt/-/prismarine-nbt-1.4.0.tgz", |
||||
"integrity": "sha512-CBv6I7rXN6E55AjCg5emA78kgssqWvZeTj1NdG24ZjhZ0YsAKIaopMLek81H8uv/rSz6BbhOSjuSMpHSv9ipyQ==", |
||||
"requires": { |
||||
"protodef": "^1.7.0" |
||||
} |
||||
}, |
||||
"prismarine-physics": { |
||||
"version": "1.2.2", |
||||
"resolved": "https://registry.npmjs.org/prismarine-physics/-/prismarine-physics-1.2.2.tgz", |
||||
"integrity": "sha512-FkVjBb44e6RP6LWOXWMCORldVdymJ8VKjBqck2OcpOD74vVnOR0BRFtipGij1iQROt5Z7VMAkqrBxoeqAKZPOw==", |
||||
"requires": { |
||||
"minecraft-data": "^2.73.1", |
||||
"prismarine-nbt": "^1.4.0", |
||||
"vec3": "^0.1.7" |
||||
} |
||||
}, |
||||
"prismarine-recipe": { |
||||
"version": "1.1.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-recipe/-/prismarine-recipe-1.1.0.tgz", |
||||
"integrity": "sha512-eFmriEWoe6S6OSVbOJnsXpaBuzeIzjaGymDUTCtrOu80734NWKI7outdLI6R2ztJ+f2PFIkFmpkazAdScStGNA==" |
||||
}, |
||||
"prismarine-windows": { |
||||
"version": "2.1.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-windows/-/prismarine-windows-2.1.0.tgz", |
||||
"integrity": "sha512-kyEMNbzAZNg9Jb/x66N7f9/QZ/C0tUInbbuI9wgNcQDq8nNd2AV95J8EPvzg04iC1+YupPiXBuWrW8K/XZkVDA==", |
||||
"requires": { |
||||
"minecraft-data": "^2.74.0", |
||||
"prismarine-item": "^1.5.0" |
||||
} |
||||
}, |
||||
"prismarine-world": { |
||||
"version": "3.5.0", |
||||
"resolved": "https://registry.npmjs.org/prismarine-world/-/prismarine-world-3.5.0.tgz", |
||||
"integrity": "sha512-EoxNRhpx5eGFyY3fLO1+BJV4BEelK9ZQQjCTPA2uWQFiZ7cp9UUT5UvMLCjfwMSpvQt6ZdIhntDG0s11H5Wm2w==", |
||||
"requires": { |
||||
"vec3": "^0.1.7" |
||||
} |
||||
}, |
||||
"protodef": { |
||||
"version": "1.9.0", |
||||
"resolved": "https://registry.npmjs.org/protodef/-/protodef-1.9.0.tgz", |
||||
"integrity": "sha512-RZZtHOT8Q8AaKEbKsPlndivoPOOjm+ddHFVwooBMNTw8XMN4cRo4tKTNCyXf12+IIkzkPDgbAwKjLHCJXYI3HQ==", |
||||
"requires": { |
||||
"lodash.get": "^4.4.2", |
||||
"lodash.reduce": "^4.6.0", |
||||
"protodef-validator": "^1.2.2", |
||||
"readable-stream": "^3.0.3" |
||||
} |
||||
}, |
||||
"protodef-validator": { |
||||
"version": "1.2.3", |
||||
"resolved": "https://registry.npmjs.org/protodef-validator/-/protodef-validator-1.2.3.tgz", |
||||
"integrity": "sha512-dMcSMYRh8s0z0iQN0PLVlXwJOgN8cgBuM1uWzhMjkLdpKCOASwp+h7wHnTigBTRVhGLywykcb3EKiGSsXX4vvA==", |
||||
"requires": { |
||||
"ajv": "^6.5.4" |
||||
} |
||||
}, |
||||
"punycode": { |
||||
"version": "2.1.1", |
||||
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", |
||||
"integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" |
||||
}, |
||||
"railroad-diagrams": { |
||||
"version": "1.0.0", |
||||
"resolved": "https://registry.npmjs.org/railroad-diagrams/-/railroad-diagrams-1.0.0.tgz", |
||||
"integrity": "sha1-635iZ1SN3t+4mcG5Dlc3RVnN234=" |
||||
}, |
||||
"randexp": { |
||||
"version": "0.4.6", |
||||
"resolved": "https://registry.npmjs.org/randexp/-/randexp-0.4.6.tgz", |
||||
"integrity": "sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==", |
||||
"requires": { |
||||
"discontinuous-range": "1.0.0", |
||||
"ret": "~0.1.10" |
||||
} |
||||
}, |
||||
"readable-stream": { |
||||
"version": "3.6.0", |
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", |
||||
"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", |
||||
"requires": { |
||||
"inherits": "^2.0.3", |
||||
"string_decoder": "^1.1.1", |
||||
"util-deprecate": "^1.0.1" |
||||
} |
||||
}, |
||||
"ret": { |
||||
"version": "0.1.15", |
||||
"resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", |
||||
"integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" |
||||
}, |
||||
"safe-buffer": { |
||||
"version": "5.2.1", |
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", |
||||
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" |
||||
}, |
||||
"semver": { |
||||
"version": "5.7.1", |
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", |
||||
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" |
||||
}, |
||||
"smart-buffer": { |
||||
"version": "4.1.0", |
||||
"resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", |
||||
"integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" |
||||
}, |
||||
"sprintf-js": { |
||||
"version": "1.1.2", |
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", |
||||
"integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" |
||||
}, |
||||
"string_decoder": { |
||||
"version": "1.3.0", |
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", |
||||
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", |
||||
"requires": { |
||||
"safe-buffer": "~5.2.0" |
||||
} |
||||
}, |
||||
"typed-emitter": { |
||||
"version": "1.3.1", |
||||
"resolved": "https://registry.npmjs.org/typed-emitter/-/typed-emitter-1.3.1.tgz", |
||||
"integrity": "sha512-2h7utWyXgd2R2u2IuL8B4yu1gqMxbgUj2VS/MGVbFhEVQNJKXoQQoS5CBMh+eW31zFeSmDfEQ3qQf4xy5SlPVQ==" |
||||
}, |
||||
"uint4": { |
||||
"version": "0.1.2", |
||||
"resolved": "https://registry.npmjs.org/uint4/-/uint4-0.1.2.tgz", |
||||
"integrity": "sha1-UMWuBLhdKBKPLfPMDsxNQavC9oE=" |
||||
}, |
||||
"uri-js": { |
||||
"version": "4.4.1", |
||||
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", |
||||
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", |
||||
"requires": { |
||||
"punycode": "^2.1.0" |
||||
} |
||||
}, |
||||
"util-deprecate": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", |
||||
"integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" |
||||
}, |
||||
"uuid": { |
||||
"version": "8.3.2", |
||||
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", |
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" |
||||
}, |
||||
"uuid-1345": { |
||||
"version": "1.0.2", |
||||
"resolved": "https://registry.npmjs.org/uuid-1345/-/uuid-1345-1.0.2.tgz", |
||||
"integrity": "sha512-bA5zYZui+3nwAc0s3VdGQGBfbVsJLVX7Np7ch2aqcEWFi5lsAEcmO3+lx3djM1npgpZI8KY2FITZ2uYTnYUYyw==", |
||||
"requires": { |
||||
"macaddress": "^0.5.1" |
||||
} |
||||
}, |
||||
"vec3": { |
||||
"version": "0.1.7", |
||||
"resolved": "https://registry.npmjs.org/vec3/-/vec3-0.1.7.tgz", |
||||
"integrity": "sha512-EZSeXBL+L3go2wWwtQQse4fEcNGIQjT14qvi4LYVj1ifZt/J5XZ1QZqkDuOVVH07YwTEIFbsAv3pzwUpF7x9Wg==" |
||||
}, |
||||
"yggdrasil": { |
||||
"version": "1.5.2", |
||||
"resolved": "https://registry.npmjs.org/yggdrasil/-/yggdrasil-1.5.2.tgz", |
||||
"integrity": "sha512-KPiqYhEquANmiwYdp4rFUSLWQ260MrDmn9q8C0vIORAJmBOjbfKO7bfKyzhTi6VFQeE5ec4qAJ5ytn9o9Savow==", |
||||
"requires": { |
||||
"node-fetch": "^2.6.1", |
||||
"uuid": "^8.2.0" |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,13 @@ |
||||
{ |
||||
"name": "@kay/aternos-antishutdown-bot", |
||||
"version": "1.2.0", |
||||
"description": "", |
||||
"main": "antishutdown.js", |
||||
"scripts": { |
||||
"start": "node antishutdown.js" |
||||
}, |
||||
"dependencies": { |
||||
"dotenv": "^8.2.0", |
||||
"mineflayer": "^3.2.0" |
||||
} |
||||
} |
Loading…
Reference in new issue