Finish Demo Page (Almost build by AI)
And lot of bug fixing
(Due to there are lots of bug not tested out.
With build demo website it appears)
Log in to leave a comment
Finish Demo Page (Almost build by AI)
And lot of bug fixing
(Due to there are lots of bug not tested out.
With build demo website it appears)
Log in to leave a comment
Implementing gRPC Channel for game server and lobby to transfer messages.
Also Connection Manage Modules.
(It is much harder than I think…)
Log in to leave a comment
Due to the limited time remaining for Flavortown,
I’m trying to make it a functional system (as part of the whole game) that can be shipped.
However, it still seems like a difficult problem to deal with.
Since the last devlog,
I’ve been working on a messaging system to communicate with the frontend display (this won’t be finished in Flavortown).
I’ve also started building a RESTful API to add and run plugins.
Finally, I’m working on the game logic loop and its related functions.
There might end up being only some API endpoints without any frontend… or just an AI-generated one.
Sorry about that.
Log in to leave a comment
Make the VM stateless (even though it still maintains internal state, it is passed via arguments).
Plugins can still store variables internally.
After this change, some features that need to be shared across multiple games are now able to work
(because the VM’s variables no longer belong to a specific game).
However, you can no longer determine which game is using a particular function.
Btw some plugin function still working…
Log in to leave a comment
Finish plugin binding for the game (and player).
There is a huge problem that I didn’t realize: how many things I need to handle in the plugin system.
It seems like it will be difficult to deal with.
Even just implementing basic systems like riichi and tsumo feels challenging.
Btw It seems like i still need more hook to complete more function.
For example: If a player have Riichi. It should draw tile automatically If player can’t win this round.
Also plugin’s handler didn’t done yet.
Which means plugin still can’t change anything from game.
Log in to leave a comment
Rewriting Function Runner (now supports two types)
And bug fixes (the previous version had lots of bugs caused by the worker not sharing the same memory with the main thread, which made some classes inaccessible)
(Since I’m still working on the backend system…, the attachment is just part of the project plan.
Just the current plan — it might change during development)
I want to make the game class only handle storage and some simple functions.
The main logic (for example: Yaku checks) can be customized by plugins (running actual code in the runner).
Also some tricks (not sure if they will happen or not):
With a live runner, you can add a mystery counter,
which may cause someone to win without any clear reason.
(Though in the current implementation, this won’t happen,
since it requires enough games running in the same process and enough games using this plugin to keep it alive until it happens)
If you have any advice, please let me know.
Log in to leave a comment
Implement basic class and game flow
(not complete yet)
Image is mermaid which generate by ai
Log in to leave a comment
Change Restful API to gRPC
before everything is built.
(Though two of them are WIP)
(And None of them are well designed)
Log in to leave a comment
Create A js sandbox function runner with “quickjs-emscripten”
also a simple api to access it
(image below is test script which post code to the server and get result)
In my plan.
directly code execution will be change on next devlog
after change, you will need to upload it into another storage server.
then call function in sandbox by name and arguments
Log in to leave a comment
Add Connection Response Data
(I don’t actually know what is that)
Log in to leave a comment
Unify Style (Helped By AI)
Add RWD and Hook for detect device
Fix server page won’t show up scroll bar
Log in to leave a comment
update gate-proxy config settings
(This part help by ai due to i tired to warp the gate config)
Log in to leave a comment
Fix :
""
Log in to leave a comment
Fix Bugs:
Add:
Log in to leave a comment
Modifying example from go-rtmp.
Still learning how to write go code
Log in to leave a comment
Add a Forget Password Endpoint.
(Only email screenshot. because I forget to screenshot reset-password page)
Log in to leave a comment
I spent lot of time want to reduce time to generate all keys for each application.
But it seems cost more time than I think ……
btw it finally finished.
you can use /swagger/index.html to view API docs
(btw most of navbar function needs to login as admin)
Demo Admin User Email : [email protected]
Password : YourSecurePassword123
Add more management page
Fix some bugs (which might cause bugs in panel)
Add Readme
Enchanced Manage Panel
Make it notify and create admin when first start
Add Sqlite Support
Finish Docker Compose and Dockerfile
Log in to leave a comment
Finish Frontend and Email Auth
Log in to leave a comment
Add OpenAPI to API Endpoint.
Add Public Path List to make it won’t verify path those are public.
Remove Config Middleware (Seems like not used and danagerous)
Log in to leave a comment
Finish OpenIDConnect maybe.(and finish the key changing function)
Log in to leave a comment
Change Book and Chapter ID from serial to uuid.
Log in to leave a comment
Cast lots of time to finish the migration from gorm to ent
Log in to leave a comment
Currently Implementing Open ID Connect
(Have lots of work need to do…)
AI Help a lot to
Log in to leave a comment
Fix bug that will cause when using in my envrionment
(like db won’t migrate or mail dir wont clone into image)
And Finally fix mail sending problem (only test registry and login)
(Attachment is ArgoCD screenshot, it took about 4~5 hours to find problem and fix it)
(Hope that there won’t any bug later…)
Btw image-processor won’t crash when db not migrated. Wired :/
Log in to leave a comment
Bug Fix: Email sending problem (Most cause by file content wrong)
Now it can send email to user. (With correct content)
Log in to leave a comment
In this project, I tried to separate the processor from the frontend and used some specialized storage.
(Although it wasn’t mentioned in the write-up, I deployed a SeaweedFS instance.)
I also worked on other Kubernetes-related components, such as ingress and a multi-replica setup.
For caching, I implemented both cold storage and a hot cache. However, although the final design became quite complex, in practice it didn’t feel very usable.
This message was translated by AI because I’m not very good at English.
Add OAuth Endpoint (Not Reviewed)
Log in to leave a comment
Trying to do AuthFlow
(i need some help it blow my mind)
Log in to leave a comment
Fix the OAuth Error (Make it able to use middleware to set session and verify with protected url)
Current implementing SSO Server to Providors (Like Discord) OAuth
(Currently only test Discord)
Log in to leave a comment
Create A Basic Http Server In Gin
Build OAuth To Google And Discord With oauth2 from go and another for discord config
Add Basic Middleware and JWT Verify and Creation
Log in to leave a comment
I try to build a simple SPA to display all infomation.
and learn lots of k8s things like pv/pvc/deployment etc
also some api in k8s (in k8s node client)
and find that you can build a stateless manger in k8s by it builtin functions (which is cool)
In my deployment (If you want to run it same as me)
You need to setup a cloudflare token to make it update your domain that makes you have separate server in your cluster which will proxied by gate proxy
(if you didn’t set the domain, manager will add it into try list which will try when other server unreachable)
and it might have problem if you mount path wrong (because the manager needs to read file and server also)
so that I’ll recommend you use the nfs (though it might make minecraft server slower)
add runner and check helm work(save to local registry).
(QEMU is for arm64 image building)
Log in to leave a comment
Fix bot bugs (which not test out before) and add a sample to upload books
Change Image Processer Logic (Now fileCahcer control files. It’s delete logic was separated in codespace)
Fix frontend and ImageProcesser Image Size Problem (Prevent the 0 or 0.5 width and default width for screen)
readme is generated by ai
Log in to leave a comment
Try to make server refresh as fast as possible and make file system update after start started.
Log in to leave a comment
fine-tuning for k8s build and testing bot function(working…)
Log in to leave a comment
Add handling to prevent it crash by unknown timeout error.
move server status gather function from http request to websocket.
Log in to leave a comment
Add Bot API Endpoint and simple bot function (you can add a bot to add books if you want)
Log in to leave a comment
Add Email Auth
Log in to leave a comment
fix book upload and fix search bar tags parse error.
let owner edit tags and make cover upload function.
Log in to leave a comment
add deployment things like docker-compose and k8s deployment and fix bug that image server can’t upload image and db can’t be setup problems.
it can be deployed to k8s cluster now. I think.
(btw though next server still can save image locally. but I will recommend use both image and next.js due to current version is target for that and don’t test for local storage)
Log in to leave a comment
Combine two project into monorepo and implement image-processer
Log in to leave a comment
After discussing with other
Image processer will like (image below)
Log in to leave a comment
Currently make image processing and upload work. Also changing reader to fit processer.
(Not done yet.)
Log in to leave a comment
Make deployment into k8s work, basic frontend with server management and rcon.
And a simple DNS Manager to let you set server ip inside panel.
(using gate as proxy to connect player to servers inside proxy)
Log in to leave a comment