Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-01-05 | feat(applets): add appletsHEADmaster | Trumeet | |
2022-09-03 | build(acronc): add missing dependency libuv to acronc's PKGBUILD | Trumeet | |
2022-08-18 | fix(acronc): OpenBSD build | Trumeet | |
2022-08-10 | feat(mod): use @Inject with capture locals instead of @Redirect | Trumeet | |
2022-08-10 | revert: fix(acron): add remap = false for MinecraftServerMixin#startServer | Trumeet | |
Adding remap = false actually makes the server unable to start. This commit reverts 8f07d4ee8f345feb36c4f1c99eea2fe4f1cdf6e3 | |||
2022-08-10 | fix(libacron): ac_receive does not correctly return the error code | Trumeet | |
2022-08-09 | build(acronc): add Arch Linux PKGBUILD | Trumeet | |
2022-08-09 | fix(acronc): pkg-config name for libac is 'ac', not 'libac' | Trumeet | |
2022-08-09 | feat(acronc): add error log when h_stdin fails | Trumeet | |
2022-08-09 | fix(libacron/acronc/helloworld): ac_receive: 'read' should be the delta ↵ | Trumeet | |
value of bytes read in the call, not the absolute position Also clearify that 'read' is undefined if the function fails. | |||
2022-08-09 | fix(libacron): infinite loop when wic_parse returns 0 | Trumeet | |
This is a rather complicated way to fix backlogging issues. It asks the client to pass partial buffer, and the client also must retry with NULL buffer if ac_receive returns AC_E_AGAIN. | |||
2022-08-09 | fix(acronc): optional player for AC_EVENT_PLAYER_DISCONNECT | Trumeet | |
2022-08-03 | fix(mod): hook PlayerManager#onPlayerConnect instead of ↵ | Trumeet | |
ServerLoginNetworkHandler#addToServer Carpet mod fake players will call the former method directly. | |||
2022-07-29 | docs: add contributing guide | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-29 | feat(mod/libacron): provide entity type to clients | Trumeet | |
API:ADD | |||
2022-07-29 | build(helloworld): switch to Meson | Trumeet | |
2022-07-29 | fix(libacron): spec incompliance: player is optional in disconnect events | Trumeet | |
API:CHANGE | |||
2022-07-29 | fix(libacron): incorrect pkg-config include dir | Trumeet | |
2022-07-28 | build(libacron): add Arch Linux PKGBUILD | Trumeet | |
2022-07-28 | fix(libacron): memory leak when received more than one frames | Trumeet | |
API:CHANGE | |||
2022-07-27 | Remove acronc/CMakeLists.txt | Trumeet | |
2022-07-27 | fix(acronc): fix FreeBSD build | Trumeet | |
2022-07-27 | docs(mod): fix wrong config key 'listen' | Trumeet | |
2022-07-27 | feat(acronc): add Windows support | Trumeet | |
2022-07-27 | fix(acronc): unable to input token | Trumeet | |
2022-07-27 | build(acronc): switch to Meson | Trumeet | |
2022-07-27 | build(libacron): subproject ready | Trumeet | |
2022-07-27 | build(libacron): switch to Meson | Trumeet | |
Meson is better on resolving dependencies on various platforms. | |||
2022-07-27 | feat(mod): enforce cmd response ordering and termination | Trumeet | |
2022-07-27 | feat(acronc): add id and host to the prompt | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-27 | fix(acronc): endif DEBUG | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-26 | feat(acronc): prettify cli experience | Trumeet | |
1. Make SIGINT interrupt the current operation by forcing stdin to listen again (because the spec currently does not specify how to send the final response, so acronc will wait forever in case of invalid commands) 2. Prettify prompt and output. Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-26 | fix(acronc): input <cmd><EOF> will cause illegal memory access | Trumeet | |
Cause: 1. stdin got cmd -> request 2. stdin got EOF -> ac_disconnect -> ac_conn becomes NULL 3. socket got response -> ac_receive(ac_conn) -> crash Conclusion: ordering issue between ac_disconnect and socket read. Solution: Best way: pause the input until command returns Cons: 1. Lost the advantage of background execution of commands (has to wait until done) 2. It is unreliable to determine if a command is done: although the current server implementation will not send anything else after an error or cmd_result, Minecraft server itself or future server implementations may. The spec does not say anything on termination. Acronc currently assumes that after receiving an error or cmd_result with the same request ID, it is done. Then, it resumes the stdin, reads the EOF, and then disconnect. Worse way: Directly call uv_read_stop before ac_disconnect Cons: It is going to lose anything, including command results. This is particularly undesirable for ad-hoc calls (i.e. echo list | acronc). Therefore, the current approach is to block and read as much as we can (until error or cmd_result), then stop reading the socket before disconnecting as a double safe. Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-26 | feat(acronc): support reading token from env var ACRONC_TOKEN | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-26 | Move the mod to mod/ | Trumeet | |
2022-07-26 | build(acronc): statically link against libac | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-26 | fix(acronc): code cleanup | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-26 | refactor(libacron/acronc/helloworld): move to separate directories | Trumeet | |
The corresponding CMakeLists.txt files are still rough. | |||
2022-07-26 | feat(acronc): add acronc(1), the Acron cli | Trumeet | |
Still in early development, Windows support is incomplete. Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-25 | feat(libacron): support force disconnecting without writing anything | Trumeet | |
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-24 | fix(acron): add remap = false for MinecraftServerMixin#startServer | Trumeet | |
This surpasses the warning of `Unable to locate method mapping for @At(INVOKE.<target>) 'Lorg/apache/logging/log4j/Logger;warn(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V'`. Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | fix(acron): incorrect cmd_out 'out' argument | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | fix(acron): incorrect cmd_out type | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | fix(helloworld): ACRONC_DEPS not used | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | refactor(acronc): rename acronc to helloworld | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | feat(acronc): guard the connection using a mutex | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | feat(libacron/acronc): delegate socket IO to the client | Trumeet | |
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-23 | fix(libacron): Windows does not have 'm' dependency | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-22 | fix(acronc): add missing \n | Trumeet | |
Signed-off-by: Trumeet <yuuta@yuuta.moe> | |||
2022-07-22 | feat(acronc): set SIGINT and SIGTERM handlers on Unix | Trumeet | |
Otherwise ASAN does not seem to run (if terminated). Signed-off-by: Trumeet <yuuta@yuuta.moe> |