Releases: evolutionleo/Warp
[v4.4.3] Compatibility between client and server versions
This minor release introduces a new feature for the server - it now fetches clients' GAME_VERSION and checks it (using the "semver" npm package) against its own config.meta.compatible_game_versions, which you can edit inside the config.js/ts file.
It then kicks the client if their version is out of date (not compatible with the server)
(As of now this feature does not work for the js/web client, bc I'm too lazy to implement that lol)
Also, looks like somewhere along the way a GameMaker update broke dual instances, so I fixed that by swapping the extension used to execute shell commands with the amazing YellowAfterlife's execute_shell_simple (the previous one used was also written by him btw lol)
So, uhh, Enjoy!
...and have a Happy New Year!
- Evoleo
[v4.4.2] Config deep merge
Makes it so that all the sub-objects of the dev/prod configurations are merged correctly into the global.config object
[v4.4.1] Better room loading!
This update adds the new rooms_path server-side config that is responsible for the location from where Warp is grabbing the .yy files to load. Previously you had to manually copy the .yy files into the server/rooms/ folder every time you made an update to the levels, but now you can just load them directly from the GM project!
Warp will now warn you if there is ever an object with no matching entity type attached to it that Warp is trying to load. You can disable this warning in the config.js/ts file
Enjoy!
- Evoleo
[v4.4] WebSocket support for GameMaker!
Adds WebSocket support for the GameMaker client!
Really useful if you want to run your game in the browser (although WebSockets do also work on Windows)
You can switch to using WebSockets by simply changing the SOCKET_TYPE macro to SOCKET_TYPES.WS inside NetworkingConfig.gml
Enjoy!
- Evoleo
[v4.3.2] Adds lengthdir() to util/maths
a minor update, adds lengthdir(), lengthdir_x() and lengthdir_y() to util/maths.ts, similar to GML's lengthdir_x/y() functions
[v4.3.1] Fix player jitter in the demo
This minor release fixes an issue with the demo where remote player instances would jitter while moving (only noticeable when there's latency present)
[v4.3] Flexible configs!
This update introduces new server-side configs in the config.js file that allow disabling the rooms and the entities systems, as well as toggle lobbies between adding the players into play all at the same time or one by one
These are some very important changes, since they allow you to easily decouple the systems that you don't need in your game from the core of Warp framework (that is fundamentally just sending and receiving packets). Really really vital for when your game isn't a 2D platformer, or doesn't even use entities whatsoever (e.x. a card game)
Enjoy! :p
- Evoleo
[v4.2.3] WSS/SSL support
yup, secure web socket support that's right (JS client only for now sorryyyy)
[v4.2.2] ping leak fix
so there was a really dumb major bug where ping commands would never stop going around and stack up with time and eventually lag the server...
oops! :d
I am very sorry, I had no idea, I haven't tried leaving the server running for 20 minutes to see if there's a potential memory leak in the ping logic!
anyways, now it's fixed!
- Evoleo
[v4.2.1] 🔥 Hotfixes!!! 🔥
So, 4.2 was a pretty big update! And, uh, 4.2.1 is here to fix some critical issues that went under the radar!
Changes:
- Fixes a bug with broadcastList() that would ignore the notme flag (reintroduced somewhere along the way), see #9
- Fixes a major bug with portals and reconnecting players, that would remove/kick every player from i to length, instead of just 1 (who would've thought that Array.splice() works that way...)
- Adds a new ip/hostname config
- Adds npm scripts to run the server with
npm run dev/npm run prod
Enjoy!