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

Lua hot reload #1009

Closed
wants to merge 8 commits into from
Closed

Conversation

deflinhec
Copy link
Contributor

@deflinhec deflinhec commented Mar 30, 2023

Lua hot reload for runtime match and rpc.

* master: (27 commits)
  Satori API integration fixes (heroiclabs#1005)
  Attempt to exchange Google's authorization code when given one instead of as a JWT (heroiclabs#997)
  manually revert protobufany and updategroup in swagger.json (heroiclabs#1003)
  Make haystack cursors consistent with listing (heroiclabs#994)
  Support purchases-not-null-uid.sql migration on crdb. (heroiclabs#992)
  Add runtimes satori integration (heroiclabs#993)
  Disconnect banned users (heroiclabs#1001)
  Add runtime http insecure flag (heroiclabs#1002)
  Add Go runtime GroupUpdate userID param (heroiclabs#996)
  Better handling of matchmaker operations while the interval process is running.
  Ensure direct message channel message listing is correctly scoped to participants only.
  Update get purchase/subscription signature (heroiclabs#990)
  Fix reversal of open/closed group listing filter (heroiclabs#989)
  Always log out a deleted user (heroiclabs#987)
  Listing returned vars (heroiclabs#986)
  Add tournament record delete runtime functions. (heroiclabs#977)
  Improve google refund polling handling. (heroiclabs#982)
  Console user and authentication improvements. (heroiclabs#978)
  Console session handling improvements. (heroiclabs#979)
  Fix google purchase upsert query. (heroiclabs#973)
  ...
@dragonlobster
Copy link

@deflinhec would this hot reload work for typescript modules as well?

@deflinhec
Copy link
Contributor Author

@deflinhec would this hot reload work for typescript modules as well?

Nope, this PR is only for lua.

…olve race condition on RuntimeModuleCaches.Names (+1 squashed commit)

Squashed commits:
[b03946db] file system notify
* feature/lua-hot-reload:
  Determine static lua files(which hotfix is disabled with marker), resolve race condition on RuntimeModuleCaches.Names (+1 squashed commit) Squashed commits: [b03946db] file system notify
@zyro
Copy link
Member

zyro commented Aug 11, 2024

We are currently not comfortable integrating hot reloading into the server itself due to considerations around various existing running processes: match handlers, RPCs, before/after hooks etc. Our concern is it would be difficult to reason about which version of the code is running for any given execution context, relative to the value that hot reloading provides.

If hot reloading-like behaviour is needed, we recommend setting up a file watcher to restart the whole server process. Nakama's startup is very lightweight, so this generally does not take longer than a couple of seconds.

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.

3 participants