Best development environment for backend in PlayCanvas

What is the best way to develop your backend without a SSL certificate. I don’t want to use glitch or any online alternative that doesn’t support Github co-pilot, Prettier, Tabnine,…

What do you mean by ‘develop your backend’?

The development process of my server for multiplayer purpose.

Oh, that’s quite a broad question. Perhaps @Leonidas and @commention can share their tech stacks

In regards to glitch, it’s basically a node server hosted in the cloud so you could use some other server host such as AWS, Heroku to host the node server instead and use whatever code editor you like.

Won’t that take a long time just to test? I figure I would have to publish a release every time I want to test something.

I don’t understand what you mean here? Your client and server would be separate applications

Yes, but they interact with each other. When testing my game in playcanvas it is on https://launch.playcanvas.com/ which uses HTTPS. If I create a NodeJS server it will run on my localhost while I am developing it. If I want the 2 to interact with each other I need an some way easy way to test my server. If I use a hosting I would have to publish it to my hosting every time I want to test something quick.

In which case, your only real alternative is to either use a HTTPS tunnel service like ngrok or host localhost with HTTPS.

I wrote a script that stops the playcanvas default build from loading when lainched from the editor, and loads whatever build i want hosted in s3.

As an alternative he could use something similar with drag and drop option where the website would wait for his build to be loaded.

@Powered I have attempted the exact same thing but what I have done is spin up a local server using directions published Here: Real-time Multiplayer with Colyseus | Learn PlayCanvas

This method uses open source Colyseus. I followed the instructions and was able to get the server live on one of my machines. What I was attempting to do is create a household server and build a game that I could play inside of our house network just for kicks. I started with the simple capsule tutorial.

You are correct. When I launched the games on different machines in house I would receive the "can not connect to an unsecure server. I was just using the in editor play button to launch. Here are the settings in my code.

MainMenu.prototype.initialize = function () {
    //this.app.colyseus = new Colyseus.Client("wss://tutorial-playcanvas-server.glitch.me");
    this.app.colyseus = new Colyseus.Client("ws://localhost:2567");

The directions also published indicate that

Note that we’re using the local ws://localhost:2567 endpoint here. You need to deploy your server to the public internet in order to play with others online. You can also use Glitch to host your server publicly.

This makes total sense as it is mixing both secure and unsecure. I kind of had to moved on to something else but there was one thing I did not try. You could download the code from the publish button and create a local instance of your game by using Visual Studio Code and installing the live server extension.

I have not tried this and maybe it is an option because you are running both locally and actually spin up multiple instances of the game. If this does work then the problem is every time you would want to make changes to the game itself you would have to edit it and then redownload the sources again.

Just a thought and again I have not tested.

Just as a note, this is not related to secure or insecure. localhost is not a public direction others can access from outside, localhost means “this machine”, but “this machine” has a different meaning for each device. It’s like if someone asks you where you live and you reply “in my house”.

Yes this was from the tutorial post. localhost is a somewhat mangled term. Also keep in mind that the web socket defiine in the path of ws: or wss: determines if it is secure or not.