Releases: evolutionleo/Warp
v3.6 JSDoc support and WebSocket server!
This release introduces JSDoc documentation for the entirety of the JavaScript server, which enables really convenient auto-completion similar to TypeScript.
Another new big feature coming with v3.6 is the WebSocket server (JavaScript only for now), and a basic WebSocket client in HTML/JS
Enjoy! (and be sure to report any bugs/ask questions on the Discord server)
- Evoleo
GMOF v3.5: logging system & 2 important fixes
Sorry it took so long to put up an official release :p
Changelog:
This release introduces a custom function called trace()
to the server-side (both JS and TS), that will work similar to console.log(), in addition to also dumping everything into a log file.
Also fixes a major bug with broadcastList()/broadcastAll()/broadcastLobby() server-side that would ignore the "notme" argument.
Finally, v3.5 introduces a fix for a rare TCP bug/edgecase that would sometimes occur when the server is run on a remote machine/with latency
So, uhm, enjoy!
- Evoleo
TypeScript Server Updated!
I ported the entire thing to TypeScript!
...and added typings for EVERYTHING!
(For those who don't know, basically TypeScript (TS for short) is like JavaScript, but with strong typing and cool intellisense.)
-
The version is superior to the regular JavaScript one in a lot of ways, however:
-
if you're only starting out, it can be a lot to take on at once and I really recommend you to try picking up JS (EmptyServer.zip) first
-
I published a pre-release with the TypeScript before, but now I'm more confident in it because I actually made a jam game with it and it turned out quite nice (would be even better if I didn't put all the physics logic on the client)
-
Also I added a workaround that would reduce crashes server-side AND a safety try-catch both client- and server- side so that in case something goes wrong the whole thing still won't crash violently
Experimental TypeScipt Server
so I translated the whole thing to TypeScript
and replaced all CommonJS syntax with ES6 modules syntax in the TS version
and added path aliases (e.g. "#entities/" instead of "././../internal/entities/")
The latter two may or may not have taken me >6 hours of debugging insane BS un-googleable bugs
Anyways, I made this for a personal project and thought I had to share it.
The code is unpolished, sometimes crappy, and you can find commented versions of my previous tries to make it work
For some places I can't really give you a proper answer to "Why?" other than "Because apparently it only works this way??"
For experienced (and very patient) programmers only
Use at your own risk, it may or may not break the moment you touch any internal code/tsconfig.json/package.json, and you'll have to fix it yourself, I warned you :D
(Everything except TypeScript.zip is left untouched and is not experimental, so you can use the old files normally)
🔥 Broadcasting Hotfix 🔥
Fixes a bug that would make the server fail when c.broadcastAll() or c.broadcastLobby() were called (forgot to add this.
at the beginning of a method call)
🔥 Lobby Play hotfix 🔥
Fixes an issue with the "lobby play" command, that would not send expected data
🎉v3.0 Major Release🎉
This release adds some new functionality, namingly:
- Lobbies and Maps
- Accounts and Profiles
- Saving/Loading data
- Config system
Also it fixes a major bug that would crash the game when played with slight latency over network (TCP would sometimes just cut the packets in half, so I made a work-around that would stick them back together)
v2.1 Major bug fix
If wouldn't let the client receive more than 2 packets from the server at a time. Now it's fixed
Please update to this version, as you might encounter some cursed issues otheriwse
TypeScript Server + Bug Fix
Release Notes:
1) Adds a server in TypeScript
2) Fixes a bug that would prevent client from receiving 2+ messages fired at the same time from the server
TypeScript Server
This release adds TypeScript server from pull commit #3
Warning: This wasn't fully tested yet and might be not production-ready
Use beta at your own risk!