All Projects → The-Powder-Toy → Tptmp

The-Powder-Toy / Tptmp

Powder Toy Multiplayer Script

Programming Languages

lua
6591 projects

Projects that are alternatives of or similar to Tptmp

Lasercrabs
Launch your LASERCRAB at walls, ceilings, and enemy heads in this indie multiplayer shooter where "move" and "attack" are synonymous.
Stars: ✭ 465 (+3775%)
Mutual labels:  multiplayer
Trinitycore
TrinityCore Open Source MMO Framework (master = 9.1.5.41488, 3.3.5 = 3.3.5a.12340)
Stars: ✭ 7,074 (+58850%)
Mutual labels:  multiplayer
Frag.exe
Multiplayer First-Person Shooter written in C++ using my own engine, Qor
Stars: ✭ 8 (-33.33%)
Mutual labels:  multiplayer
Freeorion
Source code repository of the FreeOrion project.
Stars: ✭ 507 (+4125%)
Mutual labels:  multiplayer
Openspades
Compatible client of Ace of Spades 0.75
Stars: ✭ 769 (+6308.33%)
Mutual labels:  multiplayer
Veloren
[Mirror] An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World
Stars: ✭ 868 (+7133.33%)
Mutual labels:  multiplayer
Iogrid
Multiplayer game engine/framework built using SocketCluster and Phaser
Stars: ✭ 455 (+3691.67%)
Mutual labels:  multiplayer
Epoh
Multiplayer turn-based browser strategy game
Stars: ✭ 11 (-8.33%)
Mutual labels:  multiplayer
Com.unity.multiplayer.mlapi
A game networking framework built for the Unity Engine to abstract game networking concepts.
Stars: ✭ 781 (+6408.33%)
Mutual labels:  multiplayer
Librg
🚀 Making multi-player gamedev simpler since 2017
Stars: ✭ 813 (+6675%)
Mutual labels:  multiplayer
Open Builder
Open "Minecraft-like" game with multiplayer support and Lua scripting support for the both client and server
Stars: ✭ 569 (+4641.67%)
Mutual labels:  multiplayer
Mtasa Blue
Multi Theft Auto is a game engine that incorporates an extendable network play element into a proprietary commercial single-player game.
Stars: ✭ 739 (+6058.33%)
Mutual labels:  multiplayer
Ancientbeast
Turn Based Strategy Game. Master your beasts! 🐺
Stars: ✭ 907 (+7458.33%)
Mutual labels:  multiplayer
Nakama
Distributed server for social and realtime games and apps.
Stars: ✭ 5,293 (+44008.33%)
Mutual labels:  multiplayer
Retrotanks
RetroTanks: Atari Combat Reimagined, built in Meteor.js. Great isomorphic JavaScript example.
Stars: ✭ 9 (-25%)
Mutual labels:  multiplayer
Csm
Source code for the Cities: Skylines Multiplayer mod (CSM)
Stars: ✭ 457 (+3708.33%)
Mutual labels:  multiplayer
Shoebill Api
Shoebill-api is one main part of the shoebill project.
Stars: ✭ 16 (+33.33%)
Mutual labels:  multiplayer
Dodgem
A Simple Multiplayer Game, built with Mage Game Engine.
Stars: ✭ 12 (+0%)
Mutual labels:  multiplayer
Ubernet
Flexible networking library for Unity
Stars: ✭ 10 (-16.67%)
Mutual labels:  multiplayer
Khan
khan will drive all your enemies to the sea (and also take care of your game's clans)!
Stars: ✭ 22 (+83.33%)
Mutual labels:  multiplayer

tptmp

The Powder Toy Multiplayer Script

Server Usage

Running the server

  1. Edit config.lua as needed
  2. run the command lua server.lua

Creating hooks

Create a .lua file in hooks/

Add server side commands using function commandHooks.<name>(client, msg, msgsplit) msg is the full message after the command, and msgsplit is a table of all the space separated words.

Add event hooks using function serverHooks.<uniquefunctionname>(client, cmd, msg) cmd is the event number, and msg is a special message that may be attached to it. Events are the same as the numbers handled in server.lua, with the special event -1 for quitting, and -2 for leaving a room.

Default hooks

badwords.lua kicks users off the server for using words in the predefined badwords list inside of messages or actions. commands.lua keeps track of the last time a user was online, for use in /seen. motd.lua sends a motd whenever any user joins a channel and motd[] exists.

Server Commands

/slist                  Prints a list of server side commands.
/shelp <command>        Prints help for a command.
/online                 Prints how many players are online and how many rooms there are.
/msg <user> <message>   Sends a private message to a user.
/motd <motd>            Sets the motd for a channel, if you were the first to join.
/invite <user>          Invites a user to a channel and sends a message asking them to join.
/private                Toggles a channel's private status. Use /invite to invite users.
/seen <user>            Tells you the amount of time since a user was last online.

Client Usage

Loading the client

  1. Move client.lua to the same directory as TPT.
  2. Open the TPT console by pressing the ~.
  3. Load the client by typing: dofile("client.lua").

Connecting to a server

  1. Press the icon on the left that looks like this: <<.
  2. In the window that pops-up, type /connect.

Joining other channels

Each server can have multiple channels. To join/create a channel use this command: /join <channel>. If you don't join another channel, you will stay in the default one.

Client Commands

/me <message>           Say something in 3rd person.
/connect [ip] [port]    Connect to a TPT multiplayer server, or no args to connect to the default one.
/quit                   Disconnect from the server.
/disconnect             Alias for /quit.
/join <channel>         Join a room on the server.
/kick <nick> [reason]   Kick a user, only works if you have been in a channel the longest.
/list                   List all of the commands.
/help <command>         Display information on a command.
/sync                   Syncs your screen to everyone else in the room.
/size <width> <height>  Sets the size of the chat window. Default is 225 by 150.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].