Orpheon's Hosting UtilitiesDescription:I've noticed that there is no server-mod anymore, because both Vindicator and Ajf (and Artemis) decided to discontinue their mods.
This is not a very good thing, since there are several features that are easy to code and very useful for hosting yet do not exist in the standard gg2 for various reasons (like kicking).
That's why I've decided to make my own.
It features kicking, banning, classlimits, plugin support, map changing, chat, rcon and the newest version of the Tempest Bot.
Command List and the Console:The console is in the bottom-left of your screen. You can activate/desactivate it pressing Enter.
When you type a command, add arguments like this:
myCommand -arg1 -arg2 -arg3
Rcon commands must simply be preceded with "rcon ", like this:
rcon addBot -red -pyro
You can make some commands execute automatically once you host/join a server. To do this, create a text file called "autoexec.txt" inside your OHU Directory.
Then, inside, mark your commands with the following syntax:
addBot -red -pyro|chat|Hello, I'm your host|/exit
(This is an example, of course)
Commands with players, like kick, use the player ID instead of the name. To see this id, just hit shift and look a the scoreboard.
If you want a specific id, just use the showID command.
-The current Command List-
addBot -team -class
team can be: -red, -blue or -blu
class can be: -scout, -runner, -soldier, -rocketman, etc...
This adds a bot to the game of the given team and class, obviously.
Warning: It will not work in Dynamic Mode, this is intended.
removeBot
Removes the last bot created.
kick -playerID
Kicks the player with that ID.
ban -playerID
Writes the IP of that player to a file called "banlist.txt" and kicks the player.
When a player joins, the game first checks whether that IP was banned, if yes it refuses the connection and sends a small message to the console.
showIP -playerName
Writes the players IP to the console.
nextMap
Ends the game with a Stalemate and goes to the next map.
changeMap -mapName
Ends the game with a Stalemate and goes to the map of your choice. After that map is finished the game will continue where it left off in your rotation.
chat
Starts Chat mode. Details below.
help
Shows a list of all the available commands, including plugins.
Was mostly included as a test.
setCrossTeamChat -on/off
What it says; it lets different teams all chat together.
setRconPass -password
Sets the rcon password.
This must imperatively be done at the start of the match!
rconPass -password
This is how the client tries to become a rcon, by typing this.
showID [-name]
The argument is optional; if one is given it'll search that player and print the id of that player, else it'll print the ids of all the players.
changeNextMap -mapName
Sets the next map in the rotation, but will not end the current one immediately.
Plugins, how to use and how to make them:I used the .spy extension on wish of a few members, but the plugins are still a normal text.
To use plugins, just put the plugin into the folder "Plugins" and it should get automatically loaded.
To make plugins, just write the code in GMK, paste it into Notepad/Gedit/whathaveyou and give it the extension .spy
I defined two commands that are useful for the making of plugins: print(string), which displays a message to the console; and addCommand(name, command), which adds a command to the list.
Plugin List:Warning: I do not guarantee that any of these plugins work or do not break OHU.Damage IndicatorTaunt-healBullet ColorationFPS IndicatorPlayer ListSprite Loader+
The default spritesHat Loader+
Hap SpritesRcon and you:The first thing a hoster should do is define a rcon password. This is done by typing
setRconPass -my_very_secret_password
Clients can then connect using
rconPass -the_secret_password
A rcon client can do everything the host can.
Beware: Error messages will appear on the hosts console, because I haven't made a system to convey them back yet.
Be careful to type your commands correctly.
The Chat:You can activate the chat mode by typing "chat" inside the console.
By pressing "u" everything you type will be for your team only, and by pressing "y" you'll let everyone know.
Default is private chat.
The host will always have a yellow text color for everyone.
Else simply the team color, with green for Spectators.
If the host wants to kick someone from the chat, type in chat mode "/kick -playerName".
NOTE: It's possible, if you do a bit of research in the source, for a client to send text in about every color.
You don't even need to modify anything. So don't be surprised if suddenly the chat gets colorful.
Credits: -I ripped several parts from TTS, most notably the console itself, as well as a few algorithms. Credit to ajf.
-I ripped a bit of the design concept from the Artemis chat into my own. I'm talking about the chat background. I made it myself, but I ...inspired myself from Artemis.
Also Huge thanks to:
- Derp(new)
- Goodness and Light
- Jazzi
- Gangsterman
- CrazNoDooder
- ViP3R
- Muse
- Mew
- Ultros
- rolfcake
- Trog (also known as gorT)
for bug-testing and various small helps.
Download:The exeThe zip (for people with oversensitive Anti-virus)The source (as gmk)The source (at GitHub)A hilarious example of the Tempest Bot, provided by rolfcake:And yeah, you can do this with Scouts, Pyros, Soldiers, Heavies, Medics, Engineers, Snipers and any combination of those!
More information on the Tempest Bot can be found here.Actually this is almost too old.
This is a WIP, I can still use help.Plugins, Questions, Requests, Bug Reports and Ideas are very appreciated.
If you do find bugs, please test whether they also happen without plugins. This is important for me.
PS: Moved because Haxxy ended.