Commit graph

48 commits

Author SHA1 Message Date
extremeheat
e503c47c79
Start work for 1.21.90 (#616)
* 1.21.90

* update

* remove 1.21.90 in ci
2025-06-18 20:14:38 -04:00
Tamás Papp
eeb5e47e35
1.21.60 support (#570)
* Add support for ItemRegistryPacket (for shield item ID)

* simplify

* lint

* internal test

* update start_game handling

* test: capture events rejections

---------

Co-authored-by: extremeheat <extreme@protonmail.ch>
2025-02-11 21:42:31 -05:00
LucienHH
911e0e890f
Dynamic compression & batch header (#544) 2024-12-03 17:23:32 -05:00
extremeheat
4c3f62567e
update disconnect packet 2024-08-17 20:03:02 -04:00
extremeheat
d3161badc6
Compressor handling update for 1.20.60 (#479)
* support compressor in header

* use mcdata features

* cleanup
2024-02-07 20:03:26 -05:00
extremeheat
3c23add812
Fix raknet backend selection (#379) 2023-04-22 17:47:39 -04:00
extremeheat
3b51ebb6ee
Handle Relay serialization errors by kicking (#290)
* Handle Relay serialization errors by kicking

* lint
2022-09-26 22:52:34 -04:00
extremeheat
f88c8d0bc4
1.19.30 support, improve error handling and server pong data (#284)
* Update server advertisement

* 1.19.30 protocol support
* Handle configurable compressor
* Support updated 1.19.30 login flow with NetworkSettings
* Improve serialization error handling on client

* refactor compressor handling

* Fix client on older versions, fix internal error handling

* Improve error handling

* Log console connection errors; use raknet-native for proxy test
2022-09-24 13:53:26 -04:00
b23r0
b36c55e112
Add new raknet library option (raknet-node) (#211)
* add new raknet library option (raknet-node)

* fix lint

* fix lint & add new options

* fix lint

* fix user option & add rust-raknet test.

* fix lint.

* add raknet backend option.

* remove useNativeRaknet option.

* add not found log.

* add test timeout size.

* fix js raknet return error.

* restore useNativeRaknet option.

* update doc.

* update options handling, back compat

* fix server doc

* Fix tests

* fix tests.

* fix lint.

* delay timeout.

* Update rak.js

* update raknet-node version.

* increase timeout.

* Update vanilla.js

* Update proxy.js

* Update internal.js

* update raknet-node version.

* update rust-raknet version.

* increase timeout test time

* increase timeout test time

* update backend version.

* change timeout

Co-authored-by: extremeheat <extreme@protonmail.ch>
2022-08-09 03:39:27 -04:00
extremeheat
dfff13867d
Refactor client connection sequence (#189)
* Refactor client connection sequence
Allow connection info to come in after Client construction, emit "connect_allowed" similar to nmp

* Fix breaking ping behavior change

* fix createClient connect callback

* correct behavior

* remove comments

* refactor impl

* fix incorrect use of `this`
2022-03-27 22:15:20 +02:00
extremeheat
817fd918ce
Ignore unconnected packets, remove babel (#185)
* Ignore unconnected packets, remove babel

* re-enable proxy test on ubuntu runner
2022-02-21 10:35:24 +01:00
extremeheat
957c83995a
1.18.11 (#179)
* Fix js raknet client disconnection

* 1.18.11
2022-02-09 12:15:35 -05:00
extremeheat
14af5fe04f
Switch to sync zlib with 512k chunks, adjustable compression level (#174)
* Switch to sync zlib with 512k chunks, adjustable compression level

* update serverPlayer
2022-02-04 20:30:21 -05:00
extremeheat
49fd2b69ee client: make console connection logging optional 2022-01-03 11:11:07 -05:00
extremeheat
b0856e0cc7
update docs and error handling (#155) 2021-11-28 00:57:41 -05:00
Jordan Jones
c5858d5add
Implement Prismarine Auth (#131)
* add prismarine-auth and mfp

* implement prismarine-auth

* putting this on the record, i am stupid

* Remove unneeded files

* Use export from prismarine-auth

* fix cache path

* default the authTitle to MNS

needs testings

* Remove unnecessary comment
2021-08-16 13:06:19 +02:00
extremeheat
0437e83fe9
fix 1.17.10 npc packet serialization (#119) 2021-08-02 00:34:13 -04:00
extremeheat
f530677245
Option to use JS implementation of RakNet, fix 1.17.10 issue (#110)
* Default to JS implementation of RakNet

* update server also, adjust test timeout based on number of versions

* 1.17.10: fix texture pack issue, keep raknet default at C++

* force_build
2021-07-17 05:30:13 -04:00
extremeheat
1cdb0e4c55 Update protodef version 2021-06-23 00:10:58 -04:00
extremeheat
b546cda899 Logging improvements 2021-06-23 00:10:58 -04:00
extremeheat
ab70115bd8 Protocol updates for 1.16
* Login packet uses new Encapsulated type
* Add missing packet schemas
* Add more docs
Breaking: revises some field names
2021-06-03 16:52:19 -04:00
extremeheat
e9098aa744 test/proxy: extra debug logging 2021-06-01 20:10:59 -04:00
extremeheat
f0fbf4f859
Send skin data, protocol updates (#88)
* Add skin data

* Serialization updates
* Dynamic shield item id
* NBT reading/writing on void type uses 0 length, fix some third party servers

* Fix proxy empty chunk issue

* Fix scoreboards
compiler needs ../

* fix indentation

* Fix set_score packet

* Fix readme title auth doc

* Implement new compiler vars
2021-05-24 10:17:09 -04:00
extremeheat
879a4c21ba Rename src/auth -> src/handshake 2021-05-12 04:29:34 -04:00
extremeheat
3a4335a2ae
Fix third party servers, optional client encryption (#83)
* Fix CBMC connections, fix js-raknet
* Remove electron support

* make raknet-native an optional dep

* protocol: fix skin serialization

* enable debugging output in tests

* Fix tests

* Allow server to skip encryption

* update protocol docs
2021-05-11 13:39:46 -04:00
u9g
39659cf48b
rename hostname to host (#74) 2021-04-23 03:23:43 -04:00
extremeheat
b60fd53ad5
Add relay proxy to tests, docs, fix offline (#71)
* Add relay proxy to tests, docs

* Add proxy example, type defs

* update docs

* proxy: forward login packet, fix offline
2021-04-21 06:22:51 -04:00
extremeheat
999bfd3569
Enforce server auth, ping on createClient, update docs (#68)
* Add createServer, ping on createClient, update README

* fix createClient keepalive

* resort readme, fix node 14

* Enforce auth on server connections, fix close/connect issues

* add type definitions, update readme, docs

* Wait some time before closing connection, update docs

* wait for server close in tests, fix race bug

* export a ping api

* Rename api.md to API.md

* add ping example
2021-04-18 09:19:59 -04:00
extremeheat
a55eaddc98
Add packet dumper, new server example, internal client/server test (#4)
* Add packet dumper, configuable vanilla server, client events

* Fix server/client closing

* Add internal server test

* protocol: use WindowID types

* Add internal client/server test

* test timeout fixes

* client example updates

* update server example, use protocol updates
Server example with bedrock-provider
Use 64-bit varints for entity runtime ids

* fix internal test packet path
2021-03-26 05:19:08 -04:00
extremeheat
b079ebc676 Add server close 2021-03-23 03:28:50 -04:00
extremeheat
edcc370426
Add index, .npmignore, connect timeout (#1)
* add index and .npm ignore

* add connect timeout

* update protocol.json

* Update ci.yml

* Update ci.yml
2021-03-22 15:07:25 -04:00
extremeheat
458136d877
Vanilla server tests, client offline mode (#49)
* vanilla server launcher

* update package.json

* re-add babel to fix standard

* fix ci

* add buffer-equal

* simple fixes

* add offline client support

* fix closing bugs, proper wait for server start

* add test to mocha

* change test timeout to 2 min

* increase timeouts

Co-authored-by: Romain Beaumont <romain.rom1@gmail.com>
2021-03-17 23:04:14 +01:00
extremeheat
bd97a8e1b7
client close handling, add spawn event (#48) 2021-03-14 00:49:54 +01:00
extremeheat
58e011e06d
Login refactoring (#45)
* Refactor auth + encryption

Fix a bug with client account token caching

* move some files
2021-03-13 19:50:16 +01:00
extremeheat
1c582acdb5
Standard (#44)
* standard

* remove old examples
2021-03-13 19:38:31 +01:00
extremeheat
df8612e355
Start work on multi-version support, test cleanup (#43)
* some cleanup

* start work on multi-version support

* undelete some old examples, can update them later

* move old examples
2021-03-12 20:20:25 +01:00
extremeheat
9e1500ec77 add new packets and working proxy 2021-03-09 02:13:47 -05:00
extremeheat
86dcbc1f49 use raknet-native with js fallback 2021-03-08 02:36:25 -05:00
extremeheat
f00357eca6 Logging updates 2021-03-05 02:13:40 -05:00
extremeheat
4035295cdd packet batching + working client/server spawning 2021-02-21 15:26:34 -05:00
extremeheat
57290cd180 client packet verification 2021-02-20 01:14:59 -05:00
extremeheat
0ed5a8d061 protocol updates, packet dumping 2021-02-18 13:33:30 -05:00
extremeheat
8db7305eed move raknet to worker 2021-02-18 01:50:46 -05:00
extremeheat
b6f8fff01e disable some logging 2021-02-16 23:31:19 -05:00
extremeheat
233f0d33a6 workingish client connection to server
Joining a vanilla server is still broken (related to encryption), but minet connects
2021-02-13 18:42:43 -05:00
extremeheat
49cff40097 cliet auth 2021-02-10 05:04:10 -05:00
Romain Beaumont
ff54ec47c0 use recent raknet and add basic example 2016-04-02 23:50:28 +02:00
Keegan
783664863e it still doesn't work 2016-03-06 17:23:05 -05:00