SimpleNetwork is a easy to use, buffer free TCP networking tool. (UDP Version can be found here)

With SimpleNetwork you will find it easy to setup your multiplayer game. With scripts taking care of buffers and data types for you, you don't have to learn anything new about networking! SimpleNetwork comes with server scripts, client script, packet scripts and three objects for handling all client/server communication. To send a packet, simply write "net_packet_create(id); net_packet_add(data); net_packet_send();" anywhere in the code!

SimpleNetwork contains example for telling all clients whenever a user connected/disconnected.

All scripts in SimpleNetwork are commented and documented. All information you need about a script is in the header of the script.

A simple tutorial on how SimpleNetwork works

End User Licence Agreement (EULA).

Changes in 1.6.0

Added support to add lists to packets. Adding a list to a packet will add all items in the list to the packet, with a special identifier. When the packet is received, it will create a new list containing these items.

Make sure to destroy lists after you have finished using them.


  • net_packet_add_list(list)

Version 1.6.0. Published October 1, 2016

Created with GameMaker: Studio v1.4.1760

Age Rating: 4+

Average Rating

Your review

You can only review assets you've bought.


Anonymous 30 November 2018


Anonymous 02 November 2017

Need to know something

Hello!, first by saying that this extension is the best i found, i want to ask about :

How i do i send x, y of a certain player... that could manifest the recieved coordinates in a player (obj_otherplayer representing another socket of the server)?, is that i wanna to know, for do a mutiplayer :) .


Ata N 15 September 2016

Thanks! This is a great extension

But, for creating multiples "multiplayers seperated lobbys" in a multiplayer games.. It must support rooms (or channels) ...

I didn't see any of that, will it support?
player1 and player2 entering in lobbyroom #LOBBY1
player3 and player4 entering in lobbyroom #LOBBY2

Only in #LOBBY1 player1 and player2 will able to speak or their clients send packets..
Only in #LOBBY2 player3 and player4 will able to speak or their clients send packets..

You mean what I speak about ?

EDIT: (09/15/2016): Thanks for answer so :)

This review was left for a previous version of this asset.


Kanelbull3 Studios (Publisher) 12 September 2016

It is not avaiable yet, but will be supported in future versions


Märten R 22 March 2016

Great work

It really helps to get quickly started with networking without messing with buffers. You can just tell the function which values you want to send.
Nicely documented, readable code.

Additional remarks:
1) Client and server buffers are defined differently
server.buffer = buffer_create(2048, buffer_grow, 1);
client.buffer = buffer_create(512, buffer_fixed, 1);
Is there a reason for that? I believe the client buffer could possibly get full and create an error.

2) Would be great to also have functions to disconnect
NetClientDestroy - Close connection on client
NetServerDestroy - Disconnect all clients and stop listening
NetServerDisconnect(client) - Drop the given client connection

This review was left for a previous version of this asset.


Kanelbull3 Studios (Publisher) 24 March 2016

Thank you for your review.

I have myself never run into any problems with the buffer getting overflowed, but that sure is something that can cause errors.
I do not think it is a good idea to make the buffer type "buffer_grow" on client as it can allow clients to create huge packets.

I agree that the buffer might be too small, it will be changed in the next update.

That are great ideas. They will be included in the next update!

Package contents

Loading, please wait

What is the issue?

Back to Top