aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-07-26feat(acronc): add acronc(1), the Acron cliTrumeet
Still in early development, Windows support is incomplete. Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-25feat(libacron): support force disconnecting without writing anythingTrumeet
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-24fix(acron): add remap = false for MinecraftServerMixin#startServerTrumeet
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-23fix(acron): incorrect cmd_out 'out' argumentTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-23fix(acron): incorrect cmd_out typeTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-23fix(helloworld): ACRONC_DEPS not usedTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-23refactor(acronc): rename acronc to helloworldTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-23feat(acronc): guard the connection using a mutexTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-23feat(libacron/acronc): delegate socket IO to the clientTrumeet
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-23fix(libacron): Windows does not have 'm' dependencyTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22fix(acronc): add missing \nTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22feat(acronc): set SIGINT and SIGTERM handlers on UnixTrumeet
Otherwise ASAN does not seem to run (if terminated). Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22feat(libacron): ac_receive(): support setting a timeoutTrumeet
API:ADD Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22fix(libacron): use WSAGetLastError() instead of errno for WinSock error codesTrumeet
WinSock does not use errno. Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22feat(libacron): complete Win32 error message formattingTrumeet
The former approach, strerror(3), is not working on Win32 errors (GetLastError()) or WinSock errors (WSAGetLastError()). Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22fix(libacron): variable 'r' uninitialized in strerror2Trumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22refactor(libacron): remove unused export.mapTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-22feat(libacron): more customized ac_connection_parametersTrumeet
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-21build(libacron): add install targetTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-21build(libacron): add static libraryTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-21fix(libacron/acronc): complete cross-platform buildTrumeet
This patch made several changes to correctly build libac on Windows: 1. Deprecated PkgConfig on Unix. On both platforms, libac requires the JSON-C CMake module to locate libraries (whether is dynamic or static) and headers. On Windows, the common practice is to statically link the library, so libac now provides setup.bat to automatically clone JSON-C and build it. In CMakeLists.txt, libac will automatically pick up the in-tree JSON-C build if it presents. Otherwise, it will use the system default's. Users can override the CMAKE_PREFIX_PATH to supply a custom JSON-C library if it is not found in-tree. 2. Switched from #include <json-c/xxx.h> to <xxx.h>, as the former (current) approach is non-standard and depends on the system header locations. The later (new) approach relies on CMake to supply header search paths, which works on Windows as well. 3. Deprecated --version-script on Unix linkers. Instead, libac now uses -fvisibility (https://gcc.gnu.org/wiki/Visibility) on GCC or LLVM, as well as __declspec(dllexport) on MSVC to export selected symbols. A new macro, LIBAC_EXPORT, is defined in incl.h (new), and all functions needed to export are marked with that macro. 4. Changed several codes (mostly socket-related) to work on Windows. 5. Massive rewrite of CMake in preparation of further installation and static library support. Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-21fix(libacron/acronc): incorrect type passed to printfTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-21fix(libacron): ac_free not returnedTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20fix(libacron): ap_connect parameters not copied to connectionTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20refactor(libacron): use arg.app instead of inst->app, as per wic exampleTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20refactor(libacron): remove unused int s in ac_connectTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20fix(libacron): JSON object not freed after deserializationTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20docs(libacron): add library docsTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20fix(libacron): serializer_finalize not returnedTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-20refactor(libacron): remove unused fileTrumeet
2022-07-20libac: First CommitTrumeet
2022-07-20Fix LOGGER conflictTrumeet
java.lang.IllegalAccessError: class net.minecraft.entity.mob.ZombieVillagerEntity tried to access private field net.minecraft.entity.LivingEntity.LOGGER (net.minecraft.entity.mob.ZombieVillagerEntity and net.minecraft.entity.LivingEntity are in unnamed module of loader net.fabricmc.loader.impl.launch.knot.KnotClassLoader @3e77a1ed) at net.minecraft.entity.mob.ZombieVillagerEntity.writeCustomDataToNbt(ZombieVillagerEntity.java:83) at net.minecraft.entity.Entity.writeNbt(Entity.java:1506) at net.minecraft.entity.Entity.saveSelfNbt(Entity.java:1447) at net.minecraft.entity.Entity.saveNbt(Entity.java:1455) at net.minecraft.world.storage.EntityChunkDataAccess.method_31734(EntityChunkDataAccess.java:102) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762) at net.minecraft.world.storage.EntityChunkDataAccess.writeChunkData(EntityChunkDataAccess.java:100) at net.minecraft.server.world.ServerEntityManager.trySave(ServerEntityManager.java:248) at net.minecraft.server.world.ServerEntityManager.method_31846(ServerEntityManager.java:314) at it.unimi.dsi.fastutil.longs.LongIterable.forEach(LongIterable.java:74) at net.minecraft.server.world.ServerEntityManager.save(ServerEntityManager.java:308) at net.minecraft.server.world.ServerWorld.save(ServerWorld.java:600) at net.minecraft.server.MinecraftServer.save(MinecraftServer.java:577) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:823) at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:685) at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:290) at java.base/java.lang.Thread.run(Thread.java:833) Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-19Fix docsTrumeet
2022-07-19Fix docsTrumeet
2022-07-14Add pos and world in EntityTrumeet
API:ADD Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-14Refactor: Use GSON to deserialize enum WorldKeyTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-14Refactor: Move WorldKey, Vec2f and Vec3d to the common packageTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Fix HTTP connection not closed after writing error codes in AuthHandlerTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Use Java 16 insteadTrumeet
2022-07-13Refactor WSFrameHandler to isolate the business logicTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Explain global error codes (400 and 500) in docsTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Use error 403 instead of cmd_denied to represent permission denialTrumeet
API:CHANGE Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Add error codes to distinguish invalid requests and server errorsTrumeet
API:ADDITION Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Fix ID not working in ReqSetConfigTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Fix default ID of ReqCmd should be -1Trumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Move responses and events to separate packagesTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Fix command leading slash not ignored during permission checkTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13Make the whole /acron command available only to adminsTrumeet
Signed-off-by: Trumeet <yuuta@yuuta.moe>
2022-07-13First CommitYuuta Liang
Signed-off-by: Trumeet <yuuta@yuuta.moe>