npm install haxball.js
// room.js
const HaxballJS = require("haxball.js");
HaxballJS.then((HBInit) => {
// Same as in Haxball Headless Host Documentation
const room = HBInit({
roomName: "Haxball.JS",
maxPlayers: 16,
public: true,
noPlayer: true,
token: "YOUR_TOKEN_HERE", // Required
});
room.setDefaultStadium("Big");
room.setScoreLimit(5);
room.setTimeLimit(0);
room.onRoomLink = function (link) {
console.log(link);
};
});
Haxball has a limit of 2 rooms per IP. Therefore, you can use proxy with adding proxy: "<YOUR_PROXY_IP>"
in your RoomConfig.
Example:
HBInit({
...
proxy: "http://1.1.1.1:80",
});
From v2.1.0, the package has basic typings included. Typings are automatically imported alongside haxball.js
package.
Install TypeScript and ts-node in your project:
npm install typescript --save-dev
npm install ts-node --save-dev
Name the file room.ts
instead of room.js
and use example room code from the previous section.
You may run the server with ts-node room.ts
instead of node room.js
. To make it runnable with npm start
, add the alias to package.json
:
// package.json
//...
"scripts": {
"start": "ts-node run.ts"
}
//...
git checkout -b my-feature
git commit -m 'feat: My new feature'
git push origin my-feature
Contributions, issues and features requests are welcome!
📮 Submit PRs to help solve issues or add features
🐛 Find and report issues
🌟 Star the project
Copyright © 2023 Mertushka mertushka@proton.me
This project is licensed by MIT License.
This README was generated with 💟 by readme-template-generator