TheSharks/WildBeast

[Question] v7 Sharding

AlexanderTheCrafter opened this issue · 8 comments

Using the methods from #605 for sharding no longer seem to work.
How does one do sharding in v7? The environment variables exist and are set to what was suggested, but it would appear they must have changed (or the system must have).

The following error is the output:

[09/10/2020, 8:00 PM] - [          ERROR:ERIS] - Error: Shard has too many guilds (>2500)
    at Shard._onWSClose (/opt/wildbeast/node_modules/eris/lib/gateway/Shard.js:1841:23)
    at WebSocket.emit (events.js:314:20)
    at WebSocket.EventEmitter.emit (domain.js:486:12)
    at WebSocket.emitClose (/opt/wildbeast/node_modules/ws/lib/websocket.js:194:10)
    at TLSSocket.socketOnClose (/opt/wildbeast/node_modules/ws/lib/websocket.js:861:15)
    at TLSSocket.emit (events.js:326:22)
    at TLSSocket.EventEmitter.emit (domain.js:486:12)
    at net.js:672:12
    at TCP.done (_tls_wrap.js:563:7)

v7 is currently missing support for sharding via environment variables, this should be fixed in a later commit.

Also, I should probably mention that the license from v7 prohibits you from running WildBeast on a verified bot account without our express permission.

v7 is currently missing support for sharding via environment variables, this should be fixed in a later commit.

Also, I should probably mention that the license from v7 prohibits you from running WildBeast on a verified bot account without our express permission.

Yo. Thanks for the heads-up man. While I dont agree with the license changes, I appreciate your bringing that to my attention.

@Dougley I would however like to inform you that your licensing provided with the current commit of v7 prohibits the ability to carry out the process of verifying one's bot through the Discord Bot Verification Program. This evidently would allow a bot that has already been verified on an earlier version to update to the v7 codebase regardless of permission due to the fact that the verification process was not carried out under the new license, instead the bot was already verified.
At least, that's how it looks to me.

Furthermore, correct me if I'm wrong, but it would appear that in modifying the license by adding additional terms to it you are, in fact, in breach of the license itself when it states "Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.".

Hi, a couple things here.

I would however like to inform you that your licensing provided with the current commit of v7 prohibits the ability to carry out the process of verifying one's bot through the Discord Bot Verification Program. This evidently would allow a bot that has already been verified on an earlier version to update to the v7 codebase regardless of permission due to the fact that the verification process was not carried out under the new license, instead the bot was already verified.
At least, that's how it looks to me.

The prohibition of going through the Discord Bot Verification Program is by design. The license addendum is specifically intended to block people from partaking in said conduct, if that was not yet apparent from the language used.

Secondly, a bot that has already been verified with a previous version of WildBeast is not allowed to update, because the new license terms prohibit the user from doing so by putting them in violation of the license, should they do this. The language in the license addendum does not specify at what point in time the verification has to happen (which is also by design); it simply states that one may not verify their instance through the aforementioned program.

Furthermore, correct me if I'm wrong, but it would appear that in modifying the license by adding additional terms to it you are, in fact, in breach of the license itself when it states "Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.".

The GNU Affero General Public License is not modified. It is simply expanded upon with our own addendums that override some specific provisions in it.

Furthermore, note the keywords "this (...) document". This means that while we are prohibited from editing the license text of the GNU AGPL (Which we have not, it's attached to the full license verbatim), nothing in it states that we cannot add additional terms and conditions to the final license the code is distributed under while still deriving from the AGPL - which, in this case, is the solution we have opted for, namely AGPL with an additional condition prefacing the main body of the license.

Hope that clears things up!

@linuswillner Thanks for clearing that up. 🙂

The prohibition of going through the Discord Bot Verification Program is by design. The license addendum is specifically intended to block people from partaking in said conduct, if that was not yet apparent from the language used.

Secondly, a bot that has already been verified with a previous version of WildBeast is not allowed to update, because the new license terms prohibit the user from doing so by putting them in violation of the license, should they do this. The language in the license addendum does not specify at what point in time the verification has to happen (which is also by design); it simply states that one may not verify their instance through the aforementioned program.

In relation to this however, the license states that the definition of competition includes to "Verify your copy of the covered work through the Discord Bot Verification Program". This implies that bot applications cannot be verified if running the software. It never, however, states that running the software on a verified bot is considered competition. Only that it is competition to verify the bot account running the software. This restriction would become active once the bot starts running on the commit under the new license, thus if it was verified while not under such a license, the license wouldnt restrict the use of the software through such a bot.

That depends purely on how you interpret the wording of "to verify". As I said, the license intentionally makes no mention of when one verifies it. Nothing in the license terms states that the software can be installed and verified in the manner you claim here, simply because the time frame has been intentionally left out and implicitly covers running any version of WildBeast under a verified bot account.