|
|
Line 8: |
Line 8: |
| A WA WormNET server is basically composed of a slightly (if at all) modified [http://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] server and an [http://en.wikipedia.org/wiki/HTTP HTTP] server with a few scripts. As of writing this page, Team17's WA WormNET server is running ''2.8/hybrid-6.3.1(20020418_1)'' and ''Apache/2.0.54'' + ''PHP/4.3.10-16'' on ''Debian GNU/Linux''. | | A WA WormNET server is basically composed of a slightly (if at all) modified [http://en.wikipedia.org/wiki/Internet_Relay_Chat IRC] server and an [http://en.wikipedia.org/wiki/HTTP HTTP] server with a few scripts. As of writing this page, Team17's WA WormNET server is running ''2.8/hybrid-6.3.1(20020418_1)'' and ''Apache/2.0.54'' + ''PHP/4.3.10-16'' on ''Debian GNU/Linux''. |
| | | |
− | So, the typical screen you see in a WormNET channel is actually made up of two logical parts: | + | So, the typical screen you see in a WormNET channel i |
− | | + | |
− | # The first is the game list, which lists all games in the "waiting for players" state; WormNET games are managed by the PHP scripts.
| + | |
− | # The second is the nickname list and the chatter area, which are managed through IRC.
| + | |
− | | + | |
− | These parts aren't really interconnected - thus, it's possible to create a game without connecting to the IRC server, and it is possible to connect to the IRC server without logging in through the web interface (this might change with time).
| + | |
− | | + | |
− | A typical connection sequence to WormNET is as following:
| + | |
− | | + | |
− | * Worms retrieves '''Login.asp''', which contains a <CONNECT> directive - the IP/Port to the IRC server.
| + | |
− | * Worms logs on the IRC server, and gets the list of channels.
| + | |
− | * when the player joins a channel, Worms retrieves the channel scheme and game list for the channel ('''RequestChannelScheme.asp''', '''GameList.asp'''). <br /> The game list is periodically automatically updated.
| + | |
− | * when a player hosts a game, Worms sends a "create game" request via '''Game.asp'''<nowiki>; when the actual game starts (no more people can join) or when the host exits before the game starts, a similar "close game" request is sent.</nowiki>
| + | |
− | * when a player hosts or enters a game, he is disconnected from IRC.
| + | |
− | * when a player exits a game, he must reconnect to WormNET from the beginning.
| + | |
− | | + | |
− | == Security ==
| + | |
− | | + | |
− | The WormNET ASP scripts (which are probably PHP scripts disguised as ASP, to preserve compatibility with the URLs hard-coded into the game executable) will only reply to HTTP clients that identify themselves with the '''T17Client/1.2''' user-agent. You can quickly switch user agents with the [http://chrispederick.com/work/firefox/useragentswitcher/ User agent switcher] Firefox extension.
| + | |
− | | + | |
− | At the moment of writing this article, the rank and login system has been removed from WormNET, because it has been abused several years ago. Currently, there are no online 3rd party servers that support these features either (but there are projects in development).
| + | |
− | | + | |
− | == Channels ==
| + | |
− | | + | |
− | Each WormNET channel has its own settings. These settings can affect the presence of ranks, enforce a particular map or scheme, disable hosting games, and affect other settings for games hosted on the channel.
| + | |
− | | + | |
− | Here's the current list of channels and their scheme flags:
| + | |
− | | + | |
− | ; AnythingGoes : Pf,Be
| + | |
− | ; PartyTime : Ba
| + | |
− | ; RopersHeaven : Pf
| + | |
− | ; Help : Tf
| + | |
− | | + | |
− | === Meanings ===
| + | |
− | | + | |
− | '''a'''-'''z''' is 0 to 25 unless otherwise stated.
| + | |
− | | + | |
− | {| border="1" cellspacing="0"
| + | |
− | ! Code
| + | |
− | ! Arguments
| + | |
− | ! Effect
| + | |
− | |-
| + | |
− | |'''B'''
| + | |
− | |'''a'''-'''e'''
| + | |
− | |Amount of '''b'''lood.
| + | |
− | |-
| + | |
− | |'''D'''
| + | |
− | |'''a'''-'''z''' × ...
| + | |
− | |String of enforced game/weapon options. Copy of the scheme file without the 5 byte header (and some undocumented modifications to the 0 to 25 rule).
| + | |
− | |-
| + | |
− | |'''E'''
| + | |
− | |''(none)''
| + | |
− | |Make the channel open (the default setting). Same as "Ta".
| + | |
− | |-
| + | |
− | |'''G'''
| + | |
− | |'''a'''-'''z''' × ...
| + | |
− | |String of super-weapon options.
| + | |
− | |-
| + | |
− | |'''L'''
| + | |
− | |''(text)''
| + | |
− | |Name of the built-in '''l'''evel required.
| + | |
− | |-
| + | |
− | |'''N'''
| + | |
− | |''(text)''
| + | |
− | |Set the scheme '''n'''ame that will appear.
| + | |
− | |-
| + | |
− | |'''P'''
| + | |
− | |'''a'''-'''k'''
| + | |
− | |Set rope '''p'''ushing power level, defaults to 0, '''f''' is normal.
| + | |
− | |-
| + | |
− | |'''R'''
| + | |
− | |'''a'''-'''m''' <br> '''a'''-'''m'''
| + | |
− | |Set '''r'''ank restriction (minimal and maximal rank)
| + | |
− | |-
| + | |
− | |'''S'''
| + | |
− | |'''a'''-...
| + | |
− | |Set an enforced '''s'''tock scheme.
| + | |
− | |-
| + | |
− | |'''T'''
| + | |
− | |'''a'''-'''f'''
| + | |
− | |Hosting: 0=allowed, 1=ranked, 2=ranked, 3=ranked, 4=ranked, 5=disallowed<br>This is also used as the type value of the game when reporting the result. Setting a value between 1 and 4 won't allow the hoster to pick a custom map, under normal server setup.
| + | |
− | |-
| + | |
− | |'''V'''
| + | |
− | |'''a'''-...
| + | |
− | |Restrict room to players of a certain type - internally stored as "clan number", but not many clans can fit in one byte...
| + | |
− | |-
| + | |
− | |'''W'''
| + | |
− | |'''b'''-'''i'''
| + | |
− | |'''W'''orms per team, counting from b=1. If adding a team with this many would exceed the worm limit, that team will be added with less worms. Any values out of range count as b (1).
| + | |
− | |-
| + | |
− | |}
| + | |
− | | + | |
− | == Bots ==
| + | |
− | | + | |
− | Currently WormNET has these bots:
| + | |
− | | + | |
− | *'''ChanServ''' - kicks flooders and aids in WormNET moderation. Maintained by [[Team17]].
| + | |
− | *'''FTM-Bot''' - announces [http://ftm.fniclan.com/ FTM] tournaments. Maintained by the FTM clan.
| + | |
− | *'''FullWormage''' - connects WormNET with [[Worms on GameSurge|#worms on GameSurge]]. Maintained by [[People/Byte|Byte]].
| + | |
− | *'''Help''' - provides answers to common questions, welcomes people who enter #Help. Maintained by [[People/CyberShadow|CyberShadow]].
| + | |
− | *'''[[HostingBuddy]]''' - hosts games at request. Maintained by [[People/CyberShadow|CyberShadow]].
| + | |
− | *'''SheriffBot''' - kicks/bans flooders and aids in WormNET moderation. Maintained by [[People/CyberShadow|CyberShadow]].
| + | |
− | *'''[[Web Snooper|WebSnoop]]''' - allows accessing WormNET via a web interface. Maintained by [[People/CyberShadow|CyberShadow]].
| + | |
− | | + | |
− | == See also ==
| + | |
− | * [[WormNET statistics]]
| + | |
− | * [[MyWormNET]]
| + | |
− | * [[WormNET (Worms Unlimited)]]
| + | |