Skip to content
Browse files

Manually merge changes by @neersighted.

  • Loading branch information...
1 parent 78aa90c commit ac7fa66d1448b997db05dfc74440e85e1ece0944 @SaberUK SaberUK committed May 23, 2012
View
18 Contributing.md
@@ -1,5 +1,6 @@
-Introduction
-------------
+# InspIRCd Wiki » Contributors
+
+## Introduction
The InspIRCd project is quite open to all contributions, large and small. Whether you're a coder,
documentation writer, tester or ''<insert role here>'', we're sure you will help out in a useful
@@ -8,8 +9,9 @@ way.
This page documents a bit of how we work internally as a project, so that you can better fit in and
help out if you want.
-Development
------------
+## Ways to Contribute
+
+### Development
The development team is of a loosely connected group of contributors, all working and collaborating
on things they want to see done. We don't really assign work to anyone, they find stuff to work on
@@ -20,19 +22,17 @@ You can find repositories on [GitHub](http://github.org/inspircd/).
If you wish to contribute to development, feel free. File as many pull requests as you want. Pull
requests that fix existing issues are especially welcome.
-If you ever need to make a release, see the [release procedure](https://github.com/inspircd/wiki/blob/master/Release-Procedure.md)
+If you ever need to make a release, see the [release procedure](https://github.com/inspircd/wiki/blob/master/Contributors/Release_Procedure.md)
page for help.
-Documentation
--------------
+### Documentation
Not everyone who can code is stellar at writing things up in a clear, easy to use way - this is
where people can help out quite often, by making our numerous features easy to understand.
Alternatively, perhaps you are interested in helping to translate our documentation into the
language of your choice. Most of the action in this department takes place here on our wiki.
-Support
--------
+### Support
Support is a largely informal area, provided by other users and team members. To help out, hang
around in [#inspircd](irc://irc.inspircd.org/inspircd) (we don't mind idlers!) and answer questions
View
74 FAQ.md
@@ -1,8 +1,6 @@
-Frequently Asked Questions
---------------------------
+# InspIRCd Wiki &raquo; Frequently Asked Questions
-Why should I choose InspIRCd over some other IRC server?
---------------------------------------------------------
+## Why should I choose InspIRCd over some other IRC server?
There are several reasons to choose InspIRCd over some other IRC server. These are:
@@ -24,15 +22,13 @@ builds beyond most other Windows IRC servers.
* The InspIRCd development team welcome third party contributions, suggestions and criticism whereas
many of the developers of alternative IRC servers do not.
-How much memory does InspIRCd use?
-----------------------------------
+## How much memory does InspIRCd use?
A network with 3000-4000 locally connected clients and 10000 open channels experiences a constant
1-4% CPU use with 70MB of RAM use. This won't go up drastically, but it will go up. Around 40000
local clients means you'll be expecting some 500MB of RAM.
-How do I start InspIRCd?
-------------------------
+## How do I start InspIRCd?
Navigate to the directory in which you installed InspIRCd and issue the following command:
@@ -41,13 +37,11 @@ Navigate to the directory in which you installed InspIRCd and issue the followin
Note: these instructions only apply if you installed InspIRCd from source on a UNIX-like operating
system. If you installed InspIRCd from a package manager it will probably not use this method.
-Can my network be the "official" InspIRCd network?
---------------------------------------------------
+## Can my network be the "official" InspIRCd network?
Sorry, no. That privilege is reserved for our own network at [irc.chatspike.net](irc://irc.chatspike.net/).
-What services package should I choose?
---------------------------------------
+## What services package should I choose?
This is an extremely subjective question. It is advised that you trial multiple different packages
and use the one that you feel fits your needs.
@@ -56,11 +50,9 @@ Popular IRC services packages used with InspIRCd include:
* [Anope](http://www.anope.org/)
* [Atheme](http://www.atheme.net/)
+* [IRCServices](http://achurch.org/services/) (**No longer recommended** due to it being unsupported.)
-Use of [IRCServices](http://achurch.org/services/) is not recommended due to it being unsupported.
-
-Where should I report a bug/suggest a feature?
-----------------------------------------------
+## Where should I report a bug/suggest a feature?
On the appropriate issue tracker:
@@ -69,29 +61,25 @@ On the appropriate issue tracker:
* [Website](https://github.com/inspircd/inspircd.github.com/issues)
* [Wiki](https://github.com/inspircd/wiki/issues)
-How can I contribute to InspIRCd?
----------------------------------
+## How can I contribute to InspIRCd?
Take a look at our [Contributing](https://github.com/inspircd/wiki/blob/master/Contributing.md)
page.
-Can I use InspIRCd on my large network?
----------------------------------------
+## Can I use InspIRCd on my large network?
Feel free! We have tested InspIRCd up to 80000 clients on a single server. If you have any
statistics on performance you would like to share, then get in touch.
-Do any large networks use InspIRCd?
------------------------------------
+## Do any large networks use InspIRCd?
To our knowledge, the largest networks using InspIRCd are:
* [IrCQ-Net](irc://irc.icq.com/) with 4000-6000 users
* [Barafranca](irc://irc.barafranca.com/) with 1400-3500 users
* [Chatspike](irc://irc.chatspike.net) with 600-1400 users
-Which socket engines are supported by InspIRCd?
------------------------------------------------
+## Which socket engines are supported by InspIRCd?
The following high performance socket engines are supported:
@@ -106,14 +94,12 @@ performance gains over select(), and should be used wherever they are available.
any of these socket engines, you should seriously consider upgrading your operating system or kernel
before running an IRC server.
-What IRCd is InspIRCd based on?
--------------------------------
+## What IRCd is InspIRCd based on?
None. Yes that's right, None. We didn't start from anyone else's code, at all. It is not based on
Unreal, it is not based on Bahamut, nor is it based on any other IRCd. This is what makes it unique.
-Can I run InspIRCd as root?
----------------------------
+## Can I run InspIRCd as root?
You could run the InspIRCd binary with the --runasroot parameter, but we will not provide any
support for doing this. If you want to bind InspIRCd to a privileged port, you should instead
@@ -137,57 +123,49 @@ On FreeBSD and similar systems, there is a sysctl OID for this, which you can se
This will allow non-root processes to bind any ports which are above port 1, essentially all
available port numbers.
-How do I run InspIRCd when the system starts?
----------------------------------------------
+## How do I run InspIRCd when the system starts?
To launch InspIRCd when your system starts, you should place the following line into the crontab for
your IRCd user (crontab -e):
@reboot cd /home/user/inspircd; ./inspircd start
-How do I get prefixes like `@`, `~` and `&`?
--------------------------------------------
+## How do I get prefixes like `@`, `~` and `&`?
If you are using InspIRCd 1.2, load [m_customprefix](https://github.com/inspircd/wiki/blob/master/Modules/customprefix.md).
If you are using InspIRCd 2.0 or newer, load [m_halfop](https://github.com/inspircd/wiki/blob/master/Modules/halfop.md)
-and [m_chanprotect](https://github.com/inspircd/wiki/blob/master/Modules/halfop.md).
+and [m_chanprotect](https://github.com/inspircd/wiki/blob/master/Modules/chanprotect.md).
-Why does my server have none of the advertised features?
---------------------------------------------------------
+## Why does my server have none of the advertised features?
By default, InspIRCd only supports features specified in [RFC 1459](http://tools.ietf.org/html/rfc1459).
If you want to add extra features then you must load the correct modules. A list of modules can be
found in `docs/inspircd.conf.example`.
-Why do I get a 'Loader/Linker' error when loading a module?
------------------------------------------------------------
+## Why do I get a 'Loader/Linker' error when loading a module?
The version of InspIRCd which the module was compiled for is different to your server. Run
`make clean` and then `make install` to rebuild everything on the same version.
-When I run my IRC server it exits saying 'Failed to write PID-file'
--------------------------------------------------------------------
+## When I run my IRC server it exits saying 'Failed to write PID-file'
-There is a syntax error in your configuration file. To show the real error, move the \<pid\> tag to
+There is a syntax error in your configuration file. To show the real error, move the `<pid>` tag to
the top of your configuration.
-How can I use channel admin commands such as kick/mode without having op?
--------------------------------------------------------------------------
+## How can I use channel admin commands such as kick/mode without having op?
Load [m_override](https://github.com/inspircd/wiki/blob/master/Modules/override.md).
Please note that this module must be loaded on all servers of your network or your mode changes may
be reversed and/or you may cause desyncs.
-When users connect, InspIRCd never resolves their ident
--------------------------------------------------------
+## When users connect, InspIRCd never resolves their ident
Ident lookups on InspIRCd are provided by [m_ident](https://github.com/inspircd/wiki/blob/master/Modules/ident.md).
You must load this module for them to be resolved.
-Can InspIRCd make cheese sandwiches?
-------------------------------------
+## Can InspIRCd make cheese sandwiches?
-Yes, providing that you load the [m_cheesesandwich](https://github.com/inspircd/wiki/blob/master/Modules/m_cheesesandwich.md)
-module.
+Yes, providing that you load the [m_cheesesandwich](https://github.com/inspircd/wiki/blob/master/Modules/cheesesandwich.md)
+module.
View
5 IRC-Channel-Rules.md
@@ -1,5 +1,4 @@
-[#InspIRCd](irc://irc.chatspike.net/inspircd) Channel Rules
-===========================================================
+# InspIRCd Wiki &raquo; [#InspIRCd](irc://irc.chatspike.net/inspircd) Channel Rules
As with most IRC channels, the support channel has rules. These rules are as follows:
@@ -26,4 +25,4 @@ code to the channel, rather than pasting, or you will be automatically kicked.
* No stupid scripts please (e.g. l33tsp33k-converters, 'thanks for the op' scripts, etc).
-* Idlers are welcome on #InspIRCd. Helpful people are even more welcome!
+* Idlers are welcome on #InspIRCd. Helpful people are even more welcome!
View
9 Modules/spanningtree/Example-Traffic.md
@@ -1,9 +1,10 @@
-Example Traffic
----------------
+# InspIRCd Wiki &raquo; Modules &raquo; m_spanningtree &raquo; Example Traffic
+
+## Example Traffic
This is an example of a netburst and some random traffic between two 1.2.0 (Alpha 7) servers. Outbound traffic is indicated with a "->", inbound traffic is marked with "<-".
-<pre>
+```
-> CAPAB START
-> CAPAB MODULES m_allowinvite.so,m_alltime.so,m_auditorium.so,m_banexception.so,m_blockcaps.so,m_blockcolor.so,m_botmode.so,m_callerid.so,m_cban.so,m_censor.so,m_chanfilter.so, m_chanprotect.so,m_chghost.so,m_chgident.so,m_chgname.so,m_cloaking.so,m_commonchans.so,m_dccallow.so,m_deaf.so,m_delayjoin.so,m_filter.so,m_globalload.so,m_globops.so, m_hidechans.so,m_hideoper.so,m_invisible.so,m_inviteexception.so,m_joinflood.so,m_kicknorejoin.so,m_knock.so,m_messageflood.so,m_nickflood.so,m_nicklock.so,m_noctcp.so
-> CAPAB MODULES m_nokicks.so,m_nonicks.so,m_nonotice.so,m_operchans.so,m_permchannels.so,m_redirect.so,m_remove.so,m_sajoin.so,m_samode.so,m_sanick.so,m_sapart.so,m_saquit.so, m_services_account.so,m_servprotect.so,m_sethost.so,m_setident.so,m_setname.so,m_showwhois.so,m_shun.so,m_silence.so,m_stripcolor.so,m_svshold.so,m_swhois.so,m_timebans.so, m_watch.so
@@ -48,4 +49,4 @@ m_censor.so,m_chanfilter.so,m_chanprotect.so,m_chghost.so,m_chgident.so,m_chgnam
<- :037 ADDLINE Z 66.66.66.66 <Config> 1220196025 0 :This is the devils ip. You cannot use it.
<- :037 ADDLINE Z 69.69.69.69 <Config> 1220196025 0 :No porn here thanks.
<- :037 ENDBURST
-</pre>
+```
View
15 Modules/spanningtree/Message-Routing.md
@@ -1,29 +1,28 @@
+# InspIRCd Wiki &raquo; Modules &raquo; m_spanningtree &raquo; Message Routing
+
InspIRCd has four behaviours when it routes a message. These four behaviours are chosen dependent
upon the message and the target and source of that message individually. These behaviours are:
-One To One Routing (Directed)
------------------------------
+### One To One Routing (Directed)
+
This is used to route a message from one server directly to another server, taking a route only
through servers which need to process the message in order to pass it straight to its destination.
Examples of this are PRIVMSG and NOTICE direct to a user (not to a channel) and any messages
exchanged during the initial burst and authentication phase.
-One to all (Broadcast)
-----------------------
+### One to all (Broadcast)
This is used to broadcast a message to all servers, and each server which receives such a message
will then pass it on to its peers using "one to all-but-one" as shown below. This is used for
messages which the entire network must see to remain synchronized, e.g. NICK and QUIT.
-One to all-but-one
-------------------
+### One to all-but-one
This is used to pass on a "one to all" message which has originated from another server. The message
may not be passed on via a second "one to all" message, because doing so would bounce the message
back along the network to its source and cause a desync.
-One to group
-------------
+### One to group
This is used only by channel PRIVMSG and NOTICE. To cut down on bandwidth, channel PRIVMSG and
NOTICE are not broadcast. To achieve routing for these types of message, a list is compiled
View
2 Modules/spanningtree/Nickname-Collision-Handling.md
@@ -1,3 +1,5 @@
+# InspIRCd Wiki &raquo; Modules &raquo; m_spanningtree &raquo; Nickname Collision Handling
+
The InspIRCd 1.2+ spanningtree protocol adopts a TS6-like nickname collision algorithm which
minimises the impact of nickname collisions and prevents most if not all KILLs when a collision
does occur.
View
2 Modules/spanningtree/Server-Types.md
@@ -1,3 +1,5 @@
+# InspIRCd Wiki &raquo; Modules &raquo; m_spanningtree &raquo; Server Types
+
InspIRCd has three types of server. Although the same in design, and speaking the same protocol,
their behaviours are different due to the roles they play in maintaining the network. These are:
View
6 Modules/spanningtree/UUID.md
@@ -1,5 +1,4 @@
-UUIDs (Universally Unique User Identifiers)
-===========================================
+# InspIRCd Wiki &raquo; Modules &raquo; m_spanningtree &raquo; UUIDs (Universally Unique User Identifiers)
Our implementation and definition of SID, ID, and UID closely matches TS6's. That is:
@@ -22,8 +21,7 @@ appears to be in use (possible after a wrap-around has occured) then the next ID
will be tried repeatedly, until a free ID is found. This differs from TS6 implementations, some of
which will restart the server once the UID space has been exhausted.
-Server ID (SID) auto generation
--------------------------------
+### Server ID (SID) auto generation
InspIRCd servers have the capability to automatically generate a server ID. This is done using the
hash function for the GNU GCC hash_map against the server name and server GECOS. In pseudocode,
View
11 README.md
@@ -1,15 +1,16 @@
-Welcome!
-========
+# InspIRCd Wiki &raquo; Home
-Hello, and welcome to the InspIRCd documentation!
+## Welcome
+
+Hello, and welcome to the InspIRCd Wiki and Documentation project!
Here are some resources that may (or may not!) be useful:
* If you're stuck, the [Installation](https://github.com/inspircd/wiki/blob/master/Installation.md)
and [Configuration](https://github.com/inspircd/wiki/blob/master/Configuration.md) pages might help
get you going again.
-* Are you interested in [Contributing](https://github.com/inspircd/wiki/blob/master/Contributing.md)?
+* Are you interested in [Contributing](https://github.com/inspircd/wiki/blob/master/Contributors/README.md)?
We'd love to hear from you!
* The [FAQ](https://github.com/inspircd/wiki/blob/master/FAQ.md) is a good place to start looking if
@@ -23,4 +24,4 @@ or a [pull request](https://github.com/inspircd/wiki/pulls).
* If you'd like to talk to us, we're on IRC (of course) on [irc.chatspike.net #inspircd](irc://irc.chatspike.net/inspircd),
but please make sure you read the [channel rules](https://github.com/inspircd/wiki/blob/master/IRC-Channel-Rules.md)
-first!
+first!
View
14 Release-Procedure.md
@@ -1,12 +1,14 @@
-To make a release:
+# InspIRCd Wiki &raquo; Contributors &raquo; Release Procedure
+
+## To make a new release:
1. Ensure the branch builds
2. Update src/version.sh
3. Commit src/version.sh
4. `git tag vX.Y.Z`
5. `git archive vX.Y.Z --prefix inspircd/ | bzip2 > InspIRCd-X.Y.Z.tar.bz2`
-6. Upload the tarball to GitHub
-7. Generate a changelog for the website using `git shortlog --no-merges --pretty=short vX.Y.Z`
-8. Create a new post on the website using `rake post`
-9. Commit the new post.
-10. Update topic in #InspIRCd
+6. Upload the tarball to [GitHub](https://github.com/inspircd/inspircd)
+7. Generate a changelog for the [website](https://github.com/inspircd/inspircd.github.com) using `git shortlog --no-merges --pretty=short vX.Y.Z`
+8. Create a new post on the [website](https://github.com/inspircd/inspircd.github.com) using `rake post`
+9. Commit the new post
+10. Update topic in [#InspIRCd](irc://irc.chatspike.net/inspircd)
View
26 SNOMASK.md
@@ -1,37 +1,41 @@
-Configuring SNOMASKs
---------------------
+# InspIRCd Wiki &raquo; SNOMASKs
+
+## Configuring SNOMASKs
To set SNOMASKs, set user mode +s with the server notice masks you want as a parameter to the mode.
For example, to see local and remote connections and quit notices, execute the following command:
- /MODE YourNick +s +cCqQ
+`/MODE YourNick +s +cCqQ`
To enable automatic setting of SNOMASKs upon opering, load [m_opermodes](https://github.com/inspircd/wiki/blob/master/Modules/opermodes.md)
-and set the modes in the type block. For example:
+and set the modes in `<type:automodes>`. For example:
- <type name="GlobalOp" classes="OperChat BanControl HostCloak Modular" host="globalop.chatspike.net" automodes="+s +cCqQ">
+```XML
+<type name="GlobalOp"
+ classes="OperChat BanControl HostCloak Modular"
+ host="globalop.chatspike.net"
+ automodes="+s +cCqQ">
+```
To remove a SNOMASK, set user mode +s again, but remove masks by sending a 'negative' change. For
example, to disable remote connection and quit notices, execute the following command:
- /MODE YourNick +s -CQ
+`/MODE YourNick +s -CQ`
To disable all server notice masks, simply remove user mode +s entirely:
- /MODE YourNick -s
+`/MODE YourNick -s`
A list of the valid server notice masks and what they do is listed below.
-Channel Logging
----------------
+## Channel Logging
You can use the [m_chanlog](https://github.com/inspircd/wiki/blob/master/Modules/chanlog.md) module
to send messages to a channel of your choice. You can even have multiple channels for different
masks. Use local masks on every server to the same channel to receive messages globally in the
channel.
-Valid Server Notice Masks
--------------------------
+## Valid Server Notice Masks
### Core Server Notice Masks
View
56 Templates/Module.md
@@ -0,0 +1,56 @@
+# InspIRCd Wiki &raquo; Modules &raquo; m_**module**
+
+## Description
+
+**This module does...**
+
+## Configuration Tags
+
+```XML
+<mytag
+ param1=""
+ param2="">
+```
+
+* **param1: This parameter...**
+* **param2: This parameter...**
+
+### 1.2
+
+**Differences in 1.2 are...**
+
+### 2.0
+
+**Differences in 2.0 are...**
+
+### 2.1
+
+**Differences in 2.1 are...**
+
+## Commands
+
+**This module does/does not add any commands...**
+
+Command | Parameters | Action
+---------- |------------- | ------
+/*COMMAND* | **<param1>** | **This modes does...**
+
+## Modes
+
+**This module does/does not add any modes...**
+
+Mode | Action
+---- | ------
++*!* | **This modes does...**
+
+## Extbans
+
+**This module does/does not add any extbans...**
+
+Extban | Action
+------ | ------
+*!:* | **This extban does...**
+
+## Notes
+
+NOTE: **This module...***

0 comments on commit ac7fa66

Please sign in to comment.
Something went wrong with that request. Please try again.