Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build 12 [1.0b12] #540

Merged
merged 3 commits into from
Mar 4, 2018
Merged

Conversation

suresttexas00
Copy link
Collaborator

@suresttexas00 suresttexas00 commented Mar 4, 2018

Wow, I did too much in this build!

Started as a refactor, but I discovered that Entity controls were not functioning properly.
(and discovered that the mineraft entity controls actually are not as robust as ours).

  • Refactored all packet constants to a standard format:
    CONSTANT = [PACKET, [PARSING]], where PACKET = 0xNN packet number and parsing
    is a list of constants like [VARINT, BOOL, STRING]. Some packets already
    followed this convention, but most simply defined packets like PACKET_NAME = 0xNN
  • Correct errors with new mcserver.py _console_event function not sending commands anywhere
    except for the wrapper interface.
  • Corrected Entities config items listing old names (i.e. - 'Sheep' was changed to 'sheep' in 11.1)
  • Added internal wrapper event 'server.autoCompletes' to process (future) autocompletions for items like Implement tab-complete of registered wrapper commands #337 .
  • Added optimization to make non-abortable events spur off in their own thread to prevent
    delays to wrapper (and in proxy mode, proxy packet) processing.
  • Removed "player.runCommand" event from public API. It is now private event. Also
    changed the behaviour to not be "abortable".. I.e. any command will abort (i.e. the packet the client sent) and get processed directly by either wrapper or the server.
  • All registered commands run on their own thread, so wrapper plugin commands
    do not pause proxy!
  • All non-abortable events run as a deamon thread, allowing wrapper to continue
    running while any event runs on a separate thread.
  • Made improvements to whitelist commands online and offline.

This really got out of hand.  When I started, I just wanted to maybe start
working on getting player.connect() working:
Started as a refactor, but I discovered that Entity controls were not functioning properly.
 (and discovered that the mineraft entity controls actually are not as robust as ours).
- Refactored all packet constants to a standard format:
    CONSTANT = [PACKET, [PARSING]], where PACKET = 0xNN packet number and parsing
     is a list of constants like [VARINT, BOOL, STRING].  Some packets already
     followed this convention, but most simply defined packets like `PACKET_NAME = 0xNN`
- Correct errors with new mcserver.py `_console_event` function not sending commands anywhere
 except for the wrapper interface.
- Corrected Entities config items listing old names (i.e. - 'Sheep' was changed to 'sheep' in 11.1)
- Added internal wrapper event 'server.autoCompletes' to process (future) autocompletions.
- Added optimization to make non-abortable events spur off in their own thread to prevent
 delays to wrapper (and in proxy mode, proxy packet) processing.
- Removed "player.runCommand" event from public API.  It is now private event.  Also
 changed the behaviour to not be "abortable".. I.e. any command _will_ abort and get
 processed directly by _either_ wrapper or the server.
- All registered commands run on their own thread, so wrapper plugin commands
 do not pause proxy!
- All non-abortable events run as a deamon thread, allowing wrapper to continue
 running while any event runs on a separate thread.
- Made improvements to whitelist commands `online` and `offline`.
@suresttexas00 suresttexas00 merged commit ee0aba0 into benbaptist:development Mar 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant