Skip to content

Releases: evolutionleo/Warp

[v4.4.3] Compatibility between client and server versions

29 Dec 17:35

Choose a tag to compare

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

15 Aug 04:35

Choose a tag to compare

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!

07 Aug 14:51

Choose a tag to compare

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!

11 Jul 16:01

Choose a tag to compare

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

10 Jul 16:26

Choose a tag to compare

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

10 Jun 19:20

Choose a tag to compare

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!

07 Jun 05:55

Choose a tag to compare

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

15 Apr 18:02

Choose a tag to compare

yup, secure web socket support that's right (JS client only for now sorryyyy)

[v4.2.2] ping leak fix

12 Apr 19:11

Choose a tag to compare

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!!! 🔥

31 Jan 13:46

Choose a tag to compare

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!