A fork of GrowSockets to create a growtopia private servers.
- Stable
- Plugins system
- Built-in ItemsDat tools & Web server
- Node.js v18+ (No need to build from source)
npm i growtopia.js
import { Client, TextPacket, Peer } from "growtopia.js";
const client = new Client({
enet: {
ip: "0.0.0.0"
}
});
client.on("ready", () => {
console.log(
`ENet server: port ${client.config.enet.port} on ${client.config.enet.ip}\nHttps server: port ${client.config.https.port} on ${client.config.https.ip}`
);
});
client.on("error", (err) => {
console.log("Something wrong", err);
});
client.on("connect", (netID) => {
console.log(`Connected netID ${netID}`);
const peer = new Peer(client, netID);
peer.send(TextPacket.from(0x1));
});
client.on("disconnect", (netID) => {
console.log(`Disconnected netID ${netID}`);
});
client.on("raw", (netID, data) => {
const peer = new Peer(client, netID);
console.log("raw", data);
console.log(peer.ping, peer.state);
});
client.on("action", (peer, data) => {
console.log(`Peer (${peer.data.netID}) action`, { data });
if (data.action === "quit") {
peer.disconnect();
}
});
client.listen();
To create your own plugin, take a look here
A example adding plugin to your server:
const client = new Client({
// Add a plugin here
plugins: [new IModule(), new WorldGen()]
});
Open a PR to add your plugin here
Name | Link | Description |
---|---|---|
HelloWorld | Github | Test sending hello world :D |
- C++ Build Tools (Linux: build-essential)
- Python (Recommeded v3.11)
npm i growtopia.js --build-from-source
Give a thumbs to these cool people
- Syn9673 - with his GrowSockets.