SRB2 Message Board  

Go Back   SRB2 Message Board > Sonic Robo Blast 2 > Releases > Lua

Reply
 
Thread Tools
Terminal - a netplay enhancement plugin Details »»
Terminal - a netplay enhancement plugin
Version: 1.2, by Wolfy (wolfs) Wolfy is offline
Developer Last Online: Oct 2017

Category: Version: SRB2 Rating: (4 votes - 4.20 average)
Released: 05-29-2014 Last Update: Never Installs: 6
Scripts Re-Useable Content

SRB2 is naturally a real fun game to play online. There's always lots of servers up for it, which is nice. SRB2's netcode kind of makes playing on those servers a little harder though, so that can prompt one to put up a dedicated server as people on the MB like ToBeFree have done. Unfortunately, SRB2's dedicated servers are rather dull due to SRB2's lack of multiple admins and other things that are almost always in dedicated servers for other games. These servers often end up dead despite how much more stable and speedy they are in comparison to the other, user hosted servers, which instead contain active administration. By this logic, dedicated servers are practically useless.

Not anymore.


What we have here is Terminal, a mod dedicated to enhancing netplay overall but designed specifically with dedicated servers in mind. Influenced by mods from other games (primarily SourceMod), Terminal incorporates numerous features that we believe improve SRB2's overall netplay experience.

Features:
  • Voting/Polls - Terminal's largest feature by far is without a doubt its voting system. The system gives the players of the server the ability to call a vote on various predefined subjects, or even their own unique ones! This includes changing the map, kicking players, resetting maps, and also changing gametypes. To make things more customizable, the vote system has plenty of modifiable variables to suit the needs of the server. The vote system allows the users to operate the server independently, which is something dedicated servers have desperately needed for a very long time.
  • Permissions - SRB2 has lacked multiple admins on servers for well over eight years and this is a problem. Typically, two users whom the server host trusts with admin privileges will fight for the @ symbol to the left of their names. Those days are gone. Terminal includes a fully featured permissions system that allows for multiple admins, different levels of control, and specialized permission levels. Just in case you're wondering how much we really did, SRB2's original admin system has been scrapped entirely in Terminal. Professionals have standards.
  • Unique Extras - Okay, admit it. Sometimes you like to screw around on your server. We understand this. And for that very reason, Terminal contains a completely optional Cheat module that allows you access to many singleplayer cheats in multiplayer. But wait - there's more! We have our own neat commands put in there too, ranging from warping commands to displaying the locations of all players on your screen. If you like hosting casual servers, this module is probably something you'd enjoy.
  • Modularity - Terminal has lots of stuff. We understand this. Some people might not want as much of the large quantity of stuff as others may. So for this, Terminal is fully modular. You can select which components specifically you would like to load onto your server such as our cheats, help, and login modules. With this, you can make your server more lightweight while still carrying the benefits of Terminal.
  • Customization - Terminal is a mod that we intend for others to modify, and to make that a bit easier, we have a neat splash screen system in place. An example splash screen wad is included with Terminal that includes three graphics that can be used for an automatic joiner splash screen. The difference between the graphics is the levels of transparency, which are settable in Terminal's scripts. This is especially useful for advertising your dedicated servers(or showing off!)

Instructions:
  • 1. Extract Terminal files to your SRB2 folder
  • 2. Rename "term_logins.ex.txt" to "term_logins.txt" if you want to use the login module
  • 3. Host the server
  • 4. "exec loadall.txt" in the console, or manually load whichever modules you want (make sure to load "Terminal_Core.lua" first)
  • 5. DEDICATED SERVERS ONLY: Execute the "iamtheserver" command in the console.
If you find any issues with hosting, make sure to tell us about them. After Terminal is up and running, you can use "term_help" in the console to bring up a help dialog that will cover basic use of the mod.

Spoiler: Changelog
Changelog:
  • v1.2
    • Use server instead of dediServer, since 2.1.15 has fixes for the former variable on dedicated servers.
    • Fixed showplayers for 2.1.15
    • charability and charability2 commands take lowercase input and allow omitting prefixes
    • destroyallenemies command only iterates through mobjs once
    • Minor changes in commands to prevent errors
  • v1.1
    • Countless fixes to countless features
    • Code has been completely refactored
    • findmap command, get map numbers by inputting level title
    • Players are not renamed to add symbols, PlayerMsg hook is used to make symbols appear next to names instead
    • Terminal_Help.lua has been merged into Core
    • Symbol colors can be changed locally with permissioncolor cvar
    • Moved showplayers command into Core
    • Lots of sanity checks added
    • addflags/removeflags added, simple method for manipulating player flags
    • charability and charability2 commands now accept CA_ and CA2_ constants as inputs
    • runonwater command added
    • destroyallenemies command added
    • spawnobject command added, spawns the given object 100 fracunits in front of the player
    • Polls with custom strings have been separated into the startpoll command
    • Maplists are generated automatically through mapheaderinfo, SRB1 maps are a manual override
    • Terminal_Maplist.lua has been removed
    • Voting, Login, and Cheats scripts will throw errors if Core is not added first
    Detailed changelog showing the locations of these changes can be found here. Revision history can be found on GitHub.
  • v1.0
    Initial Release.


LightDash.org Mirror
GitHub Repository


Notes:
Terminal is a rather large mod, so we've assembled our own temporary documentation for it here. We'll be moving this onto the wiki soon enough, however.

Terminal, while perfectly stable by itself, is meant to be a framework for servers. It is intended for others to modify Terminal to fit the needs of the server and as such, we strongly recommend that before you host a server with a modified branch of Terminal, you prefix any modified scripts or rename them entirely to avoid conflicts with scripts from other servers. As an example of this, I am hosting a 24/7 dedicated Terminal server with my own uniquely modified scripts to fit my (sort of) needs. If you really want, you can connect to this server at lightdash.org and I'll try to get a webpage up for it soon.

Some parts of Terminal can be really (and I mean really, really) dangerous if certain checks are removed. We advise you not to remove them for the sake of your server's security.

Remember, Terminal doesn't make any modifications to the way SRB2's information handling is done. You still shouldn't send sensitive information over SRB2 or expect things like your passwords to be 100% secure. Be careful and don't use any passwords that you use for other services as well.

Feedback is wonderful, we want plenty of it! Also make sure to report the usual stuff like odd tendencies and bugs. If you have any questions to ask or suggestions to push, the best place to ask is our channel, #SRB2Terminal on irc.esper.net.

The full credits for this mod are located in our external documentation link, for those interested. Everyone listed in the co-authors here has made a significant contribution or is an active main developer of the mod.

Terminal is, as previously stated, free to be modified and reused by anyone as long as proper credit is given. Unique server modules based on Terminal are something great that we specifically want to see.


Have fun!

Download Now

File Type: zip Terminal-v1.2.zip (22.0 KB, 707 views)

Screenshots

Click image for larger version

Name:	srb20133.png
Views:	1484
Size:	74.7 KB
ID:	5102   Click image for larger version

Name:	srb20014.jpg
Views:	1854
Size:	183.9 KB
ID:	5103   Click image for larger version

Name:	srb20125.png
Views:	1486
Size:	44.8 KB
ID:	5104   Click image for larger version

Name:	srb20124.png
Views:	1451
Size:	48.3 KB
ID:	5105   Click image for larger version

Name:	srb20132.png
Views:	1241
Size:	53.3 KB
ID:	5106  

Supporters / CoAuthors

Show Your Support

  • The author of this addon has given explicit permission for its content to be re-used and/or reproduced.

Comments
Old 05-30-2014   #22
LunarDestroyer
 
LunarDestroyer's Avatar
Default

Quote:
Originally Posted by Duon the Adventurer View Post
Okay, I have found a problem even worse than the problem before, executing loadall.txt automatically causes the game to crash. All of the files are there. The only thing that might be different is i had a couple of wads on start-up, could that be the case?
It depends. If those wads used Lua in them, then it might be a case of Lua overflow. Otherwise, I have no idea.
LunarDestroyer is offline   Reply With Quote
Old 05-30-2014   #23
Sapheros
That guy that ports
 
Sapheros's Avatar
Default

Quote:
Originally Posted by LunarDestroyer View Post
It depends. If those wads used Lua in them, then it might be a case of Lua overflow. Otherwise, I have no idea.
Yeah, i think it's pretty bad when you load touchpop.lua, lua_advitems.wad, and lua_boss.wad before loading terminal up

EDIT: The WORST thing about this is that I can't start SRB2Hub at all, even if it was added to autoexec.cfg, and even then, the lua in srb2hub will auto crash the game no matter how it's added.

EDIT2: Nevermind, I had too much lua wads again.
__________________
Hiyo all! Underground Website

Last edited by Sapheros; 05-30-2014 at 08:37 PM.
Sapheros is online now   Reply With Quote
Old 05-30-2014   #24
Katmint
Default

Adding files without Lua can still crash the game as long as something that does have Lua was already added.

Last edited by Katmint; 05-30-2014 at 09:14 PM.
Katmint is offline   Reply With Quote
Old 05-30-2014   #25
RedEnchilada
happy, pretty, lovely!
Developer
 
RedEnchilada's Avatar
Default

Quote:
Originally Posted by Duon the Adventurer View Post
Okay, I have found a problem even worse than the problem before, executing loadall.txt automatically causes the game to crash. All of the files are there. The only thing that might be different is i had a couple of wads on start-up, could that be the case?
Change the order you add everything in. Even try adding other files between the different Terminal modules. When you find a combination that works you can make your own loading script that loads them in that order.
__________________
Quote:
<@toaster> '"sonic robot explosion 2", the hot new sensation for teens looking for a good time, tempts many children away from god each year'
av src
RedEnchilada is offline   Reply With Quote
Old 05-30-2014   #26
Steel Titanium
 
Steel Titanium's Avatar
Default

Post the list of the wads, so we can find the source.
Steel Titanium is offline   Reply With Quote
Old 05-30-2014   #27
Sapheros
That guy that ports
 
Sapheros's Avatar
Default

I have figured it out, the SRB2Hub's Gameplay and Hangout area have so much lua, terminal added to it will cause it to crash upon loading it.
__________________
Hiyo all! Underground Website
Sapheros is online now   Reply With Quote
Old 05-31-2014   #28
Katmint
Default

SRB2 Hub does not contain any Lua at all. As stated countless times before, keep changing the order you add the wads in until it works.
Katmint is offline   Reply With Quote
Old 05-31-2014   #29
Sapheros
That guy that ports
 
Sapheros's Avatar
Default

Quote:
Originally Posted by Katmint View Post
SRB2 Hub does not contain any Lua at all. As stated countless times before, keep changing the order you add the wads in until it works.
Thankfully, I'm now able to access the hub and with less wads as well, i also put some extra commands in the loadall.txt to make the order less cramped.
__________________
Hiyo all! Underground Website
Sapheros is online now   Reply With Quote
Old 06-14-2014   #30
Kopper
Does not use Sonic.
 
Kopper's Avatar
Default

Ah, this looks like something good to crack into. These kinds of permissions are sorely needed in SRB2. (Now to convince everyone ever to run these luas, and wait on that autoregister program - remember to check if it plays nice with Microsoft's EMET by asking for optouts if it needs!)

And I've also heard secondhand reports of a lack of sanity checks, such as being able to votekick server hosts on non-dedicated servers. Don't know if it's true, though.
Kopper is offline   Reply With Quote
Old 06-15-2014   #31
RedEnchilada
happy, pretty, lovely!
Developer
 
RedEnchilada's Avatar
Default

Quote:
Originally Posted by Kopper View Post
And I've also heard secondhand reports of a lack of sanity checks, such as being able to votekick server hosts on non-dedicated servers. Don't know if it's true, though.
I'm not sure if it will actually work once the voting's finished, but you're right; we forgot to check if the player being votekicked is the host. The next update will make this check. (It might also prevent UP_FULLACCESS players from being votekicked, but we haven't decided for sure yet.) In the meantime, you're free to make the change yourself in the files you host with.
__________________
Quote:
<@toaster> '"sonic robot explosion 2", the hot new sensation for teens looking for a good time, tempts many children away from god each year'
av src
RedEnchilada is offline   Reply With Quote
Old 06-28-2014   #32
CyanFox
SRB2 C.P. Revived
 
CyanFox's Avatar
Default

I tested the votekick with me as the host. I didnt get kicked at all. So, probably no need to fear about that.
CyanFox is offline   Reply With Quote
Old 07-18-2014   #33
FN.FIRESONIK
 
FN.FIRESONIK's Avatar
Default

In the core file I do not find the sentence "Welcome to SRB2 terminal"
who is displayed has the screen on srb2
FN.FIRESONIK is offline   Reply With Quote
Old 07-18-2014   #34
RedEnchilada
happy, pretty, lovely!
Developer
 
RedEnchilada's Avatar
Default

...If you mean the popup that shows when you join the server, that's in Terminal_Help.lua.
__________________
Quote:
<@toaster> '"sonic robot explosion 2", the hot new sensation for teens looking for a good time, tempts many children away from god each year'
av src
RedEnchilada is offline   Reply With Quote
Old 07-19-2014   #35
Firework917
Wizard 1.0 is SRB3!
 
Firework917's Avatar
Default

An easy (and probably late) suggestion? Can you add a setscore command? If you already have one, please tell me what command it is.
__________________
3DS Friend Code: 4854-7022-7173
SRB2 FTW
Firework917 is offline   Reply With Quote
Old 07-19-2014   #36
Wolfy
wolfs
Developer
 
Wolfy's Avatar
Default

That's... not very practical, to be honest. As such, Terminal doesn't have a command like that.
__________________
Quote:
[23:56:36] <SM-MaxX> prisma illya is a gift to this impure earth and a shining beacon for all anime

Last edited by Wolfy; 07-19-2014 at 09:41 PM.
Wolfy is offline   Reply With Quote
Old 08-24-2014   #37
AxiomAerofox
 
AxiomAerofox's Avatar
Default

How i can add the splash screens in server?
AxiomAerofox is offline   Reply With Quote
Old 08-24-2014   #38
Wolfy
wolfs
Developer
 
Wolfy's Avatar
Default

Splash screens are automatically enabled depending on the presence of three lumps in any wad. You can check Terminal_Help.lua (Terminal_Core.lua on github and the next update) for the lump names and their transparency settings.
__________________
Quote:
[23:56:36] <SM-MaxX> prisma illya is a gift to this impure earth and a shining beacon for all anime
Wolfy is offline   Reply With Quote
Old 09-06-2014   #39
Rapidgame7
pressure pressure pressure
 
Rapidgame7's Avatar
Default

Is it possible to report stuff about the GitHub version?

Spoiler: If the answer is yes:

You should fix the object spawn command, because it doesn't spawn objects in front of me, but at 45 absolute of me.


Spoiler: If the answer is no:

Okay.


Also, I like this, reminds me of Sourcemod and AMX Mod, where I could jump literally everywhere and noclip around :P


Where I can contact you just for the lulz? And because bugs and stuff
EDIT: If possible, by any other means not implying Mumble, as I do not "voice chat" in english but I do write and read in this language.
I mean that that's hard for me knowing I'm learning english.

Last edited by Rapidgame7; 09-06-2014 at 11:29 PM. Reason: I do not "voice chat" english...
Rapidgame7 is offline   Reply With Quote
Old 09-07-2014   #40
DoomGamesLover
Permanently Banned
Default

Voting ? Pretty cool,that's what i was talking about a few days ago ....
DoomGamesLover is offline   Reply With Quote
Old 09-07-2014   #41
Wolfy
wolfs
Developer
 
Wolfy's Avatar
Default

Quote:
Originally Posted by Rapidgame7 View Post
Spoiler: If the answer is yes:

You should fix the object spawn command, because it doesn't spawn objects in front of me, but at 45 absolute of me.
Huh, I don't remember any situations like that, but I haven't tried the command in a while. I'll give it a shot next time I get the chance.

Quote:
Originally Posted by Rapidgame7 View Post
Where I can contact you just for the lulz? And because bugs and stuff
EDIT: If possible, by any other means not implying Mumble, as I do not "voice chat" in english but I do write and read in this language.
I mean that that's hard for me knowing I'm learning english.
You can contact us on IRC, we usually stick around in #srb2fun or in our own channel, #SRB2Terminal.
__________________
Quote:
[23:56:36] <SM-MaxX> prisma illya is a gift to this impure earth and a shining beacon for all anime
Wolfy is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:29 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, vBulletin Solutions, Inc.