<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.darkworld.network/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fizi</id>
	<title>DarkWorld-Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.darkworld.network/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Fizi"/>
	<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=Special:Contributions/Fizi"/>
	<updated>2026-09-14T06:21:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWStats&amp;diff=446</id>
		<title>DWStats</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWStats&amp;diff=446"/>
		<updated>2026-08-30T19:20:58Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWStats}}&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:DWStats-logo.png|200px|alt=DWStats Logo|link=https://wiki.darkworld.network/index.php/DWStats]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#666; margin-top:4px;&amp;quot;&amp;gt;&lt;br /&gt;
A Project by the DarkWorld Network Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
= 🌐 DWStats – DarkWorld Network Statistics Bots =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DWStats&#039;&#039;&#039; (DarkWorld Stats) is a channel statistics bot that tracks IRC channel activity and user engagement.  &lt;br /&gt;
It records lines, words, phrases, and other metrics over IRC channels and presents them graphically on a web interface. DWStats uses the PISG (Perl IRC Statistics Generator) system for its reports.&lt;br /&gt;
&lt;br /&gt;
DWStats allows users to view channel activity, monitor trends, and analyze participation patterns across multiple IRC networks. It is ideal for network administrators, channel operators, and active community members.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* 📈 Track channel activity (lines, words, phrases)&lt;br /&gt;
* 🌐 Web-based graphical interface&lt;br /&gt;
* 🕵️ Monitor user activity and participation&lt;br /&gt;
* 🤖 Supports multiple IRC networks&lt;br /&gt;
* 🔄 Real-time updates and periodic reports&lt;br /&gt;
* 🧩 Integration with other DarkWorld Bots&lt;br /&gt;
&lt;br /&gt;
== Active Networks ==&lt;br /&gt;
* &#039;&#039;&#039;DarkWorld&#039;&#039;&#039; – Request via channel &amp;lt;code&amp;gt;#DWStats&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;DalNet&#039;&#039;&#039; – Request via channel &amp;lt;code&amp;gt;#DWStats&amp;lt;/code&amp;gt;&lt;br /&gt;
* More networks available upon request&lt;br /&gt;
&lt;br /&gt;
== Requesting DWStats ==&lt;br /&gt;
To request a DWStats bot for your channel:&lt;br /&gt;
# Join &amp;lt;code&amp;gt;#DWStats&amp;lt;/code&amp;gt; on DarkWorld Network.&lt;br /&gt;
# Provide your channel name and purpose for stats collection.&lt;br /&gt;
# Our staff will deploy the bot and provide access details.&lt;br /&gt;
&lt;br /&gt;
== More Info ==&lt;br /&gt;
* 🌐 [https://stats.darkworld.network Official Website]&lt;br /&gt;
* 📘 [https://wiki.darkworld.network/index.php/DWStats/ Wiki Page]&lt;br /&gt;
* 📧 Email: bots@darkworld.network&lt;br /&gt;
&lt;br /&gt;
== Subpages / Suggested DWStats Wiki Structure ==&lt;br /&gt;
* [[DWStats:Features|Features &amp;amp; Capabilities]] – Detailed stats types, graphs, and bot functionalities&lt;br /&gt;
* [[DWStats:Setup|Setup &amp;amp; Configuration]] – How to deploy DWStats for channels&lt;br /&gt;
* [[DWStats:Web Interface|Web Interface Guide]] – How to navigate and use the web dashboards&lt;br /&gt;
* [[DWStats:Channel Access|Channel Access &amp;amp; Permissions]] – Managing who can view and manage stats&lt;br /&gt;
* [[DWStats:Active Networks|Active Networks]] – Full list of networks where DWStats is available&lt;br /&gt;
* [[DWStats:PISG Generator|PISG Stats Generator]] – About the stats engine DWStats uses&lt;br /&gt;
* [[DWStats:FAQ|Frequently Asked Questions]] – Common questions and troubleshooting&lt;br /&gt;
* [[DWStats:Contact|Contact &amp;amp; Support]] – How to reach the bot staff&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWStats&amp;diff=442</id>
		<title>DWStats</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWStats&amp;diff=442"/>
		<updated>2026-08-30T19:16:46Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWStats}}&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:DWStats-logo.png|200px|alt=DWStats Logo|link=https://wiki.darkworld.network/index.php/DWStats]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#666; margin-top:4px;&amp;quot;&amp;gt;&lt;br /&gt;
A Project by the DarkWorld Network Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
= 🌐 DWStats – DarkWorld Network Statistics Bots =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DWStats&#039;&#039;&#039; (DarkWorld Stats) is a channel statistics bot that tracks IRC channel activity and user engagement.  &lt;br /&gt;
It records lines, words, phrases, and other metrics over IRC channels and presents them graphically on a web interface. DWStats uses the PISG (Perl IRC Statistics Generator) system for its reports.&lt;br /&gt;
&lt;br /&gt;
DWStats allows users to view channel activity, monitor trends, and analyze participation patterns across multiple IRC networks. It is ideal for network administrators, channel operators, and active community members.&lt;br /&gt;
&lt;br /&gt;
== Features ==&lt;br /&gt;
* 📈 Track channel activity (lines, words, phrases)&lt;br /&gt;
* 🌐 Web-based graphical interface&lt;br /&gt;
* 🕵️ Monitor user activity and participation&lt;br /&gt;
* 🤖 Supports multiple IRC networks&lt;br /&gt;
* 🔄 Real-time updates and periodic reports&lt;br /&gt;
* 🧩 Integration with other DarkWorld Bots&lt;br /&gt;
&lt;br /&gt;
== Active Networks ==&lt;br /&gt;
* &#039;&#039;&#039;DarkWorld&#039;&#039;&#039; – Request via channel &amp;lt;code&amp;gt;#DWStats&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;DalNet&#039;&#039;&#039; – Request via channel &amp;lt;code&amp;gt;#DWStats&amp;lt;/code&amp;gt;&lt;br /&gt;
* More networks available upon request&lt;br /&gt;
&lt;br /&gt;
== Requesting DWStats ==&lt;br /&gt;
To request a DWStats bot for your channel:&lt;br /&gt;
# Join &amp;lt;code&amp;gt;#DWStats&amp;lt;/code&amp;gt; on DarkWorld Network.&lt;br /&gt;
# Provide your channel name and purpose for stats collection.&lt;br /&gt;
# Our staff will deploy the bot and provide access details.&lt;br /&gt;
&lt;br /&gt;
== More Info ==&lt;br /&gt;
* 🌐 [https://stats.darkworld.network Official Website]&lt;br /&gt;
* 📘 [https://wiki.darkworld.network/index.php/DWStats/ Wiki Page]&lt;br /&gt;
* 📧 Email: bots@darkworld.network&lt;br /&gt;
&lt;br /&gt;
== Subpages / Suggested DWStats Wiki Structure ==&lt;br /&gt;
* [[DWStats:Features|Features &amp;amp; Capabilities]] – Detailed stats types, graphs, and bot functionalities&lt;br /&gt;
* [[DWStats:Setup|Setup &amp;amp; Configuration]] – How to deploy DWStats for channels&lt;br /&gt;
* [[DWStats:Web Interface|Web Interface Guide]] – How to navigate and use the web dashboards&lt;br /&gt;
* [[DWStats:Channel Access|Channel Access &amp;amp; Permissions]] – Managing who can view and manage stats&lt;br /&gt;
* [[DWStats:Active Networks|Active Networks]] – Full list of networks where DWStats is available&lt;br /&gt;
* [[DWStats:PISG Generator|PISG Stats Generator]] – About the stats engine DWStats uses&lt;br /&gt;
* [[DWStats:FAQ|Frequently Asked Questions]] – Common questions and troubleshooting&lt;br /&gt;
* [[DWStats:Contact|Contact &amp;amp; Support]] – How to reach the bot staff&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{#widget:AdSense}}&amp;lt;/nowiki&amp;gt;{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC&amp;diff=438</id>
		<title>DWIRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC&amp;diff=438"/>
		<updated>2026-08-24T19:42:37Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWIRC}}&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:DarkWorld.Chat.png|alt=DWIRC Logo|200x200px]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#666; margin-top:4px;&amp;quot;&amp;gt;&lt;br /&gt;
A Project by the DarkWorld Network Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 🌐 DarkWorld IRC Network =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039; (DWIRC) is a global Internet Relay Chat network, connecting thousands of users worldwide in real time. Since its launch in 2021, DarkWorld has grown into an active hub for discussion, collaboration, gaming, and community-driven projects.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC focuses on stability, privacy, and user experience, offering modern IRC services, multilingual support, and enhanced security features. Whether you are a casual chatter, developer, or community organizer, DarkWorld IRC Network provides tools and infrastructure to stay connected seamlessly.&lt;br /&gt;
&lt;br /&gt;
== Network Overview ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC Network operates multiple servers strategically located across the globe to provide low-latency connections for users. The network uses round-robin DNS for load distribution.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Global Round-Robin Connection:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Address&lt;br /&gt;
|-&lt;br /&gt;
| IPv4 + IPv6 (automatic) || &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| IPv4 only || &amp;lt;code&amp;gt;irc4.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| IPv6 only || &amp;lt;code&amp;gt;irc6.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🌍 Regional Round-Robin Connections:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Region !! Address&lt;br /&gt;
|-&lt;br /&gt;
| Europe || &amp;lt;code&amp;gt;european.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Americas (North and South) || &amp;lt;code&amp;gt;american.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Asia || &amp;lt;code&amp;gt;asian.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Oceania || &amp;lt;code&amp;gt;oceania.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Africa || &amp;lt;code&amp;gt;african.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🗺️ Server Locations by Continent:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Continent !! Locations !! IPv6 Support&lt;br /&gt;
|-&lt;br /&gt;
| Europe || Frankfurt, London, Helsinki, Madrid || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| North America || New York, St. Louis || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| South America || Santiago || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| Asia || Lahore, Jakarta || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| Oceania || Sydney || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| Africa || Johannesburg || ✅ Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🔌 Connection Ports:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! Protocol !! Recommended Use&lt;br /&gt;
|-&lt;br /&gt;
| 6697 || TLS || &#039;&#039;&#039;Recommended secure IRC connection&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 443 || TLS || Secure alternative for restricted networks&lt;br /&gt;
|-&lt;br /&gt;
| 6667 || Plain text || Compatibility only; not recommended&lt;br /&gt;
|-&lt;br /&gt;
| 80 || Plain text || Web-client or network-specific use only; not recommended for IRC credentials&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Recommended connection:&#039;&#039;&#039; Use &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; on port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt; with TLS and certificate verification enabled. Configure SASL for automatic account authentication where supported.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Key highlights:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 🔒 TLS support for secure client-to-server connections&lt;br /&gt;
* 🤖 Integrated bots for statistics, relays, support, and entertainment&lt;br /&gt;
* 🧠 Anope Services including NickServ, ChanServ, MemoServ, and HostServ&lt;br /&gt;
* 📊 Channel analytics and network statistics&lt;br /&gt;
* 🌐 Multilingual community and support&lt;br /&gt;
&lt;br /&gt;
=== 📊 Live Network Statistics ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f0f0f0; color:#222; padding:15px; border-radius:8px; text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Live data coming soon — real-time user, channel, and server counts will appear here.&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why Choose DarkWorld? ==&lt;br /&gt;
&lt;br /&gt;
* 🌍 &#039;&#039;&#039;Global Coverage&#039;&#039;&#039; – Servers in multiple regions for reliable international access&lt;br /&gt;
* 🔒 &#039;&#039;&#039;Security Focused&#039;&#039;&#039; – TLS connectivity, account authentication, and clear security guidance&lt;br /&gt;
* 🧩 &#039;&#039;&#039;Modern Services&#039;&#039;&#039; – NickServ, ChanServ, MemoServ, HostServ, and related IRC services&lt;br /&gt;
* 🤝 &#039;&#039;&#039;Friendly Community&#039;&#039;&#039; – Multilingual staff and helpers available to assist users&lt;br /&gt;
* 🛠️ &#039;&#039;&#039;Developer Friendly&#039;&#039;&#039; – Support for approved bots, relays, projects, and IRC integrations&lt;br /&gt;
* 📡 &#039;&#039;&#039;Transparent Operation&#039;&#039;&#039; – Public documentation, policies, and network information&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC started as a small private network in 2021 and expanded to include public channels, IRC services, bots, and community-driven projects.&lt;br /&gt;
&lt;br /&gt;
=== Key Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;2021 – Launch:&#039;&#039;&#039; DWIRC goes live with its initial servers and community&lt;br /&gt;
* &#039;&#039;&#039;2022 – First Expansion:&#039;&#039;&#039; North American and European capacity expands&lt;br /&gt;
* &#039;&#039;&#039;2023 – Further Expansion:&#039;&#039;&#039; Additional international server coverage is introduced&lt;br /&gt;
* &#039;&#039;&#039;2024 – Global Reach:&#039;&#039;&#039; More regions and community projects join the network&lt;br /&gt;
* &#039;&#039;&#039;2025 onward:&#039;&#039;&#039; Continued development of network infrastructure, policies, documentation, applications, and community services&lt;br /&gt;
&lt;br /&gt;
With contributions from global developers, server sponsors, staff, and community members, DarkWorld IRC Network has grown into a reliable IRC environment for casual users and organized communities.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
The network infrastructure includes:&lt;br /&gt;
&lt;br /&gt;
* Servers distributed across multiple regions&lt;br /&gt;
* IPv4 and IPv6 connectivity&lt;br /&gt;
* TLS encryption for secure client connections&lt;br /&gt;
* Automated server monitoring for uptime and performance&lt;br /&gt;
* Network linking for synchronized channels and users&lt;br /&gt;
* IRC Services for account and channel management&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
DWIRC is more than a collection of servers; it is a community:&lt;br /&gt;
&lt;br /&gt;
* 💬 Public and project channels&lt;br /&gt;
* 🌐 International participation&lt;br /&gt;
* 🤝 Multilingual staff and helpers&lt;br /&gt;
* 🎮 Games, relays, bots, and interactive services&lt;br /&gt;
* 🛠️ Support for approved scripts, bots, and IRC integrations&lt;br /&gt;
&lt;br /&gt;
== Channel Guidelines ==&lt;br /&gt;
&lt;br /&gt;
To keep DarkWorld enjoyable for everyone, follow these basic rules:&lt;br /&gt;
&lt;br /&gt;
* 🔊 &#039;&#039;&#039;Understand the channel&#039;&#039;&#039; – Read the topic and observe the channel before participating&lt;br /&gt;
* 🤐 &#039;&#039;&#039;No spam or flooding&#039;&#039;&#039; – Do not repeat messages, flood, or use disruptive formatting&lt;br /&gt;
* 🚫 &#039;&#039;&#039;No harassment&#039;&#039;&#039; – Treat users respectfully regardless of background&lt;br /&gt;
* 🔗 &#039;&#039;&#039;No malicious content&#039;&#039;&#039; – Do not distribute malware, phishing links, or other harmful material&lt;br /&gt;
* 📣 &#039;&#039;&#039;No unsolicited advertising or recruitment&#039;&#039;&#039; – Follow DarkWorld advertising and relay policies&lt;br /&gt;
* 🤖 &#039;&#039;&#039;Use designated bot channels&#039;&#039;&#039; – Keep testing and heavy automation in approved channels such as &amp;lt;code&amp;gt;#DWBots&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel operators may maintain additional local rules. Always check the channel topic and applicable network policies.&lt;br /&gt;
&lt;br /&gt;
== Services Quick Reference ==&lt;br /&gt;
&lt;br /&gt;
Services syntax and available options may change. Use each service’s &amp;lt;code&amp;gt;HELP&amp;lt;/code&amp;gt; command when in doubt, and never disclose your password to staff or other users.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Service !! Common Commands&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:NickServ|&#039;&#039;&#039;NickServ&#039;&#039;&#039;]]|| &amp;lt;code&amp;gt;/msg NickServ HELP REGISTER&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg NickServ HELP IDENTIFY&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg NickServ HELP RECOVER&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:ChanServ|&#039;&#039;&#039;ChanServ&#039;&#039;&#039;]]|| &amp;lt;code&amp;gt;/msg ChanServ HELP REGISTER&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg ChanServ HELP ACCESS&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg ChanServ HELP OP&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:HostServ|&#039;&#039;&#039;HostServ&#039;&#039;&#039;]]|| &amp;lt;code&amp;gt;/msg HostServ HELP REQUEST&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg HostServ HELP ON&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg HostServ HELP OFF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:MemoServ|&#039;&#039;&#039;MemoServ&#039;&#039;&#039;]]|| &amp;lt;code&amp;gt;/msg MemoServ HELP SEND&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg MemoServ HELP LIST&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg MemoServ HELP READ&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For full command information, visit each service’s wiki page or use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/msg ServiceName HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
To join DarkWorld IRC:&lt;br /&gt;
&lt;br /&gt;
# Open a supported IRC client such as HexChat, WeeChat, Irssi, mIRC, Textual, KVIrc, or a supported mobile client.&lt;br /&gt;
# Add &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; as the server.&lt;br /&gt;
# Select port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt; with TLS and certificate verification enabled.&lt;br /&gt;
# Connect using your preferred nickname.&lt;br /&gt;
# Register an account by following &amp;lt;code&amp;gt;/msg NickServ HELP REGISTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Configure SASL using your registered account name for automatic authentication.&lt;br /&gt;
# Join channels such as &amp;lt;code&amp;gt;#DarkWorld&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#Help&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#DWBots&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#DWGames&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If a TLS certificate warning appears, do not disable verification or ignore the warning. Confirm the server address, port, device date and time, and exact error, then contact authorized support if the problem continues.&lt;br /&gt;
&lt;br /&gt;
== Technical Requirements ==&lt;br /&gt;
&lt;br /&gt;
To connect to DarkWorld IRC, your client should support:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;IRC protocol&#039;&#039;&#039; – A maintained standard IRC client&lt;br /&gt;
* &#039;&#039;&#039;TLS 1.2 or later&#039;&#039;&#039; – TLS 1.3 is preferred where supported&lt;br /&gt;
* &#039;&#039;&#039;Certificate verification&#039;&#039;&#039; – Do not accept invalid or mismatched certificates&lt;br /&gt;
* &#039;&#039;&#039;SASL&#039;&#039;&#039; – SASL PLAIN over verified TLS or another mechanism supported by DarkWorld&lt;br /&gt;
&lt;br /&gt;
Keep your IRC client and operating system updated. Exact minimum client versions change over time, so use a maintained release rather than relying on an outdated fixed version list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Web client:&#039;&#039;&#039; &amp;lt;code&amp;gt;https://lounge.darkworld.network:9000/&amp;lt;/code&amp;gt; when available.&lt;br /&gt;
&lt;br /&gt;
== IRC Staff Training ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC operates a structured training program for prospective support staff, moderators, Services administrators, and IRC operators.&lt;br /&gt;
&lt;br /&gt;
The program covers:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld IRC structure and authority boundaries&lt;br /&gt;
* IRC fundamentals and secure connections&lt;br /&gt;
* Network rules and policies&lt;br /&gt;
* User and channel modes&lt;br /&gt;
* IRC Services&lt;br /&gt;
* User support and communication&lt;br /&gt;
* Moderation and incident handling&lt;br /&gt;
* IRC operator fundamentals&lt;br /&gt;
* Staff ethics, privacy, and security&lt;br /&gt;
* Written, knowledge, and supervised practical assessments&lt;br /&gt;
&lt;br /&gt;
Training access does not automatically grant staff authority or privileged access. Trainees receive only the permissions necessary for approved and supervised activities. Completing training does not guarantee appointment to a staff role.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Program information:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
&lt;br /&gt;
== Quick Links ==&lt;br /&gt;
&lt;br /&gt;
=== Connect and Get Help ===&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Servers|Server List]]&lt;br /&gt;
* [[DWIRC:How to Connect|Connection Guide]]&lt;br /&gt;
* [[DWIRC:Security &amp;amp; SASL Auth|TLS and SASL Security Guide]]&lt;br /&gt;
* [[DWIRC:SSL Guide|SSL / TLS Setup]]&lt;br /&gt;
* [[DWIRC:Ports|Ports and Hosts]]&lt;br /&gt;
* [[DWIRC:FAQ|Frequently Asked Questions]]&lt;br /&gt;
* [[DWIRC:Contact|Contact DWIRC Staff]]&lt;br /&gt;
&lt;br /&gt;
=== Rules, Staff and Training ===&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Rules and Guidelines|Network Rules]]&lt;br /&gt;
* [[DWIRC:Staff|IRC Staff Directory]]&lt;br /&gt;
* [[DWIRC:Staff Training Program|IRC Staff Training Program]]&lt;br /&gt;
* [[DWIRC:NetAdmins|Network Administrators]]&lt;br /&gt;
* [[DWIRC:Helpers|Helpers and Channel Staff]]&lt;br /&gt;
&lt;br /&gt;
=== Community Projects ===&lt;br /&gt;
&lt;br /&gt;
* [[DWBots|Channel Bots]]&lt;br /&gt;
* [[DWBouncers|IRC Bouncers]]&lt;br /&gt;
* [[DWShells|User Shells]]&lt;br /&gt;
* [[DWGames|Games and Entertainment]]&lt;br /&gt;
&lt;br /&gt;
== Support DarkWorld ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is community-supported. Running globally distributed services requires infrastructure, development, documentation, and volunteer time.&lt;br /&gt;
&lt;br /&gt;
You can help by:&lt;br /&gt;
&lt;br /&gt;
* 💰 Donating through an official DarkWorld donation page when available&lt;br /&gt;
* 🖥️ Providing approved server sponsorship — contact &amp;lt;code&amp;gt;netadmins@darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* 🤝 Contributing to documentation, development, translation, user support, or community projects&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Thank you for being part of DarkWorld IRC!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=File:DarkWorld.Chat.png&amp;diff=437</id>
		<title>File:DarkWorld.Chat.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=File:DarkWorld.Chat.png&amp;diff=437"/>
		<updated>2026-08-24T19:42:20Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DWChat&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC&amp;diff=436</id>
		<title>DWIRC</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC&amp;diff=436"/>
		<updated>2026-08-23T22:19:19Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWIRC}}&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
[[File:DWIRC-logo.png|200px|alt=DWIRC Logo|link=https://wiki.darkworld.network/index.php/DWIRC]]&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:90%; color:#666; margin-top:4px;&amp;quot;&amp;gt;&lt;br /&gt;
A Project by the DarkWorld Network Community&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 🌐 DarkWorld IRC Network =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039; (DWIRC) is a global Internet Relay Chat network, connecting thousands of users worldwide in real time. Since its launch in 2021, DarkWorld has grown into an active hub for discussion, collaboration, gaming, and community-driven projects.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC focuses on stability, privacy, and user experience, offering modern IRC services, multilingual support, and enhanced security features. Whether you are a casual chatter, developer, or community organizer, DarkWorld IRC Network provides tools and infrastructure to stay connected seamlessly.&lt;br /&gt;
&lt;br /&gt;
== Network Overview ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC Network operates multiple servers strategically located across the globe to provide low-latency connections for users. The network uses round-robin DNS for load distribution.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Global Round-Robin Connection:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Address&lt;br /&gt;
|-&lt;br /&gt;
| IPv4 + IPv6 (automatic) || &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| IPv4 only || &amp;lt;code&amp;gt;irc4.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| IPv6 only || &amp;lt;code&amp;gt;irc6.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🌍 Regional Round-Robin Connections:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Region !! Address&lt;br /&gt;
|-&lt;br /&gt;
| Europe || &amp;lt;code&amp;gt;european.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Americas (North and South) || &amp;lt;code&amp;gt;american.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Asia || &amp;lt;code&amp;gt;asian.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Oceania || &amp;lt;code&amp;gt;oceania.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Africa || &amp;lt;code&amp;gt;african.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🗺️ Server Locations by Continent:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Continent !! Locations !! IPv6 Support&lt;br /&gt;
|-&lt;br /&gt;
| Europe || Frankfurt, London, Helsinki, Madrid || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| North America || New York, St. Louis || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| South America || Santiago || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| Asia || Lahore, Jakarta || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| Oceania || Sydney || ✅ Yes&lt;br /&gt;
|-&lt;br /&gt;
| Africa || Johannesburg || ✅ Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;🔌 Connection Ports:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! Protocol !! Recommended Use&lt;br /&gt;
|-&lt;br /&gt;
| 6697 || TLS || &#039;&#039;&#039;Recommended secure IRC connection&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
| 443 || TLS || Secure alternative for restricted networks&lt;br /&gt;
|-&lt;br /&gt;
| 6667 || Plain text || Compatibility only; not recommended&lt;br /&gt;
|-&lt;br /&gt;
| 80 || Plain text || Web-client or network-specific use only; not recommended for IRC credentials&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Recommended connection:&#039;&#039;&#039; Use &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; on port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt; with TLS and certificate verification enabled. Configure SASL for automatic account authentication where supported.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Key highlights:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* 🔒 TLS support for secure client-to-server connections&lt;br /&gt;
* 🤖 Integrated bots for statistics, relays, support, and entertainment&lt;br /&gt;
* 🧠 Anope Services including NickServ, ChanServ, MemoServ, and HostServ&lt;br /&gt;
* 📊 Channel analytics and network statistics&lt;br /&gt;
* 🌐 Multilingual community and support&lt;br /&gt;
&lt;br /&gt;
=== 📊 Live Network Statistics ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#f0f0f0; color:#222; padding:15px; border-radius:8px; text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;Live data coming soon — real-time user, channel, and server counts will appear here.&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Why Choose DarkWorld? ==&lt;br /&gt;
&lt;br /&gt;
* 🌍 &#039;&#039;&#039;Global Coverage&#039;&#039;&#039; – Servers in multiple regions for reliable international access&lt;br /&gt;
* 🔒 &#039;&#039;&#039;Security Focused&#039;&#039;&#039; – TLS connectivity, account authentication, and clear security guidance&lt;br /&gt;
* 🧩 &#039;&#039;&#039;Modern Services&#039;&#039;&#039; – NickServ, ChanServ, MemoServ, HostServ, and related IRC services&lt;br /&gt;
* 🤝 &#039;&#039;&#039;Friendly Community&#039;&#039;&#039; – Multilingual staff and helpers available to assist users&lt;br /&gt;
* 🛠️ &#039;&#039;&#039;Developer Friendly&#039;&#039;&#039; – Support for approved bots, relays, projects, and IRC integrations&lt;br /&gt;
* 📡 &#039;&#039;&#039;Transparent Operation&#039;&#039;&#039; – Public documentation, policies, and network information&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC started as a small private network in 2021 and expanded to include public channels, IRC services, bots, and community-driven projects.&lt;br /&gt;
&lt;br /&gt;
=== Key Milestones ===&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;2021 – Launch:&#039;&#039;&#039; DWIRC goes live with its initial servers and community&lt;br /&gt;
* &#039;&#039;&#039;2022 – First Expansion:&#039;&#039;&#039; North American and European capacity expands&lt;br /&gt;
* &#039;&#039;&#039;2023 – Further Expansion:&#039;&#039;&#039; Additional international server coverage is introduced&lt;br /&gt;
* &#039;&#039;&#039;2024 – Global Reach:&#039;&#039;&#039; More regions and community projects join the network&lt;br /&gt;
* &#039;&#039;&#039;2025 onward:&#039;&#039;&#039; Continued development of network infrastructure, policies, documentation, applications, and community services&lt;br /&gt;
&lt;br /&gt;
With contributions from global developers, server sponsors, staff, and community members, DarkWorld IRC Network has grown into a reliable IRC environment for casual users and organized communities.&lt;br /&gt;
&lt;br /&gt;
== Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
The network infrastructure includes:&lt;br /&gt;
&lt;br /&gt;
* Servers distributed across multiple regions&lt;br /&gt;
* IPv4 and IPv6 connectivity&lt;br /&gt;
* TLS encryption for secure client connections&lt;br /&gt;
* Automated server monitoring for uptime and performance&lt;br /&gt;
* Network linking for synchronized channels and users&lt;br /&gt;
* IRC Services for account and channel management&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
&lt;br /&gt;
DWIRC is more than a collection of servers; it is a community:&lt;br /&gt;
&lt;br /&gt;
* 💬 Public and project channels&lt;br /&gt;
* 🌐 International participation&lt;br /&gt;
* 🤝 Multilingual staff and helpers&lt;br /&gt;
* 🎮 Games, relays, bots, and interactive services&lt;br /&gt;
* 🛠️ Support for approved scripts, bots, and IRC integrations&lt;br /&gt;
&lt;br /&gt;
== Channel Guidelines ==&lt;br /&gt;
&lt;br /&gt;
To keep DarkWorld enjoyable for everyone, follow these basic rules:&lt;br /&gt;
&lt;br /&gt;
* 🔊 &#039;&#039;&#039;Understand the channel&#039;&#039;&#039; – Read the topic and observe the channel before participating&lt;br /&gt;
* 🤐 &#039;&#039;&#039;No spam or flooding&#039;&#039;&#039; – Do not repeat messages, flood, or use disruptive formatting&lt;br /&gt;
* 🚫 &#039;&#039;&#039;No harassment&#039;&#039;&#039; – Treat users respectfully regardless of background&lt;br /&gt;
* 🔗 &#039;&#039;&#039;No malicious content&#039;&#039;&#039; – Do not distribute malware, phishing links, or other harmful material&lt;br /&gt;
* 📣 &#039;&#039;&#039;No unsolicited advertising or recruitment&#039;&#039;&#039; – Follow DarkWorld advertising and relay policies&lt;br /&gt;
* 🤖 &#039;&#039;&#039;Use designated bot channels&#039;&#039;&#039; – Keep testing and heavy automation in approved channels such as &amp;lt;code&amp;gt;#DWBots&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel operators may maintain additional local rules. Always check the channel topic and applicable network policies.&lt;br /&gt;
&lt;br /&gt;
== Services Quick Reference ==&lt;br /&gt;
&lt;br /&gt;
Services syntax and available options may change. Use each service’s &amp;lt;code&amp;gt;HELP&amp;lt;/code&amp;gt; command when in doubt, and never disclose your password to staff or other users.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Service !! Common Commands&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:NickServ|&#039;&#039;&#039;NickServ&#039;&#039;&#039;]] || &amp;lt;code&amp;gt;/msg NickServ HELP REGISTER&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg NickServ HELP IDENTIFY&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg NickServ HELP RECOVER&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:ChanServ|&#039;&#039;&#039;ChanServ&#039;&#039;&#039;]] || &amp;lt;code&amp;gt;/msg ChanServ HELP REGISTER&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg ChanServ HELP ACCESS&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg ChanServ HELP OP&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:HostServ|&#039;&#039;&#039;HostServ&#039;&#039;&#039;]] || &amp;lt;code&amp;gt;/msg HostServ HELP REQUEST&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg HostServ HELP ON&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg HostServ HELP OFF&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| [[DWIRC:MemoServ|&#039;&#039;&#039;MemoServ&#039;&#039;&#039;]] || &amp;lt;code&amp;gt;/msg MemoServ HELP SEND&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg MemoServ HELP LIST&amp;lt;/code&amp;gt;&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;/msg MemoServ HELP READ&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For full command information, visit each service’s wiki page or use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/msg ServiceName HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
&lt;br /&gt;
To join DarkWorld IRC:&lt;br /&gt;
&lt;br /&gt;
# Open a supported IRC client such as HexChat, WeeChat, Irssi, mIRC, Textual, KVIrc, or a supported mobile client.&lt;br /&gt;
# Add &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; as the server.&lt;br /&gt;
# Select port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt; with TLS and certificate verification enabled.&lt;br /&gt;
# Connect using your preferred nickname.&lt;br /&gt;
# Register an account by following &amp;lt;code&amp;gt;/msg NickServ HELP REGISTER&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Configure SASL using your registered account name for automatic authentication.&lt;br /&gt;
# Join channels such as &amp;lt;code&amp;gt;#DarkWorld&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#Help&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;#DWBots&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;#DWGames&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
If a TLS certificate warning appears, do not disable verification or ignore the warning. Confirm the server address, port, device date and time, and exact error, then contact authorized support if the problem continues.&lt;br /&gt;
&lt;br /&gt;
== Technical Requirements ==&lt;br /&gt;
&lt;br /&gt;
To connect to DarkWorld IRC, your client should support:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;IRC protocol&#039;&#039;&#039; – A maintained standard IRC client&lt;br /&gt;
* &#039;&#039;&#039;TLS 1.2 or later&#039;&#039;&#039; – TLS 1.3 is preferred where supported&lt;br /&gt;
* &#039;&#039;&#039;Certificate verification&#039;&#039;&#039; – Do not accept invalid or mismatched certificates&lt;br /&gt;
* &#039;&#039;&#039;SASL&#039;&#039;&#039; – SASL PLAIN over verified TLS or another mechanism supported by DarkWorld&lt;br /&gt;
&lt;br /&gt;
Keep your IRC client and operating system updated. Exact minimum client versions change over time, so use a maintained release rather than relying on an outdated fixed version list.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Web client:&#039;&#039;&#039; &amp;lt;code&amp;gt;https://lounge.darkworld.network:9000/&amp;lt;/code&amp;gt; when available.&lt;br /&gt;
&lt;br /&gt;
== IRC Staff Training ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC operates a structured training program for prospective support staff, moderators, Services administrators, and IRC operators.&lt;br /&gt;
&lt;br /&gt;
The program covers:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld IRC structure and authority boundaries&lt;br /&gt;
* IRC fundamentals and secure connections&lt;br /&gt;
* Network rules and policies&lt;br /&gt;
* User and channel modes&lt;br /&gt;
* IRC Services&lt;br /&gt;
* User support and communication&lt;br /&gt;
* Moderation and incident handling&lt;br /&gt;
* IRC operator fundamentals&lt;br /&gt;
* Staff ethics, privacy, and security&lt;br /&gt;
* Written, knowledge, and supervised practical assessments&lt;br /&gt;
&lt;br /&gt;
Training access does not automatically grant staff authority or privileged access. Trainees receive only the permissions necessary for approved and supervised activities. Completing training does not guarantee appointment to a staff role.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Program information:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
&lt;br /&gt;
== Quick Links ==&lt;br /&gt;
&lt;br /&gt;
=== Connect and Get Help ===&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Servers|Server List]]&lt;br /&gt;
* [[DWIRC:How to Connect|Connection Guide]]&lt;br /&gt;
* [[DWIRC:Security &amp;amp; SASL Auth|TLS and SASL Security Guide]]&lt;br /&gt;
* [[DWIRC:SSL Guide|SSL / TLS Setup]]&lt;br /&gt;
* [[DWIRC:Ports|Ports and Hosts]]&lt;br /&gt;
* [[DWIRC:FAQ|Frequently Asked Questions]]&lt;br /&gt;
* [[DWIRC:Contact|Contact DWIRC Staff]]&lt;br /&gt;
&lt;br /&gt;
=== Rules, Staff and Training ===&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Rules and Guidelines|Network Rules]]&lt;br /&gt;
* [[DWIRC:Staff|IRC Staff Directory]]&lt;br /&gt;
* [[DWIRC:Staff Training Program|IRC Staff Training Program]]&lt;br /&gt;
* [[DWIRC:NetAdmins|Network Administrators]]&lt;br /&gt;
* [[DWIRC:Helpers|Helpers and Channel Staff]]&lt;br /&gt;
&lt;br /&gt;
=== Community Projects ===&lt;br /&gt;
&lt;br /&gt;
* [[DWBots|Channel Bots]]&lt;br /&gt;
* [[DWBouncers|IRC Bouncers]]&lt;br /&gt;
* [[DWShells|User Shells]]&lt;br /&gt;
* [[DWGames|Games and Entertainment]]&lt;br /&gt;
&lt;br /&gt;
== Support DarkWorld ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is community-supported. Running globally distributed services requires infrastructure, development, documentation, and volunteer time.&lt;br /&gt;
&lt;br /&gt;
You can help by:&lt;br /&gt;
&lt;br /&gt;
* 💰 Donating through an official DarkWorld donation page when available&lt;br /&gt;
* 🖥️ Providing approved server sponsorship — contact &amp;lt;code&amp;gt;netadmins@darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* 🤝 Contributing to documentation, development, translation, user support, or community projects&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Thank you for being part of DarkWorld IRC!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_and_Channel_Modes&amp;diff=435</id>
		<title>DWIRC:Staff Training/User and Channel Modes</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_and_Channel_Modes&amp;diff=435"/>
		<updated>2026-08-23T22:09:12Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 4 — User and Channel Modes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 4: User and Channel Modes&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 4 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–5 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, mode exercises, and moderation scenarios&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
IRC modes control user behavior, channel access, channel visibility, moderation, and security.&lt;br /&gt;
&lt;br /&gt;
A staff candidate must understand:&lt;br /&gt;
&lt;br /&gt;
* User modes.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* Channel access status.&lt;br /&gt;
* Mode parameters.&lt;br /&gt;
* Ban lists.&lt;br /&gt;
* Ban exceptions.&lt;br /&gt;
* Invite exceptions.&lt;br /&gt;
* Moderated channels.&lt;br /&gt;
* Registered-user restrictions.&lt;br /&gt;
* Flood-protection modes.&lt;br /&gt;
* Extended bans.&lt;br /&gt;
* The risks of incorrect or overly broad modes.&lt;br /&gt;
&lt;br /&gt;
Mode availability and exact behavior can depend on the current version and configuration of UnrealIRCd.&lt;br /&gt;
&lt;br /&gt;
This module is written for &#039;&#039;&#039;UnrealIRCd 6&#039;&#039;&#039;. DarkWorld may disable, restrict, or configure individual modules differently, so the live server configuration remains authoritative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This lesson explains commonly used modes. Staff must verify current behavior through official DarkWorld documentation, IRC server help, and authorized procedures before applying unfamiliar modes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Official technical references ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.unrealircd.org/docs/User_modes UnrealIRCd — User modes]&lt;br /&gt;
* [https://www.unrealircd.org/docs/Channel_modes UnrealIRCd — Channel modes]&lt;br /&gt;
* [https://www.unrealircd.org/docs/Extended_bans UnrealIRCd — Extended bans]&lt;br /&gt;
* [https://www.unrealircd.org/docs/Channel_anti-flood_settings UnrealIRCd — Channel anti-flood settings]&lt;br /&gt;
&lt;br /&gt;
These external pages describe upstream UnrealIRCd behavior and may change as UnrealIRCd is updated. They supplement, but do not replace, DarkWorld policy, authorization boundaries, trainer instructions, or the current server configuration.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the difference between user modes and channel modes.&lt;br /&gt;
# Explain the difference between a mode that a user chooses and a status indicator set by the server or Services.&lt;br /&gt;
# View current user and channel modes.&lt;br /&gt;
# Understand channel access levels.&lt;br /&gt;
# Add and remove modes using correct syntax.&lt;br /&gt;
# Explain when a mode requires a parameter.&lt;br /&gt;
# View and interpret channel ban lists.&lt;br /&gt;
# Create reasonably precise ban masks.&lt;br /&gt;
# Explain ban, exception, and invite-exception lists.&lt;br /&gt;
# Use moderated and invite-only modes correctly.&lt;br /&gt;
# Understand registered-user and TLS-related restrictions.&lt;br /&gt;
# Recognize the risks of broad or conflicting modes.&lt;br /&gt;
# Record and reverse temporary mode changes.&lt;br /&gt;
# Use selected UnrealIRCd 6 extended bans safely in an approved training channel.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is an IRC Mode? =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;mode&#039;&#039;&#039; changes the state or behavior of an IRC user or channel.&lt;br /&gt;
&lt;br /&gt;
Modes are normally represented by letters.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+i&lt;br /&gt;
+m&lt;br /&gt;
+n&lt;br /&gt;
+t&lt;br /&gt;
+k&lt;br /&gt;
+l&lt;br /&gt;
+b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The plus sign adds a mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The minus sign removes a mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some modes require parameters.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +k SecretKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other modes do not require parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. User Modes and Channel Modes =&lt;br /&gt;
&lt;br /&gt;
== User Modes ==&lt;br /&gt;
&lt;br /&gt;
User modes apply to an individual IRC connection.&lt;br /&gt;
&lt;br /&gt;
To view your current user modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A user normally sets only their own permitted user modes.&lt;br /&gt;
&lt;br /&gt;
Some user modes are selected by the user, while others are status indicators set only by the server, Services, or IRC operator authorization. A displayed mode does not by itself create staff authority.&lt;br /&gt;
&lt;br /&gt;
=== Common user modes on UnrealIRCd 6 ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! Meaning&lt;br /&gt;
! Who sets it / operational note&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Invisible from broad &amp;lt;code&amp;gt;/WHO&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/NAMES&amp;lt;/code&amp;gt; queries made by people who do not share a channel with the user.&lt;br /&gt;
| Commonly set automatically or by the user. It does not make the user invisible to everyone.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Uses a hidden or cloaked hostname.&lt;br /&gt;
| Protects the displayed hostname; it does not provide anonymity from authorized network systems.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+B&amp;lt;/code&amp;gt;&lt;br /&gt;
| Marks the connection as a bot in &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Identification only; it does not grant bot privileges or staff authority.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Hides the user’s channel list from ordinary &amp;lt;code&amp;gt;/WHOIS&amp;lt;/code&amp;gt; responses.&lt;br /&gt;
| Privacy feature; authorized staff visibility may differ.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt;&lt;br /&gt;
| Accepts private messages only from users authenticated to Services.&lt;br /&gt;
| This is a &#039;&#039;&#039;user mode&#039;&#039;&#039;; do not confuse it with channel &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt;, which restricts joins.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents the user from receiving CTCP requests.&lt;br /&gt;
| May affect legitimate CTCP functions as well as abuse.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows private messages, notices, and CTCPs only between this user and TLS-connected users.&lt;br /&gt;
| This is a &#039;&#039;&#039;user mode&#039;&#039;&#039;; do not confuse it with channel &amp;lt;code&amp;gt;+Z&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Indicates that the connection is using TLS.&lt;br /&gt;
| Set by the server. It is a connection-security indicator, not proof of identity or trustworthiness.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+r&amp;lt;/code&amp;gt;&lt;br /&gt;
| Indicates that the connection is authenticated to a registered Services account.&lt;br /&gt;
| Set by Services. Authentication does not automatically mean the current nickname and account name are identical.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Indicates use of a vhost or altered displayed host.&lt;br /&gt;
| Set by the server following authorized host/vhost mechanisms.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+o&amp;lt;/code&amp;gt;&lt;br /&gt;
| Indicates IRC operator status.&lt;br /&gt;
| Set by the server after successful authorized oper authentication. Its permissions come from the assigned operclass.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Receives selected server notices (snomasks).&lt;br /&gt;
| IRC operator only and covered in the IRC Operator Fundamentals module.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Other user modes may be available. Candidates should consult the [https://www.unrealircd.org/docs/User_modes official UnrealIRCd user-mode reference] and the live server configuration before relying on an unfamiliar mode.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Do not confuse similarly named modes:&#039;&#039;&#039; user &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt; restricts incoming private messages, while channel &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt; restricts channel joins. User &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt; indicates TLS, channel &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt; requires TLS for joining, and channel &amp;lt;code&amp;gt;+Z&amp;lt;/code&amp;gt; is a server-set indication that everyone currently present is using TLS.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Channel Modes ==&lt;br /&gt;
&lt;br /&gt;
Channel modes apply to a channel.&lt;br /&gt;
&lt;br /&gt;
To view the current modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changing channel modes normally requires appropriate channel privileges.&lt;br /&gt;
&lt;br /&gt;
== Important Difference ==&lt;br /&gt;
&lt;br /&gt;
The same letter may have a different meaning when used as a user mode and as a channel mode.&lt;br /&gt;
&lt;br /&gt;
Staff should always identify whether the mode applies to:&lt;br /&gt;
&lt;br /&gt;
* A user.&lt;br /&gt;
* A channel.&lt;br /&gt;
* A channel member’s status.&lt;br /&gt;
* A ban or exception list.&lt;br /&gt;
&lt;br /&gt;
= 3. Mode Syntax =&lt;br /&gt;
&lt;br /&gt;
General syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE target modes parameters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +m&lt;br /&gt;
/MODE #Training -m&lt;br /&gt;
/MODE #Training +o Falcon&lt;br /&gt;
/MODE #Training -o Falcon&lt;br /&gt;
/MODE #Training +b *!*@example.host&lt;br /&gt;
/MODE #Training -b *!*@example.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multiple modes may be combined:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes requiring parameters must have corresponding parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +ov Falcon Eagle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives operator status to &amp;lt;code&amp;gt;Falcon&amp;lt;/code&amp;gt; and voice to &amp;lt;code&amp;gt;Eagle&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
A missing or incorrectly ordered parameter may cause the command to fail or affect the wrong target.&lt;br /&gt;
&lt;br /&gt;
= 4. Channel Access Status =&lt;br /&gt;
&lt;br /&gt;
Channel status modes assign privileges to users within a channel.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may use the following hierarchy:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! Common prefix&lt;br /&gt;
! Common title&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+v&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt;&lt;br /&gt;
| Voice&lt;br /&gt;
| Allows speaking in a moderated channel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+h&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;%&amp;lt;/code&amp;gt;&lt;br /&gt;
| Half-operator&lt;br /&gt;
| Provides limited channel moderation privileges.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+o&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;@&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel operator&lt;br /&gt;
| Provides normal channel-management privileges.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+a&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel administrator or protected operator&lt;br /&gt;
| Provides elevated channel-management status.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+q&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt;&lt;br /&gt;
| Channel owner&lt;br /&gt;
| Represents the highest channel access status.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The displayed prefixes depend on the IRC client.&lt;br /&gt;
&lt;br /&gt;
A user may hold more than one status mode, although the client may display only the highest prefix.&lt;br /&gt;
&lt;br /&gt;
== Voice: +v ==&lt;br /&gt;
&lt;br /&gt;
Grant voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voice allows a user to speak while the channel is moderated with &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;+M&amp;lt;/code&amp;gt;. Under standard UnrealIRCd behavior, a voiced user may also continue speaking while matching a channel ban, so voice should not be granted casually during an active incident.&lt;br /&gt;
&lt;br /&gt;
Voice does not make someone a network staff member.&lt;br /&gt;
&lt;br /&gt;
== Half-Operator: +h ==&lt;br /&gt;
&lt;br /&gt;
Grant half-operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +h nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove half-operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -h nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Half-operators may have limited moderation abilities. Exact permissions depend on server and channel configuration.&lt;br /&gt;
&lt;br /&gt;
== Channel Operator: +o ==&lt;br /&gt;
&lt;br /&gt;
Grant operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel operators can normally manage common channel modes, kicks, and bans.&lt;br /&gt;
&lt;br /&gt;
Channel operator status does not provide network-wide authority.&lt;br /&gt;
&lt;br /&gt;
== Channel Administrator: +a ==&lt;br /&gt;
&lt;br /&gt;
Grant administrator status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +a nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove administrator status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -a nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is an elevated channel role and should not be granted casually.&lt;br /&gt;
&lt;br /&gt;
== Channel Owner: +q ==&lt;br /&gt;
&lt;br /&gt;
Grant owner status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +q nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove owner status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -q nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel-owner status should normally correspond to authorized channel ownership and Services access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Remember:&#039;&#039;&#039; Channel status and IRC operator status are separate. A channel owner is not automatically an IRC operator, and an IRC operator is not automatically part of every channel’s management.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 5. Common Channel Modes =&lt;br /&gt;
&lt;br /&gt;
The following modes are commonly available. Current behavior must be verified on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! General meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt;&lt;br /&gt;
| Invite-only channel&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +i&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt;&lt;br /&gt;
| Moderated channel&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +m&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+n&amp;lt;/code&amp;gt;&lt;br /&gt;
| Blocks messages from users outside the channel&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +n&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+t&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restricts topic changes to authorized channel staff&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +t&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+s&amp;lt;/code&amp;gt;&lt;br /&gt;
| Secret channel&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +s&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+p&amp;lt;/code&amp;gt;&lt;br /&gt;
| Private channel, where supported&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +p&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+k&amp;lt;/code&amp;gt;&lt;br /&gt;
| Requires a channel key&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +k KeyValue&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sets a channel user limit&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +l 50&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+b&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds an entry to the ban list&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b mask&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+e&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds an entry to the ban-exception list&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +e mask&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+I&amp;lt;/code&amp;gt;&lt;br /&gt;
| Adds an entry to the invite-exception list&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +I mask&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Invite-Only: +i ==&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt; is set, users generally need an invitation or applicable exception to join.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invite a user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/INVITE nickname #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invite-only mode may be useful during:&lt;br /&gt;
&lt;br /&gt;
* An active raid.&lt;br /&gt;
* A private meeting.&lt;br /&gt;
* A controlled training exercise.&lt;br /&gt;
* A temporary security incident.&lt;br /&gt;
&lt;br /&gt;
It should not be left enabled accidentally after an emergency.&lt;br /&gt;
&lt;br /&gt;
== Moderated: +m ==&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt; is set, users without the required channel status normally cannot speak.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grant voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moderated mode may help control:&lt;br /&gt;
&lt;br /&gt;
* Message flooding.&lt;br /&gt;
* Disruptive public events.&lt;br /&gt;
* Announcements.&lt;br /&gt;
* Training sessions.&lt;br /&gt;
* Emergency situations.&lt;br /&gt;
&lt;br /&gt;
Moderating a busy public channel affects every unvoiced participant. Staff should review whether the restriction remains necessary.&lt;br /&gt;
&lt;br /&gt;
== No External Messages: +n ==&lt;br /&gt;
&lt;br /&gt;
Mode &amp;lt;code&amp;gt;+n&amp;lt;/code&amp;gt; normally prevents users who are not in the channel from sending messages to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a common protective mode for public channels.&lt;br /&gt;
&lt;br /&gt;
== Topic Protection: +t ==&lt;br /&gt;
&lt;br /&gt;
Mode &amp;lt;code&amp;gt;+t&amp;lt;/code&amp;gt; normally restricts topic changes to authorized channel staff.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Secret: +s ==&lt;br /&gt;
&lt;br /&gt;
A secret channel is hidden from normal public channel listings and may be hidden from some user-information responses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Secret does not mean that messages are encrypted end-to-end or that every participant will keep them confidential.&lt;br /&gt;
&lt;br /&gt;
== Channel Key: +k ==&lt;br /&gt;
&lt;br /&gt;
A keyed channel requires users to provide the key when joining.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +k TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Join:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #channel TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -k TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some clients or server versions may allow the key parameter to be omitted when removing it.&lt;br /&gt;
&lt;br /&gt;
Keys should not be posted publicly if the channel is intended to be restricted.&lt;br /&gt;
&lt;br /&gt;
== User Limit: +l ==&lt;br /&gt;
&lt;br /&gt;
Set a maximum number of channel members:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +l 50&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the limit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A limit can help during some incidents but may also prevent legitimate users from joining.&lt;br /&gt;
&lt;br /&gt;
= 6. Additional UnrealIRCd Channel Modes =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd 6 provides additional channel modes through loaded modules. DarkWorld may configure or restrict them differently, so candidates must verify live behavior and authorization before use.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! UnrealIRCd 6 purpose&lt;br /&gt;
! Operational caution&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+C&amp;lt;/code&amp;gt;&lt;br /&gt;
| Blocks channel CTCP messages.&lt;br /&gt;
| May block legitimate CTCP actions as well as abuse.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+c&amp;lt;/code&amp;gt;&lt;br /&gt;
| Blocks ANSI and mIRC color codes.&lt;br /&gt;
| Messages containing prohibited formatting may be rejected.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+S&amp;lt;/code&amp;gt;&lt;br /&gt;
| Strips ANSI and mIRC color codes instead of rejecting the message.&lt;br /&gt;
| Do not confuse this channel mode with Services or user-mode letters.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+T&amp;lt;/code&amp;gt;&lt;br /&gt;
| Blocks channel notices.&lt;br /&gt;
| Normal channel messages remain possible unless another mode restricts them.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows only users authenticated to Services to join.&lt;br /&gt;
| Can block legitimate new users who need registration help.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+M&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows speaking only by Services-authenticated users or users with &amp;lt;code&amp;gt;+v&amp;lt;/code&amp;gt; or higher.&lt;br /&gt;
| Existing unauthenticated users may remain but cannot normally speak.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows only TLS-connected clients to join.&lt;br /&gt;
| Does not provide end-to-end encryption or prove identity.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+Z&amp;lt;/code&amp;gt;&lt;br /&gt;
| Indicates that the channel is &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt; and everyone currently present uses TLS.&lt;br /&gt;
| Set only by the server; channel staff do not set it manually.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+K&amp;lt;/code&amp;gt;&lt;br /&gt;
| Blocks use of &amp;lt;code&amp;gt;/KNOCK&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Relevant mainly when invite-only access and knocking are in use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+V&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents use of &amp;lt;code&amp;gt;/INVITE&amp;lt;/code&amp;gt; for the channel.&lt;br /&gt;
| May interfere with legitimate channel access workflows.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+N&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents nickname changes while users remain in the channel.&lt;br /&gt;
| Normally a temporary response to nickname-change flooding.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+Q&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents &amp;lt;code&amp;gt;/KICK&amp;lt;/code&amp;gt; and may force use of Services-based controls.&lt;br /&gt;
| Unusual; do not use as a routine protection mode.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+G&amp;lt;/code&amp;gt;&lt;br /&gt;
| Applies the server-configured bad-word filter.&lt;br /&gt;
| Behavior depends on the DarkWorld IRCd badword configuration.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+H&amp;lt;/code&amp;gt;&lt;br /&gt;
| Enables channel history according to the supplied history parameters.&lt;br /&gt;
| History changes privacy and retention expectations; use only under approved channel policy.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+F&amp;lt;/code&amp;gt;&lt;br /&gt;
| Applies a named channel anti-flood profile.&lt;br /&gt;
| Available in UnrealIRCd 6.1.0 and later; use an approved profile rather than inventing settings.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+f&amp;lt;/code&amp;gt;&lt;br /&gt;
| Provides advanced, fine-grained channel anti-flood settings.&lt;br /&gt;
| Incorrect thresholds or actions can disrupt legitimate users. Use only with training and authorization.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+D&amp;lt;/code&amp;gt;&lt;br /&gt;
| Delays JOIN visibility for ordinary users until the joining user speaks.&lt;br /&gt;
| This does not prevent the person from joining; server mode &amp;lt;code&amp;gt;+d&amp;lt;/code&amp;gt; may appear temporarily when &amp;lt;code&amp;gt;+D&amp;lt;/code&amp;gt; is removed.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+P&amp;lt;/code&amp;gt;&lt;br /&gt;
| Makes a channel permanent and stores its state through the channel database module.&lt;br /&gt;
| IRC operator only and not a normal trainee tool.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;+O&amp;lt;/code&amp;gt;&lt;br /&gt;
| Restricts the channel to IRC operators.&lt;br /&gt;
| IRC operator only.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For the complete upstream list and current restrictions, consult [https://www.unrealircd.org/docs/Channel_modes UnrealIRCd — Channel modes].&lt;br /&gt;
&lt;br /&gt;
Before using an unfamiliar mode:&lt;br /&gt;
&lt;br /&gt;
# Check the current server help.&lt;br /&gt;
# Check the official channel-mode documentation.&lt;br /&gt;
# Confirm the mode’s parameters.&lt;br /&gt;
# Consider how many users will be affected.&lt;br /&gt;
# Confirm that you have authority.&lt;br /&gt;
# Know how to reverse the mode.&lt;br /&gt;
# Record temporary emergency changes.&lt;br /&gt;
&lt;br /&gt;
= 7. Viewing Mode Lists =&lt;br /&gt;
&lt;br /&gt;
== Ban List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ban-Exception List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Invite-Exception List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on the client, list entries may show:&lt;br /&gt;
&lt;br /&gt;
* The mask.&lt;br /&gt;
* Who set it.&lt;br /&gt;
* When it was set.&lt;br /&gt;
&lt;br /&gt;
Staff should check existing entries before adding a duplicate or broader restriction.&lt;br /&gt;
&lt;br /&gt;
= 8. Channel Bans =&lt;br /&gt;
&lt;br /&gt;
A channel ban normally prevents a matching user from joining or participating, depending on server behavior and additional modes.&lt;br /&gt;
&lt;br /&gt;
Add a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +b ExampleNick!*@*&lt;br /&gt;
/MODE #Training +b *!example@*&lt;br /&gt;
/MODE #Training +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ban-Mask Precision ==&lt;br /&gt;
&lt;br /&gt;
Consider the following masks:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! Matches&lt;br /&gt;
! Main limitation&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ExampleNick!*@*&amp;lt;/code&amp;gt;&lt;br /&gt;
| A particular nickname&lt;br /&gt;
| The user may change nickname&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*!example@*&amp;lt;/code&amp;gt;&lt;br /&gt;
| A particular ident&lt;br /&gt;
| Other users may use the same ident&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*!*@Example.User.DarkWorld.Network&amp;lt;/code&amp;gt;&lt;br /&gt;
| A particular displayed host&lt;br /&gt;
| The host may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*!*@*.provider.example&amp;lt;/code&amp;gt;&lt;br /&gt;
| A provider or host range&lt;br /&gt;
| May affect many unrelated users&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*!*@*&amp;lt;/code&amp;gt;&lt;br /&gt;
| Everyone&lt;br /&gt;
| Extremely broad and normally inappropriate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The safest effective mask depends on:&lt;br /&gt;
&lt;br /&gt;
* The incident.&lt;br /&gt;
* Available identity information.&lt;br /&gt;
* Whether the host is shared.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Whether the action is temporary.&lt;br /&gt;
* The likely effect on innocent users.&lt;br /&gt;
* Available extended-ban features.&lt;br /&gt;
&lt;br /&gt;
= 9. Ban and Kick Order =&lt;br /&gt;
&lt;br /&gt;
A common moderation sequence is:&lt;br /&gt;
&lt;br /&gt;
# Set the appropriate ban.&lt;br /&gt;
# Remove the user with a clear reason.&lt;br /&gt;
# Record the action when required.&lt;br /&gt;
# Review the ban later.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
/KICK #channel ExampleNick Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting the ban first reduces the chance of an immediate return between the kick and ban commands.&lt;br /&gt;
&lt;br /&gt;
This sequence is not appropriate in every situation. Sometimes:&lt;br /&gt;
&lt;br /&gt;
* A warning is sufficient.&lt;br /&gt;
* A quiet or moderated mode is preferable.&lt;br /&gt;
* The user has already left.&lt;br /&gt;
* A Services access restriction is required.&lt;br /&gt;
* A network-level response is needed.&lt;br /&gt;
* A broad host ban would harm innocent users.&lt;br /&gt;
&lt;br /&gt;
= 10. Ban Exceptions: +e =&lt;br /&gt;
&lt;br /&gt;
A ban exception permits a matching user to bypass a matching channel ban.&lt;br /&gt;
&lt;br /&gt;
Add an exception:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove an exception:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@*.shared-provider.example&lt;br /&gt;
/MODE #channel +e TrustedUser!*@*.shared-provider.example&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exceptions should not be used to hide a poorly designed broad ban when a more precise restriction is available.&lt;br /&gt;
&lt;br /&gt;
Staff should understand which ban and exception entries overlap.&lt;br /&gt;
&lt;br /&gt;
= 11. Invite Exceptions: +I =&lt;br /&gt;
&lt;br /&gt;
An invite exception may allow matching users to join an invite-only channel without receiving an individual invitation.&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -I mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I *!*@Authorized.Project.Host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An invite exception must not be granted merely for convenience if it weakens a channel’s intended security.&lt;br /&gt;
&lt;br /&gt;
= 12. Extended Bans =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd 6 extended bans use readable names beginning with a tilde. They can be used with channel bans (&amp;lt;code&amp;gt;+b&amp;lt;/code&amp;gt;), ban exceptions (&amp;lt;code&amp;gt;+e&amp;lt;/code&amp;gt;), and—where supported for that selector—invite exceptions (&amp;lt;code&amp;gt;+I&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
General examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b ~account:AbusiveAccount&lt;br /&gt;
/MODE #channel +e ~account:TrustedAccount&lt;br /&gt;
/MODE #channel +I ~account:ApprovedAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An account name is not necessarily the same as the user’s current nickname.&lt;br /&gt;
&lt;br /&gt;
== 12.1 Timed bans ==&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;~time&amp;lt;/code&amp;gt; wrapper removes an entry automatically after the stated number of minutes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b ~time:10:*!*@Example.User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This creates a ten-minute ban. Staff must still document and review the action; an automatic expiry does not remove accountability.&lt;br /&gt;
&lt;br /&gt;
== 12.2 Action extended bans ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Effect&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~quiet&amp;lt;/code&amp;gt;&lt;br /&gt;
| Allows the matching user to remain or join but prevents speaking unless the user has &amp;lt;code&amp;gt;+v&amp;lt;/code&amp;gt; or higher.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~quiet:*!*@Example.Host&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~nickchange&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents the matching user from changing nickname unless voiced or higher.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~nickchange:*!*@Example.Host&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~join&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prevents matching users from joining but does not restrict them if they are already inside.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~join:*!*@Example.Host&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~forward&amp;lt;/code&amp;gt;&lt;br /&gt;
| Forwards a matching user to another channel.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~forward:#Help:*!*@Example.Host&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A targeted &amp;lt;code&amp;gt;~quiet&amp;lt;/code&amp;gt; is often less disruptive than moderating an entire public channel. A &amp;lt;code&amp;gt;~join&amp;lt;/code&amp;gt; entry does not silence or remove a user who is already present.&lt;br /&gt;
&lt;br /&gt;
== 12.3 Selector extended bans ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Matches&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~account&amp;lt;/code&amp;gt;&lt;br /&gt;
| A Services-authenticated account. &amp;lt;code&amp;gt;~account:*&amp;lt;/code&amp;gt; means all authenticated users; &amp;lt;code&amp;gt;~account:0&amp;lt;/code&amp;gt; means unauthenticated users.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~account:AbusiveAccount&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~channel&amp;lt;/code&amp;gt;&lt;br /&gt;
| Users present in another channel, optionally at a specified access level.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +e ~channel:@#TrustedOps&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~country&amp;lt;/code&amp;gt;&lt;br /&gt;
| A two-letter country code.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~country:XX&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~security-group&amp;lt;/code&amp;gt;&lt;br /&gt;
| A server-defined UnrealIRCd security group.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~security-group:unknown-users&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~realname&amp;lt;/code&amp;gt;&lt;br /&gt;
| The user’s realname/GECOS field. Underscores may match spaces and underscores.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~realname:*abusive_bot*&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~certfp&amp;lt;/code&amp;gt;&lt;br /&gt;
| A TLS client-certificate fingerprint visible through authorized information.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +e ~certfp:FINGERPRINT&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;~asn&amp;lt;/code&amp;gt;&lt;br /&gt;
| An Autonomous System Number; requires UnrealIRCd 6.1.7 or later.&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~asn:64496&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Country, ASN, channel-membership, realname, and security-group matches may cover many innocent users. They require a clear operational reason, precise scope, authorization, and review. Never invent or guess account names, certificate fingerprints, countries, or AS numbers.&lt;br /&gt;
&lt;br /&gt;
== 12.4 Text and special extended bans ==&lt;br /&gt;
&lt;br /&gt;
Text bans can block or censor matching channel content:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b ~text:block:*prohibited-pattern*&lt;br /&gt;
/MODE #channel +b ~text:censor:*prohibited-pattern*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Text patterns can create false positives and must be tested in an approved channel. Do not place confidential information, passwords, tokens, or private report content into a text-ban pattern.&lt;br /&gt;
&lt;br /&gt;
Other special types include &amp;lt;code&amp;gt;~inherit&amp;lt;/code&amp;gt;, which can inherit selected ban or invite-exception behavior from another channel, and &amp;lt;code&amp;gt;~partmsg&amp;lt;/code&amp;gt;, which hides matching part or quit messages. These should be used only under approved DarkWorld procedures.&lt;br /&gt;
&lt;br /&gt;
== 12.5 Stacking extended bans ==&lt;br /&gt;
&lt;br /&gt;
Compatible extended bans may be combined. Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b ~time:5:~quiet:~account:AbusiveAccount&lt;br /&gt;
/MODE #channel +e ~time:60:~account:TrustedAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first example temporarily quiets the specified authenticated account for five minutes. The second creates a sixty-minute account-based ban exception. Not every type can be combined with every other type; verify the combination against the [https://www.unrealircd.org/docs/Extended_bans official UnrealIRCd extended-ban documentation].&lt;br /&gt;
&lt;br /&gt;
== 12.6 Safe extended-ban procedure ==&lt;br /&gt;
&lt;br /&gt;
Before applying an extended ban:&lt;br /&gt;
&lt;br /&gt;
# Identify the exact behavior that must be stopped.&lt;br /&gt;
# Check DarkWorld’s current server configuration and procedures.&lt;br /&gt;
# Consult the official UnrealIRCd 6 documentation.&lt;br /&gt;
# Verify the exact matching behavior.&lt;br /&gt;
# Test only in an approved training channel.&lt;br /&gt;
# Ensure the ban is no broader than required.&lt;br /&gt;
# Record the complete entry.&lt;br /&gt;
# Know how to remove it.&lt;br /&gt;
# Confirm the server accepted it and inspect the relevant list.&lt;br /&gt;
# Remove or review temporary entries when the reason ends.&lt;br /&gt;
&lt;br /&gt;
Remove an extended ban using the exact entry that appears in the list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -b ~account:AbusiveAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 13. Quiet or Speak Restrictions =&lt;br /&gt;
&lt;br /&gt;
Sometimes the goal is to stop disruptive messages without removing the user from the channel.&lt;br /&gt;
&lt;br /&gt;
Depending on available modes and extended-ban syntax, a channel may:&lt;br /&gt;
&lt;br /&gt;
* Become moderated with &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Remove the user’s voice.&lt;br /&gt;
* Apply a targeted speak restriction.&lt;br /&gt;
* Restrict unregistered users from speaking.&lt;br /&gt;
* Restrict notices or CTCP messages.&lt;br /&gt;
&lt;br /&gt;
A targeted restriction may be less disruptive than banning a user from joining.&lt;br /&gt;
&lt;br /&gt;
However, staff must verify current syntax before applying a quiet or extended ban.&lt;br /&gt;
&lt;br /&gt;
= 14. Registered-User Restrictions =&lt;br /&gt;
&lt;br /&gt;
Modes such as &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;+M&amp;lt;/code&amp;gt;, where supported, may restrict participation based on account authentication.&lt;br /&gt;
&lt;br /&gt;
Possible uses include:&lt;br /&gt;
&lt;br /&gt;
* Reducing automated abuse.&lt;br /&gt;
* Protecting a channel during a raid.&lt;br /&gt;
* Requiring identified users for sensitive discussions.&lt;br /&gt;
* Limiting speech while still allowing observation.&lt;br /&gt;
&lt;br /&gt;
Possible disadvantages include:&lt;br /&gt;
&lt;br /&gt;
* Blocking legitimate new users.&lt;br /&gt;
* Confusing users who have not configured SASL.&lt;br /&gt;
* Interrupting support access.&lt;br /&gt;
* Preventing account-recovery requests.&lt;br /&gt;
* Affecting relay or gateway users.&lt;br /&gt;
&lt;br /&gt;
Official help channels should be especially careful with restrictions that prevent unidentified users from asking for assistance.&lt;br /&gt;
&lt;br /&gt;
= 15. TLS-Only Channels =&lt;br /&gt;
&lt;br /&gt;
Mode &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt;, where supported, may restrict the channel to users connected securely through TLS.&lt;br /&gt;
&lt;br /&gt;
This can improve connection security expectations, but staff should remember:&lt;br /&gt;
&lt;br /&gt;
* TLS protects transport between client and server.&lt;br /&gt;
* TLS does not prevent channel participants from logging messages.&lt;br /&gt;
* TLS does not provide end-to-end encryption between users.&lt;br /&gt;
* Users may need help correcting their client configuration.&lt;br /&gt;
* Relays or services may require compatible secure connections.&lt;br /&gt;
&lt;br /&gt;
= 16. Flood-Protection Modes =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd provides two channel anti-flood approaches:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;+F&amp;lt;/code&amp;gt; applies a server-defined named flood profile and is available in UnrealIRCd 6.1.0 or later.&lt;br /&gt;
* &amp;lt;code&amp;gt;+f&amp;lt;/code&amp;gt; provides advanced fine-tuning with thresholds, time windows, actions, and optional automatic mode removal.&lt;br /&gt;
&lt;br /&gt;
These can respond to:&lt;br /&gt;
&lt;br /&gt;
* Message floods.&lt;br /&gt;
* Repeated text.&lt;br /&gt;
* Join floods.&lt;br /&gt;
* Knock floods.&lt;br /&gt;
* Nickname-change floods.&lt;br /&gt;
* CTCP floods.&lt;br /&gt;
* Other rapid activity.&lt;br /&gt;
&lt;br /&gt;
Flood settings may include thresholds, time windows, automatic actions, and automatic removal of emergency modes. For example, an authorized and approved &amp;lt;code&amp;gt;+f&amp;lt;/code&amp;gt; profile may temporarily set &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt; after a join threshold is exceeded, but trainees must not copy an example into a live channel without checking DarkWorld’s approved syntax and thresholds.&lt;br /&gt;
&lt;br /&gt;
An incorrectly configured flood mode may:&lt;br /&gt;
&lt;br /&gt;
* Restrict normal conversation.&lt;br /&gt;
* Remove legitimate users.&lt;br /&gt;
* Affect busy events.&lt;br /&gt;
* Create repeated mode changes.&lt;br /&gt;
* Conflict with channel bots.&lt;br /&gt;
* Hide the original source of an incident.&lt;br /&gt;
&lt;br /&gt;
Flood-protection modes should be configured according to official DarkWorld guidance and tested in an approved environment.&lt;br /&gt;
&lt;br /&gt;
See [https://www.unrealircd.org/docs/Channel_anti-flood_settings UnrealIRCd — Channel anti-flood settings] for the upstream technical reference.&lt;br /&gt;
&lt;br /&gt;
Network-level connection flood protection belongs to authorized IRCd administrators, not ordinary channel trainees.&lt;br /&gt;
&lt;br /&gt;
= 17. Temporary Emergency Modes =&lt;br /&gt;
&lt;br /&gt;
During an active raid or severe flood, authorized staff may temporarily apply modes such as:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt; to moderate the channel.&lt;br /&gt;
* &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt; to prevent uncontrolled joins.&lt;br /&gt;
* &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt; to require registered users.&lt;br /&gt;
* &amp;lt;code&amp;gt;+M&amp;lt;/code&amp;gt; to restrict speaking.&lt;br /&gt;
* &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt; to require TLS.&lt;br /&gt;
* An appropriate user limit.&lt;br /&gt;
* Targeted bans or speak restrictions.&lt;br /&gt;
* Flood-protection settings.&lt;br /&gt;
&lt;br /&gt;
The responsible staff member should record:&lt;br /&gt;
&lt;br /&gt;
* Which modes were changed.&lt;br /&gt;
* Why they were changed.&lt;br /&gt;
* The time of the change.&lt;br /&gt;
* Who authorized the action.&lt;br /&gt;
* When they should be reviewed.&lt;br /&gt;
* Which modes existed before the incident.&lt;br /&gt;
&lt;br /&gt;
After the threat ends, temporary emergency modes should be reviewed and removed if no longer necessary.&lt;br /&gt;
&lt;br /&gt;
= 18. OperOverride and Forced Modes =&lt;br /&gt;
&lt;br /&gt;
IRC operators may have elevated capabilities that allow them to bypass normal channel restrictions or force mode changes.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* OperOverride.&lt;br /&gt;
* SAMODE.&lt;br /&gt;
* Services-enforced modes.&lt;br /&gt;
* Other administrative override commands.&lt;br /&gt;
&lt;br /&gt;
These capabilities are not normal channel-management tools.&lt;br /&gt;
&lt;br /&gt;
They must not be used:&lt;br /&gt;
&lt;br /&gt;
* To win a personal dispute.&lt;br /&gt;
* To obtain unauthorized channel access.&lt;br /&gt;
* To override a founder without a network-policy reason.&lt;br /&gt;
* To demonstrate staff power.&lt;br /&gt;
* To avoid normal Services procedures.&lt;br /&gt;
* To make undocumented permanent changes.&lt;br /&gt;
* On behalf of a friend.&lt;br /&gt;
&lt;br /&gt;
Use of elevated override capabilities should have:&lt;br /&gt;
&lt;br /&gt;
* A valid network-level purpose.&lt;br /&gt;
* Appropriate authorization.&lt;br /&gt;
* A clear reason.&lt;br /&gt;
* Proper documentation.&lt;br /&gt;
* Review where required.&lt;br /&gt;
&lt;br /&gt;
Detailed override commands belong in the IRC Operator and Services Administration specialist programs.&lt;br /&gt;
&lt;br /&gt;
= 19. Common Mode Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Mistake 1: Broad Ban ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may affect everyone and is normally far broader than necessary.&lt;br /&gt;
&lt;br /&gt;
== Mistake 2: Forgetting a Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command lacks the nickname required for operator status.&lt;br /&gt;
&lt;br /&gt;
== Mistake 3: Wrong Parameter Order ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +ov UserOne UserTwo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives &amp;lt;code&amp;gt;+o&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;UserOne&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;+v&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;UserTwo&amp;lt;/code&amp;gt;. Reversing the names changes the result.&lt;br /&gt;
&lt;br /&gt;
== Mistake 4: Leaving Emergency Modes Enabled ==&lt;br /&gt;
&lt;br /&gt;
A channel remains invite-only or moderated long after an incident ends, preventing normal participation.&lt;br /&gt;
&lt;br /&gt;
== Mistake 5: Removing the Wrong Ban ==&lt;br /&gt;
&lt;br /&gt;
Staff copy an incomplete or different mask and remove another user’s protection.&lt;br /&gt;
&lt;br /&gt;
== Mistake 6: Assuming a Cloak Identifies One Person ==&lt;br /&gt;
&lt;br /&gt;
Several unrelated users may share a cloak, gateway, provider, or connection system.&lt;br /&gt;
&lt;br /&gt;
== Mistake 7: Confusing Channel Status With Staff Status ==&lt;br /&gt;
&lt;br /&gt;
A person with &amp;lt;code&amp;gt;+q&amp;lt;/code&amp;gt; in a channel is treated as though they have network-level authority.&lt;br /&gt;
&lt;br /&gt;
= 20. Mode Change Procedure =&lt;br /&gt;
&lt;br /&gt;
Before changing a significant mode:&lt;br /&gt;
&lt;br /&gt;
# Confirm the correct channel.&lt;br /&gt;
# View existing modes.&lt;br /&gt;
# View relevant mode lists.&lt;br /&gt;
# Identify the operational purpose.&lt;br /&gt;
# Confirm your authority.&lt;br /&gt;
# Verify the mode syntax.&lt;br /&gt;
# Consider who may be affected.&lt;br /&gt;
# Apply the smallest effective change.&lt;br /&gt;
# Confirm that the server accepted it.&lt;br /&gt;
# Document the reason where required.&lt;br /&gt;
# Review or remove temporary changes later.&lt;br /&gt;
&lt;br /&gt;
After applying a mode, verify it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a list mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not assume that a command succeeded merely because it was entered.&lt;br /&gt;
&lt;br /&gt;
= 21. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
Perform these exercises only in an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: View Modes ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b&lt;br /&gt;
/MODE #ApprovedTrainingChannel +e&lt;br /&gt;
/MODE #ApprovedTrainingChannel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record the results without publishing confidential information.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Status Modes ==&lt;br /&gt;
&lt;br /&gt;
With trainer authorization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #ApprovedTrainingChannel +v TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel -v TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel +h TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel -h TraineeNick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain what changed after each command.&lt;br /&gt;
&lt;br /&gt;
Do not grant &amp;lt;code&amp;gt;+o&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;+a&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;+q&amp;lt;/code&amp;gt; unless the trainer specifically authorizes the exercise.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Moderated Channel ==&lt;br /&gt;
&lt;br /&gt;
With authorization:&lt;br /&gt;
&lt;br /&gt;
# Set &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that an unvoiced test user cannot speak.&lt;br /&gt;
# Grant the user &amp;lt;code&amp;gt;+v&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that the user can speak.&lt;br /&gt;
# Remove &amp;lt;code&amp;gt;+v&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Remove &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm normal channel behavior is restored.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Temporary Ban ==&lt;br /&gt;
&lt;br /&gt;
Using a trainer-provided test identity:&lt;br /&gt;
&lt;br /&gt;
# Identify the full user mask.&lt;br /&gt;
# Select the least broad effective mask.&lt;br /&gt;
# Add the ban.&lt;br /&gt;
# View the ban list.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify that it was removed.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Invite-Only Channel ==&lt;br /&gt;
&lt;br /&gt;
With authorization:&lt;br /&gt;
&lt;br /&gt;
# Set &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Attempt to join using a test user.&lt;br /&gt;
# Invite the user.&lt;br /&gt;
# Confirm the invited user can join.&lt;br /&gt;
# Remove &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm the original state is restored.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Emergency Mode Record ==&lt;br /&gt;
&lt;br /&gt;
Prepare a record containing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Channel:&lt;br /&gt;
Incident:&lt;br /&gt;
Original modes:&lt;br /&gt;
Temporary modes added:&lt;br /&gt;
Time added:&lt;br /&gt;
Reason:&lt;br /&gt;
Authorized by:&lt;br /&gt;
Review time:&lt;br /&gt;
Modes removed:&lt;br /&gt;
Final channel state:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exercise 7: Extended Bans ==&lt;br /&gt;
&lt;br /&gt;
Using only trainer-provided test accounts and hosts in an approved training channel:&lt;br /&gt;
&lt;br /&gt;
# Add and view an account-based ban.&lt;br /&gt;
# Remove the exact account-based ban.&lt;br /&gt;
# Add a five-minute account-based quiet using compatible extended-ban stacking.&lt;br /&gt;
# Confirm the entry appears in the ban list.&lt;br /&gt;
# Explain why the quiet is less disruptive than a full join ban.&lt;br /&gt;
# Remove the entry if the trainer directs you not to wait for expiry.&lt;br /&gt;
# Confirm that the final ban, exception, and invite-exception lists match their original state.&lt;br /&gt;
&lt;br /&gt;
Do not use a real user, real incident target, broad country/ASN selector, confidential account information, or production channel for this exercise.&lt;br /&gt;
&lt;br /&gt;
= 22. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Message Flood ==&lt;br /&gt;
&lt;br /&gt;
One user sends repeated messages rapidly in a busy channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A targeted warning, quiet, kick, or ban may be more proportionate than moderating the entire channel. Consider severity and whether the user stops after warning.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
Many newly connected users join and flood simultaneously.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Temporary emergency modes may be necessary. Moderate the channel, restrict joins or speech where authorized, preserve evidence, and escalate the coordinated incident.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared Provider ==&lt;br /&gt;
&lt;br /&gt;
The disruptive user has a host shared by several legitimate users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid a broad provider ban if a more precise account, ident, host, or supported extended ban is available.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Support Channel ==&lt;br /&gt;
&lt;br /&gt;
An unidentified new user needs help registering but cannot speak because the support channel requires identified users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The restriction may prevent the channel from serving its purpose. Review whether a different protective measure can control abuse without blocking legitimate support users.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Forgotten Invite-Only Mode ==&lt;br /&gt;
&lt;br /&gt;
A channel remains &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt; the day after an incident.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Review the incident record and current risk. If the restriction is no longer required and you are authorized, restore the normal state and document the change.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Personal Dispute ==&lt;br /&gt;
&lt;br /&gt;
An IRC operator uses override powers to give themselves operator status in a channel after arguing with its founder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a potential abuse of staff access. Preserve relevant evidence and escalate to senior management through the confidential process.&lt;br /&gt;
&lt;br /&gt;
= 23. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the difference between a user mode and a channel mode?&lt;br /&gt;
# What is the difference between user &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt; and channel &amp;lt;code&amp;gt;+R&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Explain the relationship between user &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt;, channel &amp;lt;code&amp;gt;+z&amp;lt;/code&amp;gt;, and server-set channel &amp;lt;code&amp;gt;+Z&amp;lt;/code&amp;gt;.&lt;br /&gt;
# How do &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; affect a mode?&lt;br /&gt;
# Which channel status modes correspond to voice, half-operator, operator, administrator, and owner?&lt;br /&gt;
# Does channel operator status provide network authority?&lt;br /&gt;
# What does moderated mode generally do?&lt;br /&gt;
# Why can &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt; affect innocent users?&lt;br /&gt;
# What is the purpose of &amp;lt;code&amp;gt;+n&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What is the purpose of &amp;lt;code&amp;gt;+t&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What information is needed to join a keyed channel?&lt;br /&gt;
# What does a user limit do?&lt;br /&gt;
# How do you view a channel’s ban list?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;+b&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;+e&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;+I&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Why should existing mode lists be checked before adding entries?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;*!*@*&amp;lt;/code&amp;gt; normally an unsafe ban?&lt;br /&gt;
# Why can a hostname ban affect unrelated users?&lt;br /&gt;
# When might a targeted speak restriction be better than a ban?&lt;br /&gt;
# What risks can registered-user-only modes create in a help channel?&lt;br /&gt;
# What does TLS-only channel access protect, and what does it not protect?&lt;br /&gt;
# Why must unfamiliar extended bans be verified before use?&lt;br /&gt;
# What should be recorded when applying temporary emergency modes?&lt;br /&gt;
# Why must emergency modes be reviewed afterward?&lt;br /&gt;
# What is OperOverride?&lt;br /&gt;
# When must forced mode changes not be used?&lt;br /&gt;
# Why should a mode change be verified after sending the command?&lt;br /&gt;
# What should staff do after discovering that they changed the wrong mode?&lt;br /&gt;
&lt;br /&gt;
= 24. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;600–800 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a public event in &amp;lt;code&amp;gt;#Example&amp;lt;/code&amp;gt;, six new users join and begin flooding. An operator sets &amp;lt;code&amp;gt;+m&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;+i&amp;lt;/code&amp;gt;, and a broad host ban. The flood stops, but legitimate users can no longer join or speak. Two innocent users share the banned provider host. The operator leaves without recording the changes.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your answer must explain:&lt;br /&gt;
&lt;br /&gt;
* Which immediate modes may have been justified.&lt;br /&gt;
* What risks were created.&lt;br /&gt;
* Why the broad host ban requires review.&lt;br /&gt;
* How legitimate users should be restored.&lt;br /&gt;
* Which information should have been recorded.&lt;br /&gt;
* When the temporary modes should be removed.&lt;br /&gt;
* How the incident should be escalated.&lt;br /&gt;
* What the operator should do differently next time.&lt;br /&gt;
&lt;br /&gt;
= 25. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Complete all authorized mode exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;21 of the 27&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate correct mode syntax.&lt;br /&gt;
* Demonstrate safe use and exact removal of trainer-approved extended-ban examples.&lt;br /&gt;
* Demonstrate the ability to reverse every training change.&lt;br /&gt;
* Avoid unsafe or unauthorized mode changes.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 26. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| User and channel mode concepts&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Channel status hierarchy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Ban and exception handling&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Mode syntax and verification&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Emergency mode judgment&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Authority boundaries&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Documentation and restoration&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Repeatedly apply broad restrictions without checking impact.&lt;br /&gt;
* Cannot reverse their own changes.&lt;br /&gt;
* Use elevated access without authorization.&lt;br /&gt;
* Fail to recognize channel and network authority boundaries.&lt;br /&gt;
* Disregard the effect of modes on innocent users.&lt;br /&gt;
&lt;br /&gt;
= 27. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| View channel modes&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Add moderated mode&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +m&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove moderated mode&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel -m&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Add invite-only mode&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +i&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove invite-only mode&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel -i&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Grant voice&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +v nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove voice&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel -v nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Grant operator&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +o nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove operator&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel -o nickname&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Add ban&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b mask&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove ban&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel -b mask&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| View bans&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| View ban exceptions&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +e&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| View invite exceptions&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +I&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Set channel key&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +k key&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Set user limit&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +l number&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove user limit&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel -l&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Require Services-authenticated joins&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +R&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Require Services authentication to speak unless voiced&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +M&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Require TLS for new joins&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +z&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Add account-based ban&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~account:AccountName&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Add account-based quiet&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~quiet:~account:AccountName&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Add ten-minute account-based quiet&lt;br /&gt;
| &amp;lt;code&amp;gt;/MODE #channel +b ~time:10:~quiet:~account:AccountName&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 28. References and Version Notes =&lt;br /&gt;
&lt;br /&gt;
This module was reviewed against the upstream UnrealIRCd 6 documentation listed below:&lt;br /&gt;
&lt;br /&gt;
* [https://www.unrealircd.org/docs/User_modes User modes]&lt;br /&gt;
* [https://www.unrealircd.org/docs/Channel_modes Channel modes]&lt;br /&gt;
* [https://www.unrealircd.org/docs/Extended_bans Extended bans]&lt;br /&gt;
* [https://www.unrealircd.org/docs/Channel_anti-flood_settings Channel anti-flood settings]&lt;br /&gt;
* [https://www.unrealircd.org/docs/OperOverride OperOverride]&lt;br /&gt;
&lt;br /&gt;
The external documentation describes UnrealIRCd capabilities, not permission to use them. DarkWorld policy, the trainee’s assigned authority, trainer instructions, and the live server configuration take priority. This module should be reviewed after major UnrealIRCd upgrades or material changes to loaded mode modules.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Documentation basis:&#039;&#039;&#039; UnrealIRCd 6 series&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Training-page revision:&#039;&#039;&#039; 2026-08&lt;br /&gt;
&lt;br /&gt;
= 29. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Modes]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=416</id>
		<title>DWIRC:Security &amp; SASL Auth</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=416"/>
		<updated>2026-08-16T20:42:27Z</updated>

		<summary type="html">&lt;p&gt;Fizi: /* DarkWorld IRC connection settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWIRC_Guides}}&lt;br /&gt;
{{DISPLAYTITLE:DWIRC: TLS &amp;amp; SASL Authentication}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 🔐 TLS &amp;amp; SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
Protecting your connection and IRC account is important when using the&lt;br /&gt;
DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
This guide explains how to:&lt;br /&gt;
&lt;br /&gt;
* Connect securely using TLS encryption.&lt;br /&gt;
* Verify the IRC server certificate.&lt;br /&gt;
* Authenticate automatically using SASL.&lt;br /&gt;
* Protect your NickServ password.&lt;br /&gt;
* Troubleshoot common TLS and SASL problems.&lt;br /&gt;
&lt;br /&gt;
== DarkWorld IRC connection settings ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Network name&lt;br /&gt;
| DarkWorld&lt;br /&gt;
|-&lt;br /&gt;
| IRC server&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Secure port&lt;br /&gt;
| &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS enabled&lt;br /&gt;
|-&lt;br /&gt;
| Certificate verification&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| SASL mechanism&lt;br /&gt;
| &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| Your registered NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| SASL password&lt;br /&gt;
| Your NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Some IRC clients still use the older term “SSL.” When an IRC client offers an “SSL” connection option, it normally refers to a TLS-secured connection.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended connection address:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
irc.darkworld.network:6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Always enable TLS and certificate verification. Do not accept an unexpected&lt;br /&gt;
certificate warning without first checking the server address and contacting&lt;br /&gt;
DarkWorld IRC support.&lt;br /&gt;
&lt;br /&gt;
= 🔒 What is TLS? =&lt;br /&gt;
&lt;br /&gt;
TLS stands for &#039;&#039;&#039;Transport Layer Security&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
TLS encrypts the connection between your IRC client and the DarkWorld IRC&lt;br /&gt;
server. It helps prevent other parties on the network path from reading or&lt;br /&gt;
modifying data travelling between your device and the IRC server.&lt;br /&gt;
&lt;br /&gt;
A secure DarkWorld IRC connection should use:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS or SSL option: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
&lt;br /&gt;
TLS protects data while it is travelling between your device and the IRC&lt;br /&gt;
server. It does not make public channel messages private and does not replace&lt;br /&gt;
good password, account or device security.&lt;br /&gt;
&lt;br /&gt;
== TLS and the PLAIN SASL mechanism ==&lt;br /&gt;
&lt;br /&gt;
The SASL mechanism used by most IRC clients is called &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The name does not mean the entire IRC connection is unencrypted. It means the&lt;br /&gt;
SASL credentials must be protected by the encrypted TLS connection.&lt;br /&gt;
&lt;br /&gt;
For this reason, only use SASL PLAIN when:&lt;br /&gt;
&lt;br /&gt;
* TLS is enabled.&lt;br /&gt;
* The connection uses port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The server certificate is valid.&lt;br /&gt;
* Certificate verification is enabled.&lt;br /&gt;
&lt;br /&gt;
Never configure SASL PLAIN over an unencrypted IRC connection.&lt;br /&gt;
&lt;br /&gt;
== Certificate warnings ==&lt;br /&gt;
&lt;br /&gt;
If your IRC client reports that the certificate is expired, untrusted or does&lt;br /&gt;
not match &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Do not disable certificate verification.&lt;br /&gt;
# Do not permanently accept the unexpected certificate.&lt;br /&gt;
# Confirm that the server address is exactly &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that the port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that your device date, time and timezone are correct.&lt;br /&gt;
# Update your IRC client and operating-system certificate store.&lt;br /&gt;
# Contact DarkWorld IRC support if the warning continues.&lt;br /&gt;
&lt;br /&gt;
When asking for help, provide the exact certificate error. Do not include any&lt;br /&gt;
password, authentication token, private key or recovery code.&lt;br /&gt;
&lt;br /&gt;
= 🔑 What is SASL? =&lt;br /&gt;
&lt;br /&gt;
SASL stands for &#039;&#039;&#039;Simple Authentication and Security Layer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
SASL authenticates your registered NickServ account while the IRC connection&lt;br /&gt;
is being established. This normally identifies your account before automatic&lt;br /&gt;
channel joins and before commands requiring an identified account are used.&lt;br /&gt;
&lt;br /&gt;
SASL is safer and more reliable than placing a NickServ&lt;br /&gt;
&amp;lt;code&amp;gt;IDENTIFY&amp;lt;/code&amp;gt; command in an automatic perform list.&lt;br /&gt;
&lt;br /&gt;
To use SASL, you must already have a registered DarkWorld NickServ account.&lt;br /&gt;
&lt;br /&gt;
Your SASL username should be your registered NickServ account name. It may be&lt;br /&gt;
different from the nickname currently displayed by your IRC client.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Never post your NickServ password in a channel, private message, support request, screenshot or staff report. DarkWorld staff will never ask you to reveal your password.}}&lt;br /&gt;
&lt;br /&gt;
= 🧩 SASL setup by IRC client =&lt;br /&gt;
&lt;br /&gt;
== mIRC ==&lt;br /&gt;
&lt;br /&gt;
=== Graphical setup ===&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;Tools → Options&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;Connect → Servers&#039;&#039;&#039;.&lt;br /&gt;
# Add a new server entry or edit your existing DarkWorld entry.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; as the server address.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt; as the port.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your registered NickServ account name as the SASL username.&lt;br /&gt;
# Enter your NickServ password as the login password.&lt;br /&gt;
# Save the server entry and connect.&lt;br /&gt;
&lt;br /&gt;
The plus sign before &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt; tells mIRC to establish a secure&lt;br /&gt;
connection.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! mIRC field&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| DarkWorld&lt;br /&gt;
|-&lt;br /&gt;
| Address&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Login method&lt;br /&gt;
| SASL&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| Your registered NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| Login password&lt;br /&gt;
| Your NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do not enable any option that bypasses an invalid server certificate.&lt;br /&gt;
&lt;br /&gt;
=== mIRC connection command ===&lt;br /&gt;
&lt;br /&gt;
Advanced users may connect with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/server -e irc.darkworld.network 6697 -l sasl YourNickServPassword -lname YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account name.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your NickServ password.&lt;br /&gt;
&lt;br /&gt;
Using the graphical server configuration is recommended because entering a&lt;br /&gt;
password in a visible command can expose it through screenshots, command&lt;br /&gt;
history or accidental pasting.&lt;br /&gt;
&lt;br /&gt;
== HexChat ==&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;HexChat → Network List&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;DarkWorld&#039;&#039;&#039; and choose &#039;&#039;&#039;Edit&#039;&#039;&#039;.&lt;br /&gt;
# Add &amp;lt;code&amp;gt;irc.darkworld.network/6697&amp;lt;/code&amp;gt; to the server list.&lt;br /&gt;
# Enable &#039;&#039;&#039;Use SSL for all servers on this network&#039;&#039;&#039;.&lt;br /&gt;
# Keep the option that accepts invalid certificates disabled.&lt;br /&gt;
# Enter your normal nickname.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL (username + password)&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your registered NickServ account name as the username.&lt;br /&gt;
# Enter your NickServ password.&lt;br /&gt;
# Save the configuration and connect.&lt;br /&gt;
&lt;br /&gt;
{{Note|HexChat 2.16.2 was announced as its final release. Existing users should keep their installation updated and consider moving to a maintained IRC client for long-term use.}}&lt;br /&gt;
&lt;br /&gt;
== WeeChat ==&lt;br /&gt;
&lt;br /&gt;
=== Add the DarkWorld server ===&lt;br /&gt;
&lt;br /&gt;
Use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/server add darkworld irc.darkworld.network/6697 -tls&lt;br /&gt;
/set irc.server.darkworld.tls_verify on&lt;br /&gt;
/set irc.server.darkworld.sasl_mechanism plain&lt;br /&gt;
/set irc.server.darkworld.sasl_username &amp;quot;YourAccount&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account name.&lt;br /&gt;
&lt;br /&gt;
=== Store the password securely ===&lt;br /&gt;
&lt;br /&gt;
Store the NickServ password in WeeChat secure data instead of placing it&lt;br /&gt;
directly in the server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/secure passphrase YourEncryptionPassphrase&lt;br /&gt;
/secure set darkworld_password YourNickServPassword&lt;br /&gt;
/set irc.server.darkworld.sasl_password &amp;quot;${sec.data.darkworld_password}&amp;quot;&lt;br /&gt;
/save&lt;br /&gt;
/connect darkworld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourEncryptionPassphrase&amp;lt;/code&amp;gt; with a strong passphrase used to protect WeeChat secure data.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your NickServ password.&lt;br /&gt;
&lt;br /&gt;
Do not reuse your NickServ password as the WeeChat secure-data passphrase.&lt;br /&gt;
&lt;br /&gt;
Enter these commands only in WeeChat&#039;s command-input area. Never enter them&lt;br /&gt;
in a channel or private-message window.&lt;br /&gt;
&lt;br /&gt;
== Irssi ==&lt;br /&gt;
&lt;br /&gt;
Add the DarkWorld network with native SASL support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NETWORK ADD -sasl_mechanism PLAIN -sasl_username YourAccount -sasl_password YourNickServPassword DarkWorld&lt;br /&gt;
/SERVER ADD -auto -tls -tls_verify -network DarkWorld irc.darkworld.network 6697&lt;br /&gt;
/SAVE&lt;br /&gt;
/CONNECT DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account name.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your NickServ password.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-tls&amp;lt;/code&amp;gt; option enables TLS. The &amp;lt;code&amp;gt;-tls_verify&amp;lt;/code&amp;gt;&lt;br /&gt;
option enables certificate verification.&lt;br /&gt;
&lt;br /&gt;
Irssi may store the SASL password in its configuration file. Protect the&lt;br /&gt;
account running Irssi and ensure that other users cannot read the&lt;br /&gt;
configuration file.&lt;br /&gt;
&lt;br /&gt;
On a shared shell service, follow the provider&#039;s approved secure&lt;br /&gt;
configuration procedure. Do not change file permissions or store credentials&lt;br /&gt;
in shared locations without authorization.&lt;br /&gt;
&lt;br /&gt;
= ✅ Verify TLS and SASL =&lt;br /&gt;
&lt;br /&gt;
== Verify the TLS connection ==&lt;br /&gt;
&lt;br /&gt;
After connecting, check the server or status window.&lt;br /&gt;
&lt;br /&gt;
Confirm that:&lt;br /&gt;
&lt;br /&gt;
* The server is &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The connection uses TLS.&lt;br /&gt;
* Certificate verification succeeded.&lt;br /&gt;
* No certificate warning was displayed.&lt;br /&gt;
&lt;br /&gt;
Some clients display a padlock icon for secure connections. A padlock is&lt;br /&gt;
helpful, but you should also inspect the connection information in the&lt;br /&gt;
client&#039;s server or status window.&lt;br /&gt;
&lt;br /&gt;
== Verify SASL authentication ==&lt;br /&gt;
&lt;br /&gt;
A successful SASL connection may display a message similar to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You are now logged in as YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check your current identity with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;YourNickname&amp;lt;/code&amp;gt; with your current IRC nickname.&lt;br /&gt;
&lt;br /&gt;
Look for account information showing that the nickname is logged in to your&lt;br /&gt;
registered account.&lt;br /&gt;
&lt;br /&gt;
Do not include your password in a &amp;lt;code&amp;gt;WHOIS&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
== What successful authentication means ==&lt;br /&gt;
&lt;br /&gt;
Successful SASL authentication confirms that your IRC connection has logged&lt;br /&gt;
in to the specified NickServ account.&lt;br /&gt;
&lt;br /&gt;
It does not grant:&lt;br /&gt;
&lt;br /&gt;
* IRC operator access.&lt;br /&gt;
* Channel operator access.&lt;br /&gt;
* Staff authority.&lt;br /&gt;
* Access to another DarkWorld project.&lt;br /&gt;
* Permission to bypass network or channel rules.&lt;br /&gt;
&lt;br /&gt;
All access remains subject to the account&#039;s existing permissions and&lt;br /&gt;
DarkWorld IRC policies.&lt;br /&gt;
&lt;br /&gt;
= 🛠 Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== SASL authentication failed ==&lt;br /&gt;
&lt;br /&gt;
Check the following:&lt;br /&gt;
&lt;br /&gt;
# The NickServ account is already registered.&lt;br /&gt;
# The SASL username is the registered account name, not necessarily the nickname currently displayed.&lt;br /&gt;
# The password is correct and uses the correct capitalization.&lt;br /&gt;
# The SASL mechanism is set to &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
# TLS is enabled.&lt;br /&gt;
# The connection uses port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Certificate verification is enabled and succeeds.&lt;br /&gt;
# There are no accidental spaces before or after the username or password.&lt;br /&gt;
# The account is not suspended, unconfirmed or otherwise restricted.&lt;br /&gt;
# The IRC client supports SASL.&lt;br /&gt;
&lt;br /&gt;
If you recently changed your NickServ password, update the stored SASL&lt;br /&gt;
password in every IRC client, bot and bouncer that uses the account.&lt;br /&gt;
&lt;br /&gt;
== Connection succeeds but SASL does not ==&lt;br /&gt;
&lt;br /&gt;
The IRC client may be connecting without sending SASL credentials.&lt;br /&gt;
&lt;br /&gt;
Confirm that:&lt;br /&gt;
&lt;br /&gt;
* SASL is enabled for the DarkWorld network entry.&lt;br /&gt;
* The login method is set to SASL.&lt;br /&gt;
* The username and password are saved under the correct network.&lt;br /&gt;
* The client is not using a duplicate DarkWorld server entry.&lt;br /&gt;
* The client is not relying on an old NickServ perform command.&lt;br /&gt;
* The registered account name is being used as the SASL username.&lt;br /&gt;
&lt;br /&gt;
Remove outdated automatic identification commands after SASL has been&lt;br /&gt;
configured successfully.&lt;br /&gt;
&lt;br /&gt;
== Nickname and account name are different ==&lt;br /&gt;
&lt;br /&gt;
Your current nickname and registered account name do not always need to be&lt;br /&gt;
identical.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| Current nickname&lt;br /&gt;
| &amp;lt;code&amp;gt;DarkUser-Away&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Registered account&lt;br /&gt;
| &amp;lt;code&amp;gt;DarkUser&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| &amp;lt;code&amp;gt;DarkUser&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use the registered account name as the SASL username.&lt;br /&gt;
&lt;br /&gt;
== TLS certificate error ==&lt;br /&gt;
&lt;br /&gt;
Do not bypass the certificate warning.&lt;br /&gt;
&lt;br /&gt;
Confirm:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
* Device date and time: correct&lt;br /&gt;
* IRC client: updated&lt;br /&gt;
* Operating system: updated&lt;br /&gt;
&lt;br /&gt;
If the error continues, contact DarkWorld IRC support and provide:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Operating system.&lt;br /&gt;
* Server address.&lt;br /&gt;
* Port number.&lt;br /&gt;
* Exact certificate error.&lt;br /&gt;
&lt;br /&gt;
Never provide passwords, authentication tokens, private keys or recovery&lt;br /&gt;
codes.&lt;br /&gt;
&lt;br /&gt;
== Password accidentally exposed ==&lt;br /&gt;
&lt;br /&gt;
A password is exposed if it is posted or stored somewhere unauthorized,&lt;br /&gt;
including:&lt;br /&gt;
&lt;br /&gt;
* A public IRC channel.&lt;br /&gt;
* A private message.&lt;br /&gt;
* A support request.&lt;br /&gt;
* A staff report.&lt;br /&gt;
* A screenshot.&lt;br /&gt;
* A public paste.&lt;br /&gt;
* A shared configuration file.&lt;br /&gt;
* A publicly accessible log.&lt;br /&gt;
&lt;br /&gt;
If your NickServ password is exposed:&lt;br /&gt;
&lt;br /&gt;
# Do not repeat, quote or copy the exposed password.&lt;br /&gt;
# Change the NickServ password immediately using the password-change procedure documented by DarkWorld IRC Services.&lt;br /&gt;
# Update the saved SASL password in every authorized IRC client, bot and bouncer.&lt;br /&gt;
# Report the exposure through the approved DarkWorld support or security channel.&lt;br /&gt;
# Review connected sessions and unexpected account activity where possible.&lt;br /&gt;
# Change the password of any other account that reused the same password.&lt;br /&gt;
# Remove or restrict access to the exposed content where authorized.&lt;br /&gt;
&lt;br /&gt;
Never reuse your NickServ password for email, websites, shell accounts,&lt;br /&gt;
bots, staff portals or other services.&lt;br /&gt;
&lt;br /&gt;
= 🛡 Account and device security =&lt;br /&gt;
&lt;br /&gt;
== Account security recommendations ==&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique NickServ password.&lt;br /&gt;
* Store passwords in a reputable password manager.&lt;br /&gt;
* Use TLS and SASL on every connection.&lt;br /&gt;
* Enable MFA on related email, staff and project accounts wherever supported.&lt;br /&gt;
* Never share account credentials.&lt;br /&gt;
* Never send passwords through IRC messages.&lt;br /&gt;
* Remove obsolete automatic NickServ identification commands.&lt;br /&gt;
* Remove unused client and bouncer configurations.&lt;br /&gt;
* Report suspected credential exposure immediately.&lt;br /&gt;
&lt;br /&gt;
== Device security recommendations ==&lt;br /&gt;
&lt;br /&gt;
* Keep the operating system updated.&lt;br /&gt;
* Keep the IRC client updated.&lt;br /&gt;
* Use a supported IRC client.&lt;br /&gt;
* Enable automatic screen locking.&lt;br /&gt;
* Protect the device with a password, PIN or equivalent authentication.&lt;br /&gt;
* Do not allow unauthorized people to use a privileged IRC session.&lt;br /&gt;
* Use appropriate anti-malware protection where applicable.&lt;br /&gt;
* Encrypt the device storage where supported.&lt;br /&gt;
* Back up recovery information securely.&lt;br /&gt;
* Avoid using privileged IRC accounts on public or untrusted devices.&lt;br /&gt;
&lt;br /&gt;
= 👥 Additional requirements for staff and trainees =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff members and trainees must:&lt;br /&gt;
&lt;br /&gt;
* Use TLS for every staff-related IRC connection.&lt;br /&gt;
* Use SASL where supported.&lt;br /&gt;
* Use an approved and securely configured IRC client.&lt;br /&gt;
* Protect staff and Services credentials.&lt;br /&gt;
* Report suspected credential exposure immediately.&lt;br /&gt;
* Keep privileged access separate from ordinary testing where required.&lt;br /&gt;
* Follow the principle of least privilege.&lt;br /&gt;
* Never request a user&#039;s password.&lt;br /&gt;
* Never copy a user&#039;s exposed password into a report.&lt;br /&gt;
* Follow approved account-recovery and incident-reporting procedures.&lt;br /&gt;
&lt;br /&gt;
Acceptance into staff training does not itself grant staff authority or&lt;br /&gt;
privileged access.&lt;br /&gt;
&lt;br /&gt;
= ❓ Getting help =&lt;br /&gt;
&lt;br /&gt;
If you cannot configure TLS or SASL, ask for assistance in the official&lt;br /&gt;
DarkWorld IRC support channel.&lt;br /&gt;
&lt;br /&gt;
When requesting help, provide:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Operating system.&lt;br /&gt;
* Server address and port.&lt;br /&gt;
* The exact error message.&lt;br /&gt;
* Whether the problem involves TLS, SASL or both.&lt;br /&gt;
* Whether the problem occurs during connection or authentication.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Never provide your password, authentication token, recovery code,&lt;br /&gt;
private key or password-manager information.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 🧭 Next steps =&lt;br /&gt;
&lt;br /&gt;
After securing your connection and account, continue with:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Getting Started|Getting Started]]&lt;br /&gt;
* [[DWIRC:IRC Client Setup|IRC Client Setup]]&lt;br /&gt;
* [[DWIRC:Mobile Connection Guide|Mobile Connection Guide]]&lt;br /&gt;
* [[DWIRC:Channel Management Tips|Channel Management Tips]]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
* [https://www.mirc.com/help/html/connect.html mIRC connection and SASL documentation]&lt;br /&gt;
* [https://www.mirc.com/help/html/mirc_commands.html mIRC server command documentation]&lt;br /&gt;
* [https://weechat.org/doc/ WeeChat official documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/1.4/network/ Irssi network and SASL documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/connect/ Irssi TLS connection documentation]&lt;br /&gt;
* [https://hexchat.github.io/ HexChat official website]&lt;br /&gt;
* [https://www.anope.org/upgrading.html Anope 2.0 to 2.1 upgrade documentation]&lt;br /&gt;
&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=415</id>
		<title>DWIRC:Security &amp; SASL Auth</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=415"/>
		<updated>2026-08-16T20:41:14Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWIRC_Guides}}&lt;br /&gt;
{{DISPLAYTITLE:DWIRC: TLS &amp;amp; SASL Authentication}}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 🔐 TLS &amp;amp; SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
Protecting your connection and IRC account is important when using the&lt;br /&gt;
DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
This guide explains how to:&lt;br /&gt;
&lt;br /&gt;
* Connect securely using TLS encryption.&lt;br /&gt;
* Verify the IRC server certificate.&lt;br /&gt;
* Authenticate automatically using SASL.&lt;br /&gt;
* Protect your NickServ password.&lt;br /&gt;
* Troubleshoot common TLS and SASL problems.&lt;br /&gt;
&lt;br /&gt;
== DarkWorld IRC connection settings ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Network name&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| IRC server&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Secure port&lt;br /&gt;
| &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS enabled&lt;br /&gt;
|-&lt;br /&gt;
| Certificate verification&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| SASL mechanism&lt;br /&gt;
| &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| Your registered NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| SASL password&lt;br /&gt;
| Your NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Some IRC clients still use the older term “SSL.” When an IRC client offers an “SSL” connection option, it normally refers to a TLS-secured connection.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended connection address:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
irc.darkworld.network:6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Always enable TLS and certificate verification. Do not accept an unexpected&lt;br /&gt;
certificate warning without first checking the server address and contacting&lt;br /&gt;
DarkWorld IRC support.&lt;br /&gt;
&lt;br /&gt;
= 🔒 What is TLS? =&lt;br /&gt;
&lt;br /&gt;
TLS stands for &#039;&#039;&#039;Transport Layer Security&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
TLS encrypts the connection between your IRC client and the DarkWorld IRC&lt;br /&gt;
server. It helps prevent other parties on the network path from reading or&lt;br /&gt;
modifying data travelling between your device and the IRC server.&lt;br /&gt;
&lt;br /&gt;
A secure DarkWorld IRC connection should use:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS or SSL option: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
&lt;br /&gt;
TLS protects data while it is travelling between your device and the IRC&lt;br /&gt;
server. It does not make public channel messages private and does not replace&lt;br /&gt;
good password, account or device security.&lt;br /&gt;
&lt;br /&gt;
== TLS and the PLAIN SASL mechanism ==&lt;br /&gt;
&lt;br /&gt;
The SASL mechanism used by most IRC clients is called &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
The name does not mean the entire IRC connection is unencrypted. It means the&lt;br /&gt;
SASL credentials must be protected by the encrypted TLS connection.&lt;br /&gt;
&lt;br /&gt;
For this reason, only use SASL PLAIN when:&lt;br /&gt;
&lt;br /&gt;
* TLS is enabled.&lt;br /&gt;
* The connection uses port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The server certificate is valid.&lt;br /&gt;
* Certificate verification is enabled.&lt;br /&gt;
&lt;br /&gt;
Never configure SASL PLAIN over an unencrypted IRC connection.&lt;br /&gt;
&lt;br /&gt;
== Certificate warnings ==&lt;br /&gt;
&lt;br /&gt;
If your IRC client reports that the certificate is expired, untrusted or does&lt;br /&gt;
not match &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Do not disable certificate verification.&lt;br /&gt;
# Do not permanently accept the unexpected certificate.&lt;br /&gt;
# Confirm that the server address is exactly &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that the port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that your device date, time and timezone are correct.&lt;br /&gt;
# Update your IRC client and operating-system certificate store.&lt;br /&gt;
# Contact DarkWorld IRC support if the warning continues.&lt;br /&gt;
&lt;br /&gt;
When asking for help, provide the exact certificate error. Do not include any&lt;br /&gt;
password, authentication token, private key or recovery code.&lt;br /&gt;
&lt;br /&gt;
= 🔑 What is SASL? =&lt;br /&gt;
&lt;br /&gt;
SASL stands for &#039;&#039;&#039;Simple Authentication and Security Layer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
SASL authenticates your registered NickServ account while the IRC connection&lt;br /&gt;
is being established. This normally identifies your account before automatic&lt;br /&gt;
channel joins and before commands requiring an identified account are used.&lt;br /&gt;
&lt;br /&gt;
SASL is safer and more reliable than placing a NickServ&lt;br /&gt;
&amp;lt;code&amp;gt;IDENTIFY&amp;lt;/code&amp;gt; command in an automatic perform list.&lt;br /&gt;
&lt;br /&gt;
To use SASL, you must already have a registered DarkWorld NickServ account.&lt;br /&gt;
&lt;br /&gt;
Your SASL username should be your registered NickServ account name. It may be&lt;br /&gt;
different from the nickname currently displayed by your IRC client.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Never post your NickServ password in a channel, private message, support request, screenshot or staff report. DarkWorld staff will never ask you to reveal your password.}}&lt;br /&gt;
&lt;br /&gt;
= 🧩 SASL setup by IRC client =&lt;br /&gt;
&lt;br /&gt;
== mIRC ==&lt;br /&gt;
&lt;br /&gt;
=== Graphical setup ===&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;Tools → Options&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;Connect → Servers&#039;&#039;&#039;.&lt;br /&gt;
# Add a new server entry or edit your existing DarkWorld entry.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; as the server address.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt; as the port.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your registered NickServ account name as the SASL username.&lt;br /&gt;
# Enter your NickServ password as the login password.&lt;br /&gt;
# Save the server entry and connect.&lt;br /&gt;
&lt;br /&gt;
The plus sign before &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt; tells mIRC to establish a secure&lt;br /&gt;
connection.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! mIRC field&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| Address&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Login method&lt;br /&gt;
| SASL&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| Your registered NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| Login password&lt;br /&gt;
| Your NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do not enable any option that bypasses an invalid server certificate.&lt;br /&gt;
&lt;br /&gt;
=== mIRC connection command ===&lt;br /&gt;
&lt;br /&gt;
Advanced users may connect with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/server -e irc.darkworld.network 6697 -l sasl YourNickServPassword -lname YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account name.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your NickServ password.&lt;br /&gt;
&lt;br /&gt;
Using the graphical server configuration is recommended because entering a&lt;br /&gt;
password in a visible command can expose it through screenshots, command&lt;br /&gt;
history or accidental pasting.&lt;br /&gt;
&lt;br /&gt;
== HexChat ==&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;HexChat → Network List&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;DarkWorld&#039;&#039;&#039; and choose &#039;&#039;&#039;Edit&#039;&#039;&#039;.&lt;br /&gt;
# Add &amp;lt;code&amp;gt;irc.darkworld.network/6697&amp;lt;/code&amp;gt; to the server list.&lt;br /&gt;
# Enable &#039;&#039;&#039;Use SSL for all servers on this network&#039;&#039;&#039;.&lt;br /&gt;
# Keep the option that accepts invalid certificates disabled.&lt;br /&gt;
# Enter your normal nickname.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL (username + password)&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your registered NickServ account name as the username.&lt;br /&gt;
# Enter your NickServ password.&lt;br /&gt;
# Save the configuration and connect.&lt;br /&gt;
&lt;br /&gt;
{{Note|HexChat 2.16.2 was announced as its final release. Existing users should keep their installation updated and consider moving to a maintained IRC client for long-term use.}}&lt;br /&gt;
&lt;br /&gt;
== WeeChat ==&lt;br /&gt;
&lt;br /&gt;
=== Add the DarkWorld server ===&lt;br /&gt;
&lt;br /&gt;
Use the following commands:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/server add darkworld irc.darkworld.network/6697 -tls&lt;br /&gt;
/set irc.server.darkworld.tls_verify on&lt;br /&gt;
/set irc.server.darkworld.sasl_mechanism plain&lt;br /&gt;
/set irc.server.darkworld.sasl_username &amp;quot;YourAccount&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account name.&lt;br /&gt;
&lt;br /&gt;
=== Store the password securely ===&lt;br /&gt;
&lt;br /&gt;
Store the NickServ password in WeeChat secure data instead of placing it&lt;br /&gt;
directly in the server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/secure passphrase YourEncryptionPassphrase&lt;br /&gt;
/secure set darkworld_password YourNickServPassword&lt;br /&gt;
/set irc.server.darkworld.sasl_password &amp;quot;${sec.data.darkworld_password}&amp;quot;&lt;br /&gt;
/save&lt;br /&gt;
/connect darkworld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourEncryptionPassphrase&amp;lt;/code&amp;gt; with a strong passphrase used to protect WeeChat secure data.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your NickServ password.&lt;br /&gt;
&lt;br /&gt;
Do not reuse your NickServ password as the WeeChat secure-data passphrase.&lt;br /&gt;
&lt;br /&gt;
Enter these commands only in WeeChat&#039;s command-input area. Never enter them&lt;br /&gt;
in a channel or private-message window.&lt;br /&gt;
&lt;br /&gt;
== Irssi ==&lt;br /&gt;
&lt;br /&gt;
Add the DarkWorld network with native SASL support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NETWORK ADD -sasl_mechanism PLAIN -sasl_username YourAccount -sasl_password YourNickServPassword DarkWorld&lt;br /&gt;
/SERVER ADD -auto -tls -tls_verify -network DarkWorld irc.darkworld.network 6697&lt;br /&gt;
/SAVE&lt;br /&gt;
/CONNECT DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account name.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your NickServ password.&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;-tls&amp;lt;/code&amp;gt; option enables TLS. The &amp;lt;code&amp;gt;-tls_verify&amp;lt;/code&amp;gt;&lt;br /&gt;
option enables certificate verification.&lt;br /&gt;
&lt;br /&gt;
Irssi may store the SASL password in its configuration file. Protect the&lt;br /&gt;
account running Irssi and ensure that other users cannot read the&lt;br /&gt;
configuration file.&lt;br /&gt;
&lt;br /&gt;
On a shared shell service, follow the provider&#039;s approved secure&lt;br /&gt;
configuration procedure. Do not change file permissions or store credentials&lt;br /&gt;
in shared locations without authorization.&lt;br /&gt;
&lt;br /&gt;
= ✅ Verify TLS and SASL =&lt;br /&gt;
&lt;br /&gt;
== Verify the TLS connection ==&lt;br /&gt;
&lt;br /&gt;
After connecting, check the server or status window.&lt;br /&gt;
&lt;br /&gt;
Confirm that:&lt;br /&gt;
&lt;br /&gt;
* The server is &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The connection uses TLS.&lt;br /&gt;
* Certificate verification succeeded.&lt;br /&gt;
* No certificate warning was displayed.&lt;br /&gt;
&lt;br /&gt;
Some clients display a padlock icon for secure connections. A padlock is&lt;br /&gt;
helpful, but you should also inspect the connection information in the&lt;br /&gt;
client&#039;s server or status window.&lt;br /&gt;
&lt;br /&gt;
== Verify SASL authentication ==&lt;br /&gt;
&lt;br /&gt;
A successful SASL connection may display a message similar to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You are now logged in as YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check your current identity with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;YourNickname&amp;lt;/code&amp;gt; with your current IRC nickname.&lt;br /&gt;
&lt;br /&gt;
Look for account information showing that the nickname is logged in to your&lt;br /&gt;
registered account.&lt;br /&gt;
&lt;br /&gt;
Do not include your password in a &amp;lt;code&amp;gt;WHOIS&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
== What successful authentication means ==&lt;br /&gt;
&lt;br /&gt;
Successful SASL authentication confirms that your IRC connection has logged&lt;br /&gt;
in to the specified NickServ account.&lt;br /&gt;
&lt;br /&gt;
It does not grant:&lt;br /&gt;
&lt;br /&gt;
* IRC operator access.&lt;br /&gt;
* Channel operator access.&lt;br /&gt;
* Staff authority.&lt;br /&gt;
* Access to another DarkWorld project.&lt;br /&gt;
* Permission to bypass network or channel rules.&lt;br /&gt;
&lt;br /&gt;
All access remains subject to the account&#039;s existing permissions and&lt;br /&gt;
DarkWorld IRC policies.&lt;br /&gt;
&lt;br /&gt;
= 🛠 Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== SASL authentication failed ==&lt;br /&gt;
&lt;br /&gt;
Check the following:&lt;br /&gt;
&lt;br /&gt;
# The NickServ account is already registered.&lt;br /&gt;
# The SASL username is the registered account name, not necessarily the nickname currently displayed.&lt;br /&gt;
# The password is correct and uses the correct capitalization.&lt;br /&gt;
# The SASL mechanism is set to &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
# TLS is enabled.&lt;br /&gt;
# The connection uses port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Certificate verification is enabled and succeeds.&lt;br /&gt;
# There are no accidental spaces before or after the username or password.&lt;br /&gt;
# The account is not suspended, unconfirmed or otherwise restricted.&lt;br /&gt;
# The IRC client supports SASL.&lt;br /&gt;
&lt;br /&gt;
If you recently changed your NickServ password, update the stored SASL&lt;br /&gt;
password in every IRC client, bot and bouncer that uses the account.&lt;br /&gt;
&lt;br /&gt;
== Connection succeeds but SASL does not ==&lt;br /&gt;
&lt;br /&gt;
The IRC client may be connecting without sending SASL credentials.&lt;br /&gt;
&lt;br /&gt;
Confirm that:&lt;br /&gt;
&lt;br /&gt;
* SASL is enabled for the DarkWorld network entry.&lt;br /&gt;
* The login method is set to SASL.&lt;br /&gt;
* The username and password are saved under the correct network.&lt;br /&gt;
* The client is not using a duplicate DarkWorld server entry.&lt;br /&gt;
* The client is not relying on an old NickServ perform command.&lt;br /&gt;
* The registered account name is being used as the SASL username.&lt;br /&gt;
&lt;br /&gt;
Remove outdated automatic identification commands after SASL has been&lt;br /&gt;
configured successfully.&lt;br /&gt;
&lt;br /&gt;
== Nickname and account name are different ==&lt;br /&gt;
&lt;br /&gt;
Your current nickname and registered account name do not always need to be&lt;br /&gt;
identical.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| Current nickname&lt;br /&gt;
| &amp;lt;code&amp;gt;DarkUser-Away&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Registered account&lt;br /&gt;
| &amp;lt;code&amp;gt;DarkUser&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| &amp;lt;code&amp;gt;DarkUser&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use the registered account name as the SASL username.&lt;br /&gt;
&lt;br /&gt;
== TLS certificate error ==&lt;br /&gt;
&lt;br /&gt;
Do not bypass the certificate warning.&lt;br /&gt;
&lt;br /&gt;
Confirm:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
* Device date and time: correct&lt;br /&gt;
* IRC client: updated&lt;br /&gt;
* Operating system: updated&lt;br /&gt;
&lt;br /&gt;
If the error continues, contact DarkWorld IRC support and provide:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Operating system.&lt;br /&gt;
* Server address.&lt;br /&gt;
* Port number.&lt;br /&gt;
* Exact certificate error.&lt;br /&gt;
&lt;br /&gt;
Never provide passwords, authentication tokens, private keys or recovery&lt;br /&gt;
codes.&lt;br /&gt;
&lt;br /&gt;
== Password accidentally exposed ==&lt;br /&gt;
&lt;br /&gt;
A password is exposed if it is posted or stored somewhere unauthorized,&lt;br /&gt;
including:&lt;br /&gt;
&lt;br /&gt;
* A public IRC channel.&lt;br /&gt;
* A private message.&lt;br /&gt;
* A support request.&lt;br /&gt;
* A staff report.&lt;br /&gt;
* A screenshot.&lt;br /&gt;
* A public paste.&lt;br /&gt;
* A shared configuration file.&lt;br /&gt;
* A publicly accessible log.&lt;br /&gt;
&lt;br /&gt;
If your NickServ password is exposed:&lt;br /&gt;
&lt;br /&gt;
# Do not repeat, quote or copy the exposed password.&lt;br /&gt;
# Change the NickServ password immediately using the password-change procedure documented by DarkWorld IRC Services.&lt;br /&gt;
# Update the saved SASL password in every authorized IRC client, bot and bouncer.&lt;br /&gt;
# Report the exposure through the approved DarkWorld support or security channel.&lt;br /&gt;
# Review connected sessions and unexpected account activity where possible.&lt;br /&gt;
# Change the password of any other account that reused the same password.&lt;br /&gt;
# Remove or restrict access to the exposed content where authorized.&lt;br /&gt;
&lt;br /&gt;
Never reuse your NickServ password for email, websites, shell accounts,&lt;br /&gt;
bots, staff portals or other services.&lt;br /&gt;
&lt;br /&gt;
= 🛡 Account and device security =&lt;br /&gt;
&lt;br /&gt;
== Account security recommendations ==&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique NickServ password.&lt;br /&gt;
* Store passwords in a reputable password manager.&lt;br /&gt;
* Use TLS and SASL on every connection.&lt;br /&gt;
* Enable MFA on related email, staff and project accounts wherever supported.&lt;br /&gt;
* Never share account credentials.&lt;br /&gt;
* Never send passwords through IRC messages.&lt;br /&gt;
* Remove obsolete automatic NickServ identification commands.&lt;br /&gt;
* Remove unused client and bouncer configurations.&lt;br /&gt;
* Report suspected credential exposure immediately.&lt;br /&gt;
&lt;br /&gt;
== Device security recommendations ==&lt;br /&gt;
&lt;br /&gt;
* Keep the operating system updated.&lt;br /&gt;
* Keep the IRC client updated.&lt;br /&gt;
* Use a supported IRC client.&lt;br /&gt;
* Enable automatic screen locking.&lt;br /&gt;
* Protect the device with a password, PIN or equivalent authentication.&lt;br /&gt;
* Do not allow unauthorized people to use a privileged IRC session.&lt;br /&gt;
* Use appropriate anti-malware protection where applicable.&lt;br /&gt;
* Encrypt the device storage where supported.&lt;br /&gt;
* Back up recovery information securely.&lt;br /&gt;
* Avoid using privileged IRC accounts on public or untrusted devices.&lt;br /&gt;
&lt;br /&gt;
= 👥 Additional requirements for staff and trainees =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff members and trainees must:&lt;br /&gt;
&lt;br /&gt;
* Use TLS for every staff-related IRC connection.&lt;br /&gt;
* Use SASL where supported.&lt;br /&gt;
* Use an approved and securely configured IRC client.&lt;br /&gt;
* Protect staff and Services credentials.&lt;br /&gt;
* Report suspected credential exposure immediately.&lt;br /&gt;
* Keep privileged access separate from ordinary testing where required.&lt;br /&gt;
* Follow the principle of least privilege.&lt;br /&gt;
* Never request a user&#039;s password.&lt;br /&gt;
* Never copy a user&#039;s exposed password into a report.&lt;br /&gt;
* Follow approved account-recovery and incident-reporting procedures.&lt;br /&gt;
&lt;br /&gt;
Acceptance into staff training does not itself grant staff authority or&lt;br /&gt;
privileged access.&lt;br /&gt;
&lt;br /&gt;
= ❓ Getting help =&lt;br /&gt;
&lt;br /&gt;
If you cannot configure TLS or SASL, ask for assistance in the official&lt;br /&gt;
DarkWorld IRC support channel.&lt;br /&gt;
&lt;br /&gt;
When requesting help, provide:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Operating system.&lt;br /&gt;
* Server address and port.&lt;br /&gt;
* The exact error message.&lt;br /&gt;
* Whether the problem involves TLS, SASL or both.&lt;br /&gt;
* Whether the problem occurs during connection or authentication.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Never provide your password, authentication token, recovery code,&lt;br /&gt;
private key or password-manager information.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 🧭 Next steps =&lt;br /&gt;
&lt;br /&gt;
After securing your connection and account, continue with:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Getting Started|Getting Started]]&lt;br /&gt;
* [[DWIRC:IRC Client Setup|IRC Client Setup]]&lt;br /&gt;
* [[DWIRC:Mobile Connection Guide|Mobile Connection Guide]]&lt;br /&gt;
* [[DWIRC:Channel Management Tips|Channel Management Tips]]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
* [https://www.mirc.com/help/html/connect.html mIRC connection and SASL documentation]&lt;br /&gt;
* [https://www.mirc.com/help/html/mirc_commands.html mIRC server command documentation]&lt;br /&gt;
* [https://weechat.org/doc/ WeeChat official documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/1.4/network/ Irssi network and SASL documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/connect/ Irssi TLS connection documentation]&lt;br /&gt;
* [https://hexchat.github.io/ HexChat official website]&lt;br /&gt;
* [https://www.anope.org/upgrading.html Anope 2.0 to 2.1 upgrade documentation]&lt;br /&gt;
&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=414</id>
		<title>DWIRC:Security &amp; SASL Auth</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=414"/>
		<updated>2026-08-16T20:35:16Z</updated>

		<summary type="html">&lt;p&gt;Fizi: /* DarkWorld IRC connection settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWIRC_Guides}}&lt;br /&gt;
{{DISPLAYTITLE:DWIRC: TLS &amp;amp; SASL Authentication}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;📘 DWIRC Guides &amp;amp; Tutorials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Guides&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Getting Started|Getting Started]]&lt;br /&gt;
* [[DWIRC:IRC Client Setup|IRC Client Setup]]&lt;br /&gt;
* [[DWIRC:Mobile Connection Guide|Mobile Connection Guide]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Security&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TLS &amp;amp; SASL Authentication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channel Management&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Channel Management Tips|Channel Management Tips]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;📚 Learn to Connect, Secure, and Manage Your IRC Experience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 🔐 TLS &amp;amp; SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
Protecting your connection and IRC account is important when using the&lt;br /&gt;
DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
This guide explains how to:&lt;br /&gt;
&lt;br /&gt;
* Connect securely using TLS encryption.&lt;br /&gt;
* Verify the IRC server certificate.&lt;br /&gt;
* Authenticate automatically using SASL.&lt;br /&gt;
* Protect your NickServ password.&lt;br /&gt;
* Troubleshoot common TLS and SASL problems.&lt;br /&gt;
&lt;br /&gt;
== DarkWorld IRC connection settings ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Network name&lt;br /&gt;
| DarkWorld &lt;br /&gt;
|-&lt;br /&gt;
| Server&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Secure port&lt;br /&gt;
| &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS enabled&lt;br /&gt;
|-&lt;br /&gt;
| Certificate verification&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| SASL mechanism&lt;br /&gt;
| &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| Your registered NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| SASL password&lt;br /&gt;
| Your NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Some IRC clients still use the older label “SSL.” When a client&lt;br /&gt;
offers “SSL” for IRC connections, it normally refers to a TLS-secured&lt;br /&gt;
connection.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Always use:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
irc.darkworld.network:6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not disable certificate verification and do not accept an unexpected&lt;br /&gt;
certificate warning without contacting DarkWorld IRC support.&lt;br /&gt;
&lt;br /&gt;
= 🔒 What is TLS? =&lt;br /&gt;
&lt;br /&gt;
TLS encrypts the connection between your IRC client and the DarkWorld IRC&lt;br /&gt;
server.&lt;br /&gt;
&lt;br /&gt;
Without TLS, IRC messages, account commands and other connection data may&lt;br /&gt;
travel across the network without transport encryption.&lt;br /&gt;
&lt;br /&gt;
TLS helps protect data while it is travelling between your device and the&lt;br /&gt;
IRC server. It does not make public channel messages private, and it does&lt;br /&gt;
not replace good account security.&lt;br /&gt;
&lt;br /&gt;
A secure IRC connection should use:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS or SSL option: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
&lt;br /&gt;
== Certificate warnings ==&lt;br /&gt;
&lt;br /&gt;
If your IRC client reports that the certificate is expired, untrusted or&lt;br /&gt;
does not match &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Do not disable certificate verification.&lt;br /&gt;
# Do not permanently accept the unexpected certificate.&lt;br /&gt;
# Confirm that the server address is exactly&lt;br /&gt;
  &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that the port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Update your IRC client and operating-system certificate store.&lt;br /&gt;
# Contact DarkWorld IRC support if the warning continues.&lt;br /&gt;
&lt;br /&gt;
= 🔑 What is SASL? =&lt;br /&gt;
&lt;br /&gt;
SASL stands for &#039;&#039;&#039;Simple Authentication and Security Layer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
SASL authenticates your registered NickServ account while the IRC&lt;br /&gt;
connection is being established. This normally identifies you before&lt;br /&gt;
automatic channel joins and before another user can interfere with your&lt;br /&gt;
preferred nickname.&lt;br /&gt;
&lt;br /&gt;
SASL is safer and more reliable than placing a NickServ&lt;br /&gt;
&amp;lt;code&amp;gt;IDENTIFY&amp;lt;/code&amp;gt; command in an automatic perform list.&lt;br /&gt;
&lt;br /&gt;
To use SASL, you must already have a registered DarkWorld NickServ&lt;br /&gt;
account.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Never post your NickServ password in a channel, private message,&lt;br /&gt;
support ticket, screenshot or staff report. DarkWorld staff will never ask&lt;br /&gt;
you to reveal your password.}}&lt;br /&gt;
&lt;br /&gt;
= 🧩 SASL setup by client =&lt;br /&gt;
&lt;br /&gt;
== mIRC ==&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;Tools → Options&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;Connect → Servers&#039;&#039;&#039;.&lt;br /&gt;
# Add or edit the DarkWorld IRC server.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; as the server address.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt; as the port. The plus sign tells mIRC to use a&lt;br /&gt;
  secure connection.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your registered NickServ account name as the SASL username.&lt;br /&gt;
# Enter your NickServ password as the login password.&lt;br /&gt;
# Save the server entry and connect.&lt;br /&gt;
&lt;br /&gt;
Recommended values:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! mIRC field&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| Address&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Login method&lt;br /&gt;
| SASL&lt;br /&gt;
|-&lt;br /&gt;
| Username&lt;br /&gt;
| Your NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| Password&lt;br /&gt;
| Your NickServ password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do not select an option that bypasses an invalid TLS certificate.&lt;br /&gt;
&lt;br /&gt;
== HexChat ==&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;HexChat → Network List&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;DarkWorld&#039;&#039;&#039; and choose &#039;&#039;&#039;Edit&#039;&#039;&#039;.&lt;br /&gt;
# Add &amp;lt;code&amp;gt;irc.darkworld.network/6697&amp;lt;/code&amp;gt; to the server list.&lt;br /&gt;
# Enable &#039;&#039;&#039;Use SSL for all servers on this network&#039;&#039;&#039;.&lt;br /&gt;
# Enable certificate verification.&lt;br /&gt;
# Enter your registered nickname in the username or login field.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL (username + password)&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your NickServ account password.&lt;br /&gt;
# Save the configuration and connect.&lt;br /&gt;
&lt;br /&gt;
{{Note|HexChat 2.16.2 was announced as its final release. Existing users&lt;br /&gt;
should keep it updated and should consider a maintained IRC client for&lt;br /&gt;
long-term use.}}&lt;br /&gt;
&lt;br /&gt;
== WeeChat ==&lt;br /&gt;
&lt;br /&gt;
The server can be created with TLS enabled:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/server add darkworld irc.darkworld.network/6697 -tls&lt;br /&gt;
/set irc.server.darkworld.tls_verify on&lt;br /&gt;
/set irc.server.darkworld.sasl_mechanism plain&lt;br /&gt;
/set irc.server.darkworld.sasl_username &amp;quot;YourAccount&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Store the NickServ password in WeeChat secure data instead of placing it&lt;br /&gt;
directly in the IRC server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/secure passphrase&lt;br /&gt;
/secure set darkworld_password &amp;quot;YourNickServPassword&amp;quot;&lt;br /&gt;
/set irc.server.darkworld.sasl_password &amp;quot;${sec.data.darkworld_password}&amp;quot;&lt;br /&gt;
/save&lt;br /&gt;
/connect darkworld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/secure passphrase&amp;lt;/code&amp;gt; command will prompt you to configure a&lt;br /&gt;
passphrase. Do not use your NickServ password as the secure-data&lt;br /&gt;
passphrase.&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your actual password.&lt;br /&gt;
&lt;br /&gt;
Do not paste these commands into a public channel.&lt;br /&gt;
&lt;br /&gt;
== Irssi ==&lt;br /&gt;
&lt;br /&gt;
Add the DarkWorld network with native SASL support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NETWORK ADD -sasl_mechanism PLAIN -sasl_username YourAccount -sasl_password YourNickServPassword DarkWorld&lt;br /&gt;
/SERVER ADD -auto -tls -tls_verify -network DarkWorld irc.darkworld.network 6697&lt;br /&gt;
/SAVE&lt;br /&gt;
/CONNECT DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; and&lt;br /&gt;
&amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your own account information.&lt;br /&gt;
&lt;br /&gt;
The SASL password may be stored in the Irssi configuration file. Protect&lt;br /&gt;
the account running Irssi and ensure that the configuration file is not&lt;br /&gt;
readable by other users.&lt;br /&gt;
&lt;br /&gt;
On a shared shell account, ask the shell administrator or DarkWorld&lt;br /&gt;
support for the approved secure configuration procedure.&lt;br /&gt;
&lt;br /&gt;
= ✅ Verifying TLS and SASL =&lt;br /&gt;
&lt;br /&gt;
== Verify TLS ==&lt;br /&gt;
&lt;br /&gt;
After connecting, check the server or status window.&lt;br /&gt;
&lt;br /&gt;
The client should show that:&lt;br /&gt;
&lt;br /&gt;
* The connection uses TLS.&lt;br /&gt;
* The server is &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Certificate verification succeeded.&lt;br /&gt;
&lt;br /&gt;
Some clients display a padlock icon. A padlock is helpful, but the status&lt;br /&gt;
or connection information should still be checked.&lt;br /&gt;
&lt;br /&gt;
== Verify SASL ==&lt;br /&gt;
&lt;br /&gt;
A successful connection may show a message similar to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You are now logged in as YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check your current identity with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Look for account information showing that your current nickname is logged&lt;br /&gt;
in to your registered account.&lt;br /&gt;
&lt;br /&gt;
You may also use the NickServ status command supported by DarkWorld&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/msg NickServ STATUS YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include your password in either command.&lt;br /&gt;
&lt;br /&gt;
= 🛠 Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== SASL authentication failed ==&lt;br /&gt;
&lt;br /&gt;
Check the following:&lt;br /&gt;
&lt;br /&gt;
# The NickServ account is already registered.&lt;br /&gt;
# The SASL username is the registered account name, not necessarily the&lt;br /&gt;
  nickname currently displayed.&lt;br /&gt;
# The password is correct and has the correct capitalization.&lt;br /&gt;
# The SASL mechanism is set to &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
# TLS is enabled on port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# There are no accidental spaces before or after the username or password.&lt;br /&gt;
# The account is not suspended or otherwise restricted.&lt;br /&gt;
&lt;br /&gt;
If you recently changed your NickServ password, update the stored password&lt;br /&gt;
in every IRC client and bouncer.&lt;br /&gt;
&lt;br /&gt;
== Connection succeeds but SASL does not ==&lt;br /&gt;
&lt;br /&gt;
The client may be connecting without sending SASL credentials.&lt;br /&gt;
&lt;br /&gt;
Review the network-specific settings and confirm that:&lt;br /&gt;
&lt;br /&gt;
* SASL is enabled for the DarkWorld network entry.&lt;br /&gt;
* The login method is SASL rather than NickServ or a perform command.&lt;br /&gt;
* The username and password are saved under the correct network.&lt;br /&gt;
* The client is not using a different duplicate DarkWorld server entry.&lt;br /&gt;
&lt;br /&gt;
== TLS certificate error ==&lt;br /&gt;
&lt;br /&gt;
Do not bypass the warning.&lt;br /&gt;
&lt;br /&gt;
Confirm:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
* Device date and time: correct&lt;br /&gt;
* IRC client and operating system: updated&lt;br /&gt;
&lt;br /&gt;
If the certificate error continues, contact DarkWorld IRC support and&lt;br /&gt;
provide the exact error message. Do not include passwords or other&lt;br /&gt;
credentials.&lt;br /&gt;
&lt;br /&gt;
== Password accidentally exposed ==&lt;br /&gt;
&lt;br /&gt;
If a NickServ password is pasted into a channel, private message, log,&lt;br /&gt;
screenshot or other unauthorized location:&lt;br /&gt;
&lt;br /&gt;
# Do not repeat or quote the exposed password.&lt;br /&gt;
# Change the NickServ password immediately using the official NickServ&lt;br /&gt;
  password command.&lt;br /&gt;
# Update the saved SASL password in your clients and bouncers.&lt;br /&gt;
# Report the exposure through the approved DarkWorld support or security&lt;br /&gt;
  channel.&lt;br /&gt;
# Review any connected sessions or unexpected account activity.&lt;br /&gt;
# Change any other account that reused the same password.&lt;br /&gt;
&lt;br /&gt;
Never reuse your NickServ password for email, websites, shell accounts,&lt;br /&gt;
bots or other services.&lt;br /&gt;
&lt;br /&gt;
= 🛡 Account security recommendations =&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique NickServ password.&lt;br /&gt;
* Use a password manager.&lt;br /&gt;
* Enable MFA on related staff, email and project accounts wherever&lt;br /&gt;
  supported.&lt;br /&gt;
* Keep your IRC client and operating system updated.&lt;br /&gt;
* Use TLS and SASL on every connection.&lt;br /&gt;
* Do not share IRC configuration files containing credentials.&lt;br /&gt;
* Do not send passwords through IRC messages.&lt;br /&gt;
* Lock your device when it is unattended.&lt;br /&gt;
* Remove old or unused client configurations.&lt;br /&gt;
* Report suspected account exposure immediately.&lt;br /&gt;
&lt;br /&gt;
= ❓ Getting help =&lt;br /&gt;
&lt;br /&gt;
If you cannot configure TLS or SASL, ask for help in the official&lt;br /&gt;
DarkWorld IRC support channel.&lt;br /&gt;
&lt;br /&gt;
When requesting assistance, provide:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Operating system.&lt;br /&gt;
* The exact error message.&lt;br /&gt;
* Whether the problem involves TLS, SASL or both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Never provide your password, authentication token, recovery code or&lt;br /&gt;
private key.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 🧭 Next step =&lt;br /&gt;
&lt;br /&gt;
After securing your connection and account, continue with:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Channel Management Tips|Channel Management Tips]]&lt;br /&gt;
* [[DWIRC:IRC Client Setup|IRC Client Setup]]&lt;br /&gt;
* [[DWIRC:Mobile Connection Guide|Mobile Connection Guide]]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
* [https://www.mirc.com/help/html/connect.html mIRC connection and SASL documentation]&lt;br /&gt;
* [https://www.mirc.com/help/html/mirc_commands.html mIRC server command documentation]&lt;br /&gt;
* [https://weechat.org/doc/ WeeChat official documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/1.4/network/ Irssi network and SASL documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/connect/ Irssi TLS connection documentation]&lt;br /&gt;
* [https://hexchat.github.io/ HexChat official website]&lt;br /&gt;
&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=413</id>
		<title>DWIRC:Security &amp; SASL Auth</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Security_%26_SASL_Auth&amp;diff=413"/>
		<updated>2026-08-16T20:32:18Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DWIRC_Guides}}&lt;br /&gt;
{{DISPLAYTITLE:DWIRC: TLS &amp;amp; SASL Authentication}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;📘 DWIRC Guides &amp;amp; Tutorials&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Guides&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Getting Started|Getting Started]]&lt;br /&gt;
* [[DWIRC:IRC Client Setup|IRC Client Setup]]&lt;br /&gt;
* [[DWIRC:Mobile Connection Guide|Mobile Connection Guide]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Security&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;TLS &amp;amp; SASL Authentication&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Channel Management&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Channel Management Tips|Channel Management Tips]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;📚 Learn to Connect, Secure, and Manage Your IRC Experience&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
= 🔐 TLS &amp;amp; SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
Protecting your connection and IRC account is important when using the&lt;br /&gt;
DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
This guide explains how to:&lt;br /&gt;
&lt;br /&gt;
* Connect securely using TLS encryption.&lt;br /&gt;
* Verify the IRC server certificate.&lt;br /&gt;
* Authenticate automatically using SASL.&lt;br /&gt;
* Protect your NickServ password.&lt;br /&gt;
* Troubleshoot common TLS and SASL problems.&lt;br /&gt;
&lt;br /&gt;
== DarkWorld IRC connection settings ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Network name&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| Server&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Secure port&lt;br /&gt;
| &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS enabled&lt;br /&gt;
|-&lt;br /&gt;
| Certificate verification&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| SASL mechanism&lt;br /&gt;
| &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| SASL username&lt;br /&gt;
| Your registered NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| SASL password&lt;br /&gt;
| Your NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{Note|Some IRC clients still use the older label “SSL.” When a client&lt;br /&gt;
offers “SSL” for IRC connections, it normally refers to a TLS-secured&lt;br /&gt;
connection.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Always use:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
irc.darkworld.network:6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not disable certificate verification and do not accept an unexpected&lt;br /&gt;
certificate warning without contacting DarkWorld IRC support.&lt;br /&gt;
&lt;br /&gt;
= 🔒 What is TLS? =&lt;br /&gt;
&lt;br /&gt;
TLS encrypts the connection between your IRC client and the DarkWorld IRC&lt;br /&gt;
server.&lt;br /&gt;
&lt;br /&gt;
Without TLS, IRC messages, account commands and other connection data may&lt;br /&gt;
travel across the network without transport encryption.&lt;br /&gt;
&lt;br /&gt;
TLS helps protect data while it is travelling between your device and the&lt;br /&gt;
IRC server. It does not make public channel messages private, and it does&lt;br /&gt;
not replace good account security.&lt;br /&gt;
&lt;br /&gt;
A secure IRC connection should use:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS or SSL option: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
&lt;br /&gt;
== Certificate warnings ==&lt;br /&gt;
&lt;br /&gt;
If your IRC client reports that the certificate is expired, untrusted or&lt;br /&gt;
does not match &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Do not disable certificate verification.&lt;br /&gt;
# Do not permanently accept the unexpected certificate.&lt;br /&gt;
# Confirm that the server address is exactly&lt;br /&gt;
  &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that the port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Update your IRC client and operating-system certificate store.&lt;br /&gt;
# Contact DarkWorld IRC support if the warning continues.&lt;br /&gt;
&lt;br /&gt;
= 🔑 What is SASL? =&lt;br /&gt;
&lt;br /&gt;
SASL stands for &#039;&#039;&#039;Simple Authentication and Security Layer&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
SASL authenticates your registered NickServ account while the IRC&lt;br /&gt;
connection is being established. This normally identifies you before&lt;br /&gt;
automatic channel joins and before another user can interfere with your&lt;br /&gt;
preferred nickname.&lt;br /&gt;
&lt;br /&gt;
SASL is safer and more reliable than placing a NickServ&lt;br /&gt;
&amp;lt;code&amp;gt;IDENTIFY&amp;lt;/code&amp;gt; command in an automatic perform list.&lt;br /&gt;
&lt;br /&gt;
To use SASL, you must already have a registered DarkWorld NickServ&lt;br /&gt;
account.&lt;br /&gt;
&lt;br /&gt;
{{Warning|Never post your NickServ password in a channel, private message,&lt;br /&gt;
support ticket, screenshot or staff report. DarkWorld staff will never ask&lt;br /&gt;
you to reveal your password.}}&lt;br /&gt;
&lt;br /&gt;
= 🧩 SASL setup by client =&lt;br /&gt;
&lt;br /&gt;
== mIRC ==&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;Tools → Options&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;Connect → Servers&#039;&#039;&#039;.&lt;br /&gt;
# Add or edit the DarkWorld IRC server.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt; as the server address.&lt;br /&gt;
# Enter &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt; as the port. The plus sign tells mIRC to use a&lt;br /&gt;
  secure connection.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your registered NickServ account name as the SASL username.&lt;br /&gt;
# Enter your NickServ password as the login password.&lt;br /&gt;
# Save the server entry and connect.&lt;br /&gt;
&lt;br /&gt;
Recommended values:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! mIRC field&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Description&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| Address&lt;br /&gt;
| &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| &amp;lt;code&amp;gt;+6697&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Login method&lt;br /&gt;
| SASL&lt;br /&gt;
|-&lt;br /&gt;
| Username&lt;br /&gt;
| Your NickServ account name&lt;br /&gt;
|-&lt;br /&gt;
| Password&lt;br /&gt;
| Your NickServ password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Do not select an option that bypasses an invalid TLS certificate.&lt;br /&gt;
&lt;br /&gt;
== HexChat ==&lt;br /&gt;
&lt;br /&gt;
# Open &#039;&#039;&#039;HexChat → Network List&#039;&#039;&#039;.&lt;br /&gt;
# Select &#039;&#039;&#039;DarkWorld&#039;&#039;&#039; and choose &#039;&#039;&#039;Edit&#039;&#039;&#039;.&lt;br /&gt;
# Add &amp;lt;code&amp;gt;irc.darkworld.network/6697&amp;lt;/code&amp;gt; to the server list.&lt;br /&gt;
# Enable &#039;&#039;&#039;Use SSL for all servers on this network&#039;&#039;&#039;.&lt;br /&gt;
# Enable certificate verification.&lt;br /&gt;
# Enter your registered nickname in the username or login field.&lt;br /&gt;
# Select &#039;&#039;&#039;SASL (username + password)&#039;&#039;&#039; as the login method.&lt;br /&gt;
# Enter your NickServ account password.&lt;br /&gt;
# Save the configuration and connect.&lt;br /&gt;
&lt;br /&gt;
{{Note|HexChat 2.16.2 was announced as its final release. Existing users&lt;br /&gt;
should keep it updated and should consider a maintained IRC client for&lt;br /&gt;
long-term use.}}&lt;br /&gt;
&lt;br /&gt;
== WeeChat ==&lt;br /&gt;
&lt;br /&gt;
The server can be created with TLS enabled:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/server add darkworld irc.darkworld.network/6697 -tls&lt;br /&gt;
/set irc.server.darkworld.tls_verify on&lt;br /&gt;
/set irc.server.darkworld.sasl_mechanism plain&lt;br /&gt;
/set irc.server.darkworld.sasl_username &amp;quot;YourAccount&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Store the NickServ password in WeeChat secure data instead of placing it&lt;br /&gt;
directly in the IRC server configuration:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/secure passphrase&lt;br /&gt;
/secure set darkworld_password &amp;quot;YourNickServPassword&amp;quot;&lt;br /&gt;
/set irc.server.darkworld.sasl_password &amp;quot;${sec.data.darkworld_password}&amp;quot;&lt;br /&gt;
/save&lt;br /&gt;
/connect darkworld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/secure passphrase&amp;lt;/code&amp;gt; command will prompt you to configure a&lt;br /&gt;
passphrase. Do not use your NickServ password as the secure-data&lt;br /&gt;
passphrase.&lt;br /&gt;
&lt;br /&gt;
Replace:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; with your registered NickServ account.&lt;br /&gt;
* &amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your actual password.&lt;br /&gt;
&lt;br /&gt;
Do not paste these commands into a public channel.&lt;br /&gt;
&lt;br /&gt;
== Irssi ==&lt;br /&gt;
&lt;br /&gt;
Add the DarkWorld network with native SASL support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NETWORK ADD -sasl_mechanism PLAIN -sasl_username YourAccount -sasl_password YourNickServPassword DarkWorld&lt;br /&gt;
/SERVER ADD -auto -tls -tls_verify -network DarkWorld irc.darkworld.network 6697&lt;br /&gt;
/SAVE&lt;br /&gt;
/CONNECT DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;YourAccount&amp;lt;/code&amp;gt; and&lt;br /&gt;
&amp;lt;code&amp;gt;YourNickServPassword&amp;lt;/code&amp;gt; with your own account information.&lt;br /&gt;
&lt;br /&gt;
The SASL password may be stored in the Irssi configuration file. Protect&lt;br /&gt;
the account running Irssi and ensure that the configuration file is not&lt;br /&gt;
readable by other users.&lt;br /&gt;
&lt;br /&gt;
On a shared shell account, ask the shell administrator or DarkWorld&lt;br /&gt;
support for the approved secure configuration procedure.&lt;br /&gt;
&lt;br /&gt;
= ✅ Verifying TLS and SASL =&lt;br /&gt;
&lt;br /&gt;
== Verify TLS ==&lt;br /&gt;
&lt;br /&gt;
After connecting, check the server or status window.&lt;br /&gt;
&lt;br /&gt;
The client should show that:&lt;br /&gt;
&lt;br /&gt;
* The connection uses TLS.&lt;br /&gt;
* The server is &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;.&lt;br /&gt;
* The port is &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Certificate verification succeeded.&lt;br /&gt;
&lt;br /&gt;
Some clients display a padlock icon. A padlock is helpful, but the status&lt;br /&gt;
or connection information should still be checked.&lt;br /&gt;
&lt;br /&gt;
== Verify SASL ==&lt;br /&gt;
&lt;br /&gt;
A successful connection may show a message similar to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You are now logged in as YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also check your current identity with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Look for account information showing that your current nickname is logged&lt;br /&gt;
in to your registered account.&lt;br /&gt;
&lt;br /&gt;
You may also use the NickServ status command supported by DarkWorld&lt;br /&gt;
Services:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/msg NickServ STATUS YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include your password in either command.&lt;br /&gt;
&lt;br /&gt;
= 🛠 Troubleshooting =&lt;br /&gt;
&lt;br /&gt;
== SASL authentication failed ==&lt;br /&gt;
&lt;br /&gt;
Check the following:&lt;br /&gt;
&lt;br /&gt;
# The NickServ account is already registered.&lt;br /&gt;
# The SASL username is the registered account name, not necessarily the&lt;br /&gt;
  nickname currently displayed.&lt;br /&gt;
# The password is correct and has the correct capitalization.&lt;br /&gt;
# The SASL mechanism is set to &amp;lt;code&amp;gt;PLAIN&amp;lt;/code&amp;gt;.&lt;br /&gt;
# TLS is enabled on port &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;.&lt;br /&gt;
# There are no accidental spaces before or after the username or password.&lt;br /&gt;
# The account is not suspended or otherwise restricted.&lt;br /&gt;
&lt;br /&gt;
If you recently changed your NickServ password, update the stored password&lt;br /&gt;
in every IRC client and bouncer.&lt;br /&gt;
&lt;br /&gt;
== Connection succeeds but SASL does not ==&lt;br /&gt;
&lt;br /&gt;
The client may be connecting without sending SASL credentials.&lt;br /&gt;
&lt;br /&gt;
Review the network-specific settings and confirm that:&lt;br /&gt;
&lt;br /&gt;
* SASL is enabled for the DarkWorld network entry.&lt;br /&gt;
* The login method is SASL rather than NickServ or a perform command.&lt;br /&gt;
* The username and password are saved under the correct network.&lt;br /&gt;
* The client is not using a different duplicate DarkWorld server entry.&lt;br /&gt;
&lt;br /&gt;
== TLS certificate error ==&lt;br /&gt;
&lt;br /&gt;
Do not bypass the warning.&lt;br /&gt;
&lt;br /&gt;
Confirm:&lt;br /&gt;
&lt;br /&gt;
* Server: &amp;lt;code&amp;gt;irc.darkworld.network&amp;lt;/code&amp;gt;&lt;br /&gt;
* Port: &amp;lt;code&amp;gt;6697&amp;lt;/code&amp;gt;&lt;br /&gt;
* TLS: enabled&lt;br /&gt;
* Certificate verification: enabled&lt;br /&gt;
* Device date and time: correct&lt;br /&gt;
* IRC client and operating system: updated&lt;br /&gt;
&lt;br /&gt;
If the certificate error continues, contact DarkWorld IRC support and&lt;br /&gt;
provide the exact error message. Do not include passwords or other&lt;br /&gt;
credentials.&lt;br /&gt;
&lt;br /&gt;
== Password accidentally exposed ==&lt;br /&gt;
&lt;br /&gt;
If a NickServ password is pasted into a channel, private message, log,&lt;br /&gt;
screenshot or other unauthorized location:&lt;br /&gt;
&lt;br /&gt;
# Do not repeat or quote the exposed password.&lt;br /&gt;
# Change the NickServ password immediately using the official NickServ&lt;br /&gt;
  password command.&lt;br /&gt;
# Update the saved SASL password in your clients and bouncers.&lt;br /&gt;
# Report the exposure through the approved DarkWorld support or security&lt;br /&gt;
  channel.&lt;br /&gt;
# Review any connected sessions or unexpected account activity.&lt;br /&gt;
# Change any other account that reused the same password.&lt;br /&gt;
&lt;br /&gt;
Never reuse your NickServ password for email, websites, shell accounts,&lt;br /&gt;
bots or other services.&lt;br /&gt;
&lt;br /&gt;
= 🛡 Account security recommendations =&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique NickServ password.&lt;br /&gt;
* Use a password manager.&lt;br /&gt;
* Enable MFA on related staff, email and project accounts wherever&lt;br /&gt;
  supported.&lt;br /&gt;
* Keep your IRC client and operating system updated.&lt;br /&gt;
* Use TLS and SASL on every connection.&lt;br /&gt;
* Do not share IRC configuration files containing credentials.&lt;br /&gt;
* Do not send passwords through IRC messages.&lt;br /&gt;
* Lock your device when it is unattended.&lt;br /&gt;
* Remove old or unused client configurations.&lt;br /&gt;
* Report suspected account exposure immediately.&lt;br /&gt;
&lt;br /&gt;
= ❓ Getting help =&lt;br /&gt;
&lt;br /&gt;
If you cannot configure TLS or SASL, ask for help in the official&lt;br /&gt;
DarkWorld IRC support channel.&lt;br /&gt;
&lt;br /&gt;
When requesting assistance, provide:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Operating system.&lt;br /&gt;
* The exact error message.&lt;br /&gt;
* Whether the problem involves TLS, SASL or both.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Never provide your password, authentication token, recovery code or&lt;br /&gt;
private key.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 🧭 Next step =&lt;br /&gt;
&lt;br /&gt;
After securing your connection and account, continue with:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Channel Management Tips|Channel Management Tips]]&lt;br /&gt;
* [[DWIRC:IRC Client Setup|IRC Client Setup]]&lt;br /&gt;
* [[DWIRC:Mobile Connection Guide|Mobile Connection Guide]]&lt;br /&gt;
&lt;br /&gt;
= References =&lt;br /&gt;
&lt;br /&gt;
* [https://www.mirc.com/help/html/connect.html mIRC connection and SASL documentation]&lt;br /&gt;
* [https://www.mirc.com/help/html/mirc_commands.html mIRC server command documentation]&lt;br /&gt;
* [https://weechat.org/doc/ WeeChat official documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/1.4/network/ Irssi network and SASL documentation]&lt;br /&gt;
* [https://irssi.org/documentation/help/connect/ Irssi TLS connection documentation]&lt;br /&gt;
* [https://hexchat.github.io/ HexChat official website]&lt;br /&gt;
&lt;br /&gt;
{{DWFooter}}&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training_Program&amp;diff=412</id>
		<title>DWIRC:Staff Training Program</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training_Program&amp;diff=412"/>
		<updated>2026-08-08T18:33:59Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Training Program}}&lt;br /&gt;
== Apply for the Program ==&lt;br /&gt;
&lt;br /&gt;
Potential candidates should first review the eligibility requirements and application process:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Eligibility and Application|Eligibility and Application]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Applications and reviewer notes must be submitted through the approved private application system. They must not be posted publicly on the wiki.&lt;br /&gt;
= DarkWorld IRC Staff Training Program =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Staff Training Program&#039;&#039;&#039; prepares potential staff members to support, moderate, and protect the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is one of several projects operating under the wider &#039;&#039;&#039;DarkWorld Network&#039;&#039;&#039; umbrella. Other DarkWorld projects include DWShells, DWBouncers, DWBots, DWGames, DWStats, DWPaste, DWVPN, and DWTutorials.&lt;br /&gt;
&lt;br /&gt;
Completion of this program applies only to roles within the &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;. It does not automatically grant authority, administrative access, or staff membership in any other DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
== Purpose of the Program ==&lt;br /&gt;
&lt;br /&gt;
The program ensures that potential IRC staff members understand:&lt;br /&gt;
&lt;br /&gt;
* How IRC works.&lt;br /&gt;
* How the DarkWorld IRC Network operates.&lt;br /&gt;
* DarkWorld IRC rules and policies.&lt;br /&gt;
* User and channel modes.&lt;br /&gt;
* NickServ, ChanServ, HostServ, and other IRC Services.&lt;br /&gt;
* User-support procedures.&lt;br /&gt;
* Channel moderation.&lt;br /&gt;
* Abuse and incident handling.&lt;br /&gt;
* Staff ethics, privacy, and security.&lt;br /&gt;
* The responsible use of IRC operator privileges.&lt;br /&gt;
&lt;br /&gt;
Candidates must demonstrate knowledge, sound judgment, professional conduct, and reliability before receiving permanent staff access.&lt;br /&gt;
&lt;br /&gt;
== Core Principles ==&lt;br /&gt;
&lt;br /&gt;
Every trainee must follow these principles:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Learn before acting&#039;&#039;&#039; – Candidates must understand the network and its policies before receiving authority.&lt;br /&gt;
# &#039;&#039;&#039;Use the least privilege&#039;&#039;&#039; – Access must be limited to what is required for the assigned role.&lt;br /&gt;
# &#039;&#039;&#039;Protect the community&#039;&#039;&#039; – Staff powers exist to protect users and the network.&lt;br /&gt;
# &#039;&#039;&#039;Remain neutral&#039;&#039;&#039; – Staff access must never be used in personal arguments.&lt;br /&gt;
# &#039;&#039;&#039;Respect privacy&#039;&#039;&#039; – Private reports, IP addresses, logs, and account information must remain confidential.&lt;br /&gt;
# &#039;&#039;&#039;Use proportionate action&#039;&#039;&#039; – Staff should use the least severe effective response.&lt;br /&gt;
# &#039;&#039;&#039;Document important actions&#039;&#039;&#039; – Serious incidents and enforcement actions must be recorded.&lt;br /&gt;
# &#039;&#039;&#039;Escalate when uncertain&#039;&#039;&#039; – Trainees should ask a senior staff member instead of guessing.&lt;br /&gt;
# &#039;&#039;&#039;Accept accountability&#039;&#039;&#039; – Staff decisions may be reviewed by senior management.&lt;br /&gt;
# &#039;&#039;&#039;Respect project boundaries&#039;&#039;&#039; – IRC staff authority does not extend to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
== Who May Apply? ==&lt;br /&gt;
&lt;br /&gt;
A candidate should:&lt;br /&gt;
&lt;br /&gt;
* Be a registered and active DarkWorld IRC user.&lt;br /&gt;
* Have a positive history within the community.&lt;br /&gt;
* Demonstrate maturity, patience, and professionalism.&lt;br /&gt;
* Be willing to help users without expecting personal benefits.&lt;br /&gt;
* Be able to communicate clearly.&lt;br /&gt;
* Be willing to follow DarkWorld IRC rules and staff procedures.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Complete all required lessons and assessments.&lt;br /&gt;
* Accept supervision during training and probation.&lt;br /&gt;
* Disclose any relevant staff positions held on other IRC networks or communities.&lt;br /&gt;
&lt;br /&gt;
Previous IRC staff experience may be helpful, but it is not required. Experienced candidates must still complete the DarkWorld IRC-specific policy, ethics, and practical assessments.&lt;br /&gt;
&lt;br /&gt;
== Disqualifying Conduct ==&lt;br /&gt;
&lt;br /&gt;
A candidate may be rejected or removed from training for:&lt;br /&gt;
&lt;br /&gt;
* Repeated violations of DarkWorld IRC rules.&lt;br /&gt;
* Harassment, discrimination, threats, or malicious conduct.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Sharing private or confidential information.&lt;br /&gt;
* Impersonating staff.&lt;br /&gt;
* Providing false information in an application.&lt;br /&gt;
* Attempting to obtain access without authorization.&lt;br /&gt;
* Using training knowledge to disrupt the network.&lt;br /&gt;
* Serious abuse of access on another network or project.&lt;br /&gt;
* Refusing to follow instructions from authorized trainers.&lt;br /&gt;
* Cheating during an assessment.&lt;br /&gt;
* Using another person to complete training work.&lt;br /&gt;
&lt;br /&gt;
Removal from training does not always mean permanent rejection. Management may allow a candidate to apply again after a suitable period, depending on the reason for removal.&lt;br /&gt;
&lt;br /&gt;
== Training Stages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Stage&lt;br /&gt;
! Description&lt;br /&gt;
! Access&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Applicant&#039;&#039;&#039;&lt;br /&gt;
| A user who has submitted an application.&lt;br /&gt;
| Normal public user access only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Student&#039;&#039;&#039;&lt;br /&gt;
| A candidate accepted into the training program.&lt;br /&gt;
| Training materials and approved training channels.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;&lt;br /&gt;
| A student who has passed the initial lessons and assessments.&lt;br /&gt;
| Supervised practical duties only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary IRC Staff&#039;&#039;&#039;&lt;br /&gt;
| A trainee who has passed the core program and has been selected for probation.&lt;br /&gt;
| Limited role-appropriate access.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DWIRC Staff Member&#039;&#039;&#039;&lt;br /&gt;
| A candidate who has successfully completed probation.&lt;br /&gt;
| Access appropriate to the assigned IRC staff role.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Specialist&#039;&#039;&#039;&lt;br /&gt;
| A staff member who has completed an additional specialist program.&lt;br /&gt;
| Specialist access approved separately.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Training Process ==&lt;br /&gt;
&lt;br /&gt;
The normal training process is:&lt;br /&gt;
&lt;br /&gt;
# Candidate submits an application.&lt;br /&gt;
# The application is reviewed.&lt;br /&gt;
# Approved candidates join the core training program.&lt;br /&gt;
# The candidate completes all required lessons.&lt;br /&gt;
# The candidate completes assignments and practical exercises.&lt;br /&gt;
# The candidate passes the written assessment.&lt;br /&gt;
# The candidate passes the practical assessment.&lt;br /&gt;
# The candidate signs or accepts the Staff Code of Conduct.&lt;br /&gt;
# Successful candidates enter supervised trainee duties.&lt;br /&gt;
# Selected trainees enter probation.&lt;br /&gt;
# A final review determines whether the candidate becomes a permanent staff member.&lt;br /&gt;
&lt;br /&gt;
Passing the course does not create an automatic right to a staff position. Staff appointments depend on conduct, trust, network requirements, available roles, and final management approval.&lt;br /&gt;
&lt;br /&gt;
== Core Training Curriculum ==&lt;br /&gt;
&lt;br /&gt;
=== Module 1: DarkWorld IRC Network Introduction ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld Network as the parent organization.&lt;br /&gt;
* The purpose of the DarkWorld IRC Network.&lt;br /&gt;
* Official IRC servers and channels.&lt;br /&gt;
* IRC staff roles and reporting structures.&lt;br /&gt;
* The boundaries of IRC staff authority.&lt;br /&gt;
* The relationship between DWIRC and other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|DarkWorld IRC Network Introduction]]&lt;br /&gt;
&lt;br /&gt;
=== Module 2: IRC Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* IRC clients and servers.&lt;br /&gt;
* Secure TLS connections.&lt;br /&gt;
* Nicknames, usernames, idents, hostnames, and cloaks.&lt;br /&gt;
* Channels and private messages.&lt;br /&gt;
* IRC masks.&lt;br /&gt;
* IRC commands.&lt;br /&gt;
* Netsplits, lag, reconnections, and server notices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
=== Module 3: DarkWorld IRC Policies ===&lt;br /&gt;
&lt;br /&gt;
Candidates study:&lt;br /&gt;
&lt;br /&gt;
* General network guidelines.&lt;br /&gt;
* Advertising, invitation, and recruitment rules.&lt;br /&gt;
* Relay and bridge policy.&lt;br /&gt;
* Channel registration requirements.&lt;br /&gt;
* Project registration and verified presence.&lt;br /&gt;
* Spam, flooding, harassment, and ban evasion.&lt;br /&gt;
* Privacy and evidence handling.&lt;br /&gt;
* Staff conduct requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|DarkWorld IRC Policies]]&lt;br /&gt;
&lt;br /&gt;
=== Module 4: User and Channel Modes ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* User modes.&lt;br /&gt;
* IRC operator modes.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* Channel access levels.&lt;br /&gt;
* Ban masks.&lt;br /&gt;
* Ban exceptions.&lt;br /&gt;
* Invite exceptions.&lt;br /&gt;
* Moderated and restricted channels.&lt;br /&gt;
* Flood-protection modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|User and Channel Modes]]&lt;br /&gt;
&lt;br /&gt;
=== Module 5: IRC Services ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* NickServ.&lt;br /&gt;
* ChanServ.&lt;br /&gt;
* MemoServ.&lt;br /&gt;
* HostServ.&lt;br /&gt;
* BotServ, where applicable.&lt;br /&gt;
* Account assistance.&lt;br /&gt;
* Channel access.&lt;br /&gt;
* Channel ownership disputes.&lt;br /&gt;
* Appropriate escalation to Services Administrators.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|IRC Services]]&lt;br /&gt;
&lt;br /&gt;
=== Module 6: User Support ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn how to:&lt;br /&gt;
&lt;br /&gt;
* Assist users in official help channels.&lt;br /&gt;
* Ask useful diagnostic questions.&lt;br /&gt;
* Help users connect securely.&lt;br /&gt;
* Provide NickServ and ChanServ assistance.&lt;br /&gt;
* Handle complaints professionally.&lt;br /&gt;
* De-escalate disagreements.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Escalate complex cases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|User Support and Communication]]&lt;br /&gt;
&lt;br /&gt;
=== Module 7: IRC Moderation ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* Warnings.&lt;br /&gt;
* Mutes.&lt;br /&gt;
* Kicks.&lt;br /&gt;
* Channel bans.&lt;br /&gt;
* Spam and flood response.&lt;br /&gt;
* Advertising violations.&lt;br /&gt;
* Harassment.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Proportionate enforcement.&lt;br /&gt;
* Avoiding unnecessarily broad actions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|IRC Moderation]]&lt;br /&gt;
&lt;br /&gt;
=== Module 8: Abuse and Incident Handling ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn how to:&lt;br /&gt;
&lt;br /&gt;
* Receive an abuse report.&lt;br /&gt;
* Verify evidence.&lt;br /&gt;
* Protect private information.&lt;br /&gt;
* Preserve logs and timestamps.&lt;br /&gt;
* Classify incident severity.&lt;br /&gt;
* Take immediate protective action.&lt;br /&gt;
* Escalate serious cases.&lt;br /&gt;
* Prepare an incident report.&lt;br /&gt;
* Follow up on unresolved incidents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Abuse and Incident Handling]]&lt;br /&gt;
&lt;br /&gt;
=== Module 9: IRC Operator Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Candidates selected for network-level roles learn about:&lt;br /&gt;
&lt;br /&gt;
* IRC operator responsibilities.&lt;br /&gt;
* Operator-account security.&lt;br /&gt;
* Network notices.&lt;br /&gt;
* User investigations.&lt;br /&gt;
* Kills and network bans.&lt;br /&gt;
* OperOverride and SAMODE.&lt;br /&gt;
* Netsplits and server routing.&lt;br /&gt;
* Flood and attack response.&lt;br /&gt;
* Recording operator actions.&lt;br /&gt;
&lt;br /&gt;
This module does not grant IRC operator access. Access requires separate management approval.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|IRC Operator Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
=== Module 10: Staff Ethics and Security ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* Least-privilege access.&lt;br /&gt;
* Neutrality.&lt;br /&gt;
* Confidentiality.&lt;br /&gt;
* Account security.&lt;br /&gt;
* Conflicts of interest.&lt;br /&gt;
* Staff accountability.&lt;br /&gt;
* Internal escalation.&lt;br /&gt;
* Compromised-access reporting.&lt;br /&gt;
* Separation between IRC authority and other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Staff Ethics and Security]]&lt;br /&gt;
&lt;br /&gt;
== Assessment System ==&lt;br /&gt;
&lt;br /&gt;
Candidates are evaluated through written, practical, and behavioral assessments.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Assessment&lt;br /&gt;
! Weight&lt;br /&gt;
! Minimum expectation&lt;br /&gt;
|-&lt;br /&gt;
| Written assessment&lt;br /&gt;
| 30%&lt;br /&gt;
| Demonstrates knowledge of IRC, policies, and procedures.&lt;br /&gt;
|-&lt;br /&gt;
| Practical IRC assessment&lt;br /&gt;
| 35%&lt;br /&gt;
| Correctly performs support, moderation, and IRC tasks.&lt;br /&gt;
|-&lt;br /&gt;
| Communication and judgment&lt;br /&gt;
| 25%&lt;br /&gt;
| Remains professional, neutral, and proportionate.&lt;br /&gt;
|-&lt;br /&gt;
| Participation and reliability&lt;br /&gt;
| 10%&lt;br /&gt;
| Completes assignments and follows training procedures.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The normal minimum passing score is &#039;&#039;&#039;75%&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Candidates must also pass the ethics and security section independently. A high overall score cannot compensate for unsafe conduct, abuse of access, dishonesty, or serious privacy violations.&lt;br /&gt;
&lt;br /&gt;
== Practical Training ==&lt;br /&gt;
&lt;br /&gt;
Practical exercises should take place in an approved training environment.&lt;br /&gt;
&lt;br /&gt;
Exercises may include:&lt;br /&gt;
&lt;br /&gt;
* Registering and securing an IRC account.&lt;br /&gt;
* Identifying parts of an IRC user mask.&lt;br /&gt;
* Using user-information commands.&lt;br /&gt;
* Managing channel modes.&lt;br /&gt;
* Selecting an appropriate ban mask.&lt;br /&gt;
* Handling a support request.&lt;br /&gt;
* Responding to flooding.&lt;br /&gt;
* Responding to prohibited advertising.&lt;br /&gt;
* Handling a channel dispute.&lt;br /&gt;
* Preparing an incident report.&lt;br /&gt;
* Escalating a serious case.&lt;br /&gt;
* Recognizing when no staff action is required.&lt;br /&gt;
&lt;br /&gt;
Candidates must not experiment with moderation or operator commands against real users without authorization.&lt;br /&gt;
&lt;br /&gt;
== Mentorship ==&lt;br /&gt;
&lt;br /&gt;
Every IRC trainee should be assigned a mentor.&lt;br /&gt;
&lt;br /&gt;
The mentor should:&lt;br /&gt;
&lt;br /&gt;
* Answer training questions.&lt;br /&gt;
* Review assignments.&lt;br /&gt;
* Observe practical exercises.&lt;br /&gt;
* Correct unsafe actions.&lt;br /&gt;
* Provide feedback.&lt;br /&gt;
* Monitor trainee conduct.&lt;br /&gt;
* Review incident reports.&lt;br /&gt;
* Recommend advancement, additional training, or removal.&lt;br /&gt;
&lt;br /&gt;
A mentor must not approve a candidate solely because of friendship or personal association.&lt;br /&gt;
&lt;br /&gt;
== Trainee Period ==&lt;br /&gt;
&lt;br /&gt;
After passing the core assessments, a candidate may become an &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
During this period, the trainee may:&lt;br /&gt;
&lt;br /&gt;
* Help users in approved support channels.&lt;br /&gt;
* Observe experienced staff.&lt;br /&gt;
* Participate in supervised exercises.&lt;br /&gt;
* Prepare reports.&lt;br /&gt;
* Recommend actions to authorized staff.&lt;br /&gt;
* Handle approved low-risk duties.&lt;br /&gt;
&lt;br /&gt;
Unless specifically authorized, a trainee must not:&lt;br /&gt;
&lt;br /&gt;
* Use unrestricted IRC operator access.&lt;br /&gt;
* Use administrative OperServ commands.&lt;br /&gt;
* Issue permanent network-level sanctions.&lt;br /&gt;
* Access production server configurations.&lt;br /&gt;
* Handle confidential investigations alone.&lt;br /&gt;
* Modify IRC Services or network databases.&lt;br /&gt;
* Represent personal decisions as official policy.&lt;br /&gt;
&lt;br /&gt;
== Probation ==&lt;br /&gt;
&lt;br /&gt;
Selected trainees may enter a probationary staff period lasting approximately &#039;&#039;&#039;30 to 60 days&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
During probation, candidates are evaluated on:&lt;br /&gt;
&lt;br /&gt;
* Activity.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Policy knowledge.&lt;br /&gt;
* Support quality.&lt;br /&gt;
* Professional conduct.&lt;br /&gt;
* Accuracy of actions.&lt;br /&gt;
* Team communication.&lt;br /&gt;
* Security awareness.&lt;br /&gt;
* Incident documentation.&lt;br /&gt;
* Willingness to accept correction.&lt;br /&gt;
&lt;br /&gt;
At the end of probation, management may:&lt;br /&gt;
&lt;br /&gt;
* Appoint the candidate as a permanent DWIRC staff member.&lt;br /&gt;
* Extend probation.&lt;br /&gt;
* Require additional training.&lt;br /&gt;
* Return the candidate to trainee status.&lt;br /&gt;
* End the candidacy.&lt;br /&gt;
&lt;br /&gt;
== Staff Access Policy ==&lt;br /&gt;
&lt;br /&gt;
Completing training does not automatically grant access.&lt;br /&gt;
&lt;br /&gt;
All staff access must be:&lt;br /&gt;
&lt;br /&gt;
* Approved by authorized management.&lt;br /&gt;
* Appropriate to the assigned role.&lt;br /&gt;
* Limited according to the principle of least privilege.&lt;br /&gt;
* Removed when no longer required.&lt;br /&gt;
* Reviewed after role changes or security incidents.&lt;br /&gt;
&lt;br /&gt;
Staff access must never be shared with another person.&lt;br /&gt;
&lt;br /&gt;
== Specialist Training ==&lt;br /&gt;
&lt;br /&gt;
After completing the core program, eligible staff members may apply for specialist training.&lt;br /&gt;
&lt;br /&gt;
Planned specialist programs include:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training/IRC Operator Program|IRC Operator Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/Services Administration|Services Administration]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRCd Administration|IRCd Administration]]&lt;br /&gt;
* [[DWIRC:Staff Training/Policy and Compliance|Policy and Compliance]]&lt;br /&gt;
* [[DWIRC:Staff Training/Abuse and Security|Abuse and Security]]&lt;br /&gt;
* [[DWIRC:Staff Training/Support Team|Support Team]]&lt;br /&gt;
&lt;br /&gt;
DWShells, DWBouncers, and other DarkWorld projects will maintain separate project-specific training programs.&lt;br /&gt;
&lt;br /&gt;
== Staff Code of Conduct ==&lt;br /&gt;
&lt;br /&gt;
All candidates and staff members must read and accept the:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Acceptance of the Code of Conduct is mandatory before a candidate may enter probation.&lt;br /&gt;
&lt;br /&gt;
== Important Notice ==&lt;br /&gt;
&lt;br /&gt;
The DarkWorld IRC Staff Training Program is an educational and evaluation process. Completing it does not guarantee appointment to a staff position.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC management reserves the right to accept, defer, reject, remove, or require further training for a candidate based on the security, operational requirements, and best interests of the network and its community.&lt;br /&gt;
&lt;br /&gt;
== Related Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://darkworld.network/ DarkWorld Network]&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* [[DWIRC|DarkWorld IRC Network]]&lt;br /&gt;
* [[DWTutorials:Linux Basics for Beginners|Linux Basics for Beginners]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Eligibility_and_Application&amp;diff=411</id>
		<title>DWIRC:Staff Training/Eligibility and Application</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Eligibility_and_Application&amp;diff=411"/>
		<updated>2026-08-08T18:32:14Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Eligibility and Application&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Training — Eligibility and Application}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Candidate Eligibility and Application&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Application type&lt;br /&gt;
| Potential DarkWorld IRC staff candidate&lt;br /&gt;
|-&lt;br /&gt;
! Minimum recommended age&lt;br /&gt;
| 18 years&lt;br /&gt;
|-&lt;br /&gt;
! Required identity&lt;br /&gt;
| Registered DarkWorld IRC account&lt;br /&gt;
|-&lt;br /&gt;
! Appointment guarantee&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! Application review&lt;br /&gt;
| Authorized DarkWorld IRC reviewers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
This page explains how a DarkWorld IRC user may apply for the &#039;&#039;&#039;DarkWorld IRC Staff Training Program&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The program prepares potential staff members to support, moderate, and protect the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is one project operating under the wider DarkWorld Network umbrella. Completing this program does not grant authority over DWShells, DWBouncers, or any other DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
Submitting an application does not guarantee:&lt;br /&gt;
&lt;br /&gt;
* Acceptance into training.&lt;br /&gt;
* Staff appointment.&lt;br /&gt;
* IRC operator access.&lt;br /&gt;
* Services access.&lt;br /&gt;
* Server access.&lt;br /&gt;
* Access to another DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
= 2. Who Should Apply? =&lt;br /&gt;
&lt;br /&gt;
The program may be suitable for users who:&lt;br /&gt;
&lt;br /&gt;
* Want to help the DarkWorld IRC community.&lt;br /&gt;
* Can communicate patiently and professionally.&lt;br /&gt;
* Are willing to learn IRC and network policies.&lt;br /&gt;
* Can remain neutral during disagreements.&lt;br /&gt;
* Respect privacy and confidentiality.&lt;br /&gt;
* Are willing to accept supervision.&lt;br /&gt;
* Can follow established procedures.&lt;br /&gt;
* Are reliable and reasonably active.&lt;br /&gt;
* Understand that staff access is a responsibility.&lt;br /&gt;
* Are willing to report mistakes honestly.&lt;br /&gt;
* Can separate personal relationships from staff decisions.&lt;br /&gt;
* Are interested in long-term contribution rather than status.&lt;br /&gt;
&lt;br /&gt;
Technical experience is helpful but not required for every role.&lt;br /&gt;
&lt;br /&gt;
Support, communication, judgment, integrity, and reliability are equally important.&lt;br /&gt;
&lt;br /&gt;
= 3. Basic Eligibility Requirements =&lt;br /&gt;
&lt;br /&gt;
A candidate should:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Be at least 18 years old&lt;br /&gt;
[ ] Have a registered DarkWorld IRC account&lt;br /&gt;
[ ] Have access to the account’s registered email&lt;br /&gt;
[ ] Use a secure TLS connection&lt;br /&gt;
[ ] Be willing to configure SASL&lt;br /&gt;
[ ] Have a positive or acceptable network history&lt;br /&gt;
[ ] Be able to communicate clearly&lt;br /&gt;
[ ] Be willing to complete Modules 1–10&lt;br /&gt;
[ ] Be willing to complete written and practical assessments&lt;br /&gt;
[ ] Accept the Staff Code of Conduct&lt;br /&gt;
[ ] Accept supervision during trainee and probation stages&lt;br /&gt;
[ ] Disclose relevant staff roles on other networks or projects&lt;br /&gt;
[ ] Protect confidential information&lt;br /&gt;
[ ] Provide truthful application information&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meeting these requirements does not guarantee acceptance.&lt;br /&gt;
&lt;br /&gt;
= 4. Recommended IRC Experience =&lt;br /&gt;
&lt;br /&gt;
Candidates should preferably:&lt;br /&gt;
&lt;br /&gt;
* Understand basic IRC commands.&lt;br /&gt;
* Know how to join and leave channels.&lt;br /&gt;
* Understand registered nicknames.&lt;br /&gt;
* Have used NickServ.&lt;br /&gt;
* Understand basic ChanServ functions.&lt;br /&gt;
* Be familiar with channel modes.&lt;br /&gt;
* Have participated positively in DarkWorld IRC.&lt;br /&gt;
* Know where to request help.&lt;br /&gt;
* Be familiar with official DarkWorld channels.&lt;br /&gt;
&lt;br /&gt;
Candidates without extensive experience may still apply if they demonstrate maturity and willingness to learn.&lt;br /&gt;
&lt;br /&gt;
= 5. Recommended Activity History =&lt;br /&gt;
&lt;br /&gt;
A candidate should normally have an established presence on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
A recommended guideline is:&lt;br /&gt;
&lt;br /&gt;
* At least 30 days since account registration.&lt;br /&gt;
* Reasonable recent activity.&lt;br /&gt;
* Participation in one or more legitimate channels.&lt;br /&gt;
* No unresolved serious conduct concerns.&lt;br /&gt;
* An observable history of respectful behavior.&lt;br /&gt;
&lt;br /&gt;
Management may consider exceptional candidates with a shorter history, but additional observation may be required.&lt;br /&gt;
&lt;br /&gt;
Activity should be evaluated by quality, not raw message count.&lt;br /&gt;
&lt;br /&gt;
= 6. Suitable Candidate Qualities =&lt;br /&gt;
&lt;br /&gt;
Reviewers should look for:&lt;br /&gt;
&lt;br /&gt;
* Patience.&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Consistency.&lt;br /&gt;
* Good judgment.&lt;br /&gt;
* Willingness to learn.&lt;br /&gt;
* Ability to follow instructions.&lt;br /&gt;
* Professional communication.&lt;br /&gt;
* Respect for users.&lt;br /&gt;
* Security awareness.&lt;br /&gt;
* Ability to accept correction.&lt;br /&gt;
* Team cooperation.&lt;br /&gt;
* Responsible handling of authority.&lt;br /&gt;
* Interest in helping rather than controlling.&lt;br /&gt;
&lt;br /&gt;
= 7. Unsuitable Motivations =&lt;br /&gt;
&lt;br /&gt;
The following motivations may indicate that a candidate is not ready:&lt;br /&gt;
&lt;br /&gt;
* Wanting an IRC operator title for status.&lt;br /&gt;
* Wanting access to user information.&lt;br /&gt;
* Wanting power over channel owners.&lt;br /&gt;
* Wanting to punish personal rivals.&lt;br /&gt;
* Wanting access to unrelated DarkWorld projects.&lt;br /&gt;
* Wanting server access without an operational role.&lt;br /&gt;
* Wanting to bypass ordinary channel rules.&lt;br /&gt;
* Wanting special treatment for friends.&lt;br /&gt;
* Wanting to recruit users for another network.&lt;br /&gt;
* Wanting access to confidential investigations.&lt;br /&gt;
&lt;br /&gt;
Reviewers should evaluate conduct and evidence rather than assuming motive without basis.&lt;br /&gt;
&lt;br /&gt;
= 8. Possible Disqualification Conditions =&lt;br /&gt;
&lt;br /&gt;
An applicant may be rejected, deferred, suspended, or removed from training for:&lt;br /&gt;
&lt;br /&gt;
* Providing false application information.&lt;br /&gt;
* Harassment or threats.&lt;br /&gt;
* Serious or repeated policy violations.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Malicious activity.&lt;br /&gt;
* Sharing confidential information.&lt;br /&gt;
* Attempting unauthorized access.&lt;br /&gt;
* Evidence falsification.&lt;br /&gt;
* Cheating.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Undisclosed serious conflicts of interest.&lt;br /&gt;
* Abuse of staff access elsewhere.&lt;br /&gt;
* Refusal to follow training instructions.&lt;br /&gt;
* Attempting to bypass the application process.&lt;br /&gt;
* Recruiting DarkWorld users for another network in violation of policy.&lt;br /&gt;
&lt;br /&gt;
A previous mistake does not always require permanent rejection. Reviewers should consider severity, time passed, honesty, corrective behavior, and current risk.&lt;br /&gt;
&lt;br /&gt;
= 9. External Roles and Conflicts =&lt;br /&gt;
&lt;br /&gt;
Candidates must disclose relevant roles such as:&lt;br /&gt;
&lt;br /&gt;
* Staff positions on another IRC network.&lt;br /&gt;
* Ownership of another IRC network.&lt;br /&gt;
* Administration of an external project using DarkWorld IRC.&lt;br /&gt;
* Employment or ownership related to a service being reviewed.&lt;br /&gt;
* Existing roles within another DarkWorld project.&lt;br /&gt;
* Relationships that may create recurring conflicts.&lt;br /&gt;
* Previous removal from a trusted position.&lt;br /&gt;
* Access to systems that interact with DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Holding another role is not automatically disqualifying.&lt;br /&gt;
&lt;br /&gt;
The purpose of disclosure is to:&lt;br /&gt;
&lt;br /&gt;
* Identify conflicts.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Prevent unauthorized recruitment.&lt;br /&gt;
* Define project boundaries.&lt;br /&gt;
* Assign suitable duties.&lt;br /&gt;
* Preserve trust.&lt;br /&gt;
&lt;br /&gt;
= 10. Privacy Notice =&lt;br /&gt;
&lt;br /&gt;
Application information should be used only for:&lt;br /&gt;
&lt;br /&gt;
* Eligibility review.&lt;br /&gt;
* Candidate communication.&lt;br /&gt;
* Training administration.&lt;br /&gt;
* Security review.&lt;br /&gt;
* Mentor assignment.&lt;br /&gt;
* Assessment.&lt;br /&gt;
* Probation.&lt;br /&gt;
* Access approval.&lt;br /&gt;
* Staff appointment decisions.&lt;br /&gt;
* Related appeals or conduct reviews.&lt;br /&gt;
&lt;br /&gt;
Applicants must not be asked to submit:&lt;br /&gt;
&lt;br /&gt;
* Passwords.&lt;br /&gt;
* SASL credentials.&lt;br /&gt;
* IRC operator credentials.&lt;br /&gt;
* Email passwords.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Private keys.&lt;br /&gt;
* Government identification unless a separately approved and necessary process exists.&lt;br /&gt;
* Unrelated private conversations.&lt;br /&gt;
* Unnecessary personal information.&lt;br /&gt;
&lt;br /&gt;
Applications and reviewer notes should not be published publicly.&lt;br /&gt;
&lt;br /&gt;
= 11. Application Security =&lt;br /&gt;
&lt;br /&gt;
Applications should be submitted through an approved private system.&lt;br /&gt;
&lt;br /&gt;
Suitable methods may include:&lt;br /&gt;
&lt;br /&gt;
* A secured DarkWorld application website.&lt;br /&gt;
* An authenticated staff-training portal.&lt;br /&gt;
* A private form with controlled database access.&lt;br /&gt;
* Another management-approved system.&lt;br /&gt;
&lt;br /&gt;
Applications should not normally be submitted:&lt;br /&gt;
&lt;br /&gt;
* In a public IRC channel.&lt;br /&gt;
* On a public wiki page.&lt;br /&gt;
* Through an unrestricted paste.&lt;br /&gt;
* To an unofficial bot.&lt;br /&gt;
* Through another candidate.&lt;br /&gt;
* Through an unverified external form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This public page explains the application process. Candidate answers and reviewer notes must be stored privately.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 12. Application Questions =&lt;br /&gt;
&lt;br /&gt;
The private application form should collect the following information.&lt;br /&gt;
&lt;br /&gt;
== Section A — Account Information ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Current IRC nickname:&lt;br /&gt;
2. Registered DarkWorld IRC account:&lt;br /&gt;
3. Account registration date, if known:&lt;br /&gt;
4. Contact email associated with the application:&lt;br /&gt;
5. Country or timezone:&lt;br /&gt;
6. Languages spoken:&lt;br /&gt;
7. Are you at least 18 years old? Yes / No&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A candidate should not be required to publish their legal name unless DarkWorld adopts a separately approved identity requirement for a specific high-trust role.&lt;br /&gt;
&lt;br /&gt;
== Section B — DarkWorld IRC Experience ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
8. How long have you used DarkWorld IRC?&lt;br /&gt;
9. Which DarkWorld IRC channels do you normally use?&lt;br /&gt;
10. Which IRC clients do you use?&lt;br /&gt;
11. Do you use TLS?&lt;br /&gt;
12. Do you use SASL?&lt;br /&gt;
13. Describe your experience with NickServ.&lt;br /&gt;
14. Describe your experience with ChanServ.&lt;br /&gt;
15. Describe your understanding of IRC user and channel modes.&lt;br /&gt;
16. Have you previously helped users on DarkWorld IRC? Provide examples.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section C — Motivation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
17. Why do you want to join the DarkWorld IRC staff training program?&lt;br /&gt;
18. How would you help DarkWorld IRC users?&lt;br /&gt;
19. Which IRC staff responsibilities interest you?&lt;br /&gt;
20. Which duties do you believe you are not yet ready to perform?&lt;br /&gt;
21. What do you expect to learn from the program?&lt;br /&gt;
22. How much time can you reasonably contribute each week?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section D — Judgment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23. What would you do if a friend asked you to remove their ban?&lt;br /&gt;
24. What would you do if you were unsure whether a message violated policy?&lt;br /&gt;
25. What would you do if you accidentally banned an innocent user?&lt;br /&gt;
26. What would you do if a user posted their password publicly?&lt;br /&gt;
27. What would you do if another staff member asked you to share a private report?&lt;br /&gt;
28. Explain why staff should use the least severe effective action.&lt;br /&gt;
29. Explain when a channel issue should become a network-level matter.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section E — Security ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
30. How do you protect your IRC account?&lt;br /&gt;
31. Do you use unique passwords for important accounts?&lt;br /&gt;
32. Do you use a password manager?&lt;br /&gt;
33. Do you use multi-factor authentication where available?&lt;br /&gt;
34. Is your primary device protected by a password or screen lock?&lt;br /&gt;
35. Have any of your DarkWorld or IRC accounts been compromised?&lt;br /&gt;
36. If yes, explain what happened and what corrective action you took.&lt;br /&gt;
37. Are you willing to report credential exposure immediately?&lt;br /&gt;
38. Are you willing to avoid unreviewed scripts on a privileged IRC client?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applicants must not provide actual passwords or authentication secrets.&lt;br /&gt;
&lt;br /&gt;
== Section F — External Roles and Conflicts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
39. Are you staff on another IRC network?&lt;br /&gt;
40. Do you own or operate another IRC network?&lt;br /&gt;
41. Are you staff in another DarkWorld project?&lt;br /&gt;
42. Do you operate a project, relay, bridge, bot, or service using DarkWorld IRC?&lt;br /&gt;
43. Have you previously been removed or suspended from a staff position?&lt;br /&gt;
44. Do you have any conflict that may affect your neutrality?&lt;br /&gt;
45. Are there any access or confidentiality concerns reviewers should know?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applicants should provide honest context. A disclosed issue is not automatically disqualifying.&lt;br /&gt;
&lt;br /&gt;
== Section G — Conduct History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
46. Have you received a DarkWorld IRC warning, restriction, or ban?&lt;br /&gt;
47. Have you been involved in a significant abuse or policy case?&lt;br /&gt;
48. Is any complaint or appeal involving you currently unresolved?&lt;br /&gt;
49. Have you previously used unauthorized access on any IRC network?&lt;br /&gt;
50. Is there anything in your history that should be explained to reviewers?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reviewers should verify available records rather than relying only on the applicant’s statement.&lt;br /&gt;
&lt;br /&gt;
== Section H — Candidate Agreement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
51. Will you complete all required training modules?&lt;br /&gt;
52. Will you complete written and practical assessments?&lt;br /&gt;
53. Will you accept supervision?&lt;br /&gt;
54. Will you follow the DarkWorld IRC Staff Code of Conduct?&lt;br /&gt;
55. Will you protect confidential information?&lt;br /&gt;
56. Will you disclose conflicts of interest?&lt;br /&gt;
57. Do you understand that completing training does not guarantee appointment?&lt;br /&gt;
58. Do you understand that DWIRC authority does not extend automatically to other projects?&lt;br /&gt;
59. Do you confirm that the information provided is accurate?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 13. Candidate Declaration =&lt;br /&gt;
&lt;br /&gt;
The application should end with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I confirm that the information in this application is accurate to the best&lt;br /&gt;
of my knowledge.&lt;br /&gt;
&lt;br /&gt;
I understand that submitting an application does not guarantee acceptance,&lt;br /&gt;
staff appointment, IRC operator access, Services access, server access, or&lt;br /&gt;
authority over another DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
I agree not to submit passwords, tokens, private keys, or other authentication&lt;br /&gt;
secrets.&lt;br /&gt;
&lt;br /&gt;
I authorize the designated DarkWorld IRC reviewers to use this information&lt;br /&gt;
for candidate evaluation, training administration, security review, probation,&lt;br /&gt;
and staff appointment decisions.&lt;br /&gt;
&lt;br /&gt;
I agree to disclose relevant conflicts of interest and external staff roles.&lt;br /&gt;
&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Application date:&lt;br /&gt;
Confirmation method:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 14. Application Reference =&lt;br /&gt;
&lt;br /&gt;
Every application should receive a non-secret reference such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DWIRC-STAFF-2026-0001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference may be used to:&lt;br /&gt;
&lt;br /&gt;
* Check application status.&lt;br /&gt;
* Associate training records.&lt;br /&gt;
* Track assessments.&lt;br /&gt;
* Assign a mentor.&lt;br /&gt;
* Record probation.&lt;br /&gt;
* Reference an appeal.&lt;br /&gt;
&lt;br /&gt;
The reference itself must not provide access to private application details.&lt;br /&gt;
&lt;br /&gt;
= 15. Application Statuses =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SUBMITTED&#039;&#039;&#039;&lt;br /&gt;
| Application received&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;UNDER REVIEW&#039;&#039;&#039;&lt;br /&gt;
| Eligibility and history review in progress&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;INFORMATION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Additional non-sensitive information is needed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;INTERVIEW&#039;&#039;&#039;&lt;br /&gt;
| Candidate invited to an interview&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACCEPTED&#039;&#039;&#039;&lt;br /&gt;
| Candidate accepted into training&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DEFERRED&#039;&#039;&#039;&lt;br /&gt;
| Application may be reconsidered later&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REJECTED&#039;&#039;&#039;&lt;br /&gt;
| Candidate not accepted&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;WITHDRAWN&#039;&#039;&#039;&lt;br /&gt;
| Candidate withdrew the application&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CANCELLED&#039;&#039;&#039;&lt;br /&gt;
| Application ended administratively&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXPIRED&#039;&#039;&#039;&lt;br /&gt;
| Candidate did not respond within the required period&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Status information shown publicly should be limited and must not expose reviewer notes.&lt;br /&gt;
&lt;br /&gt;
= 16. Initial Review =&lt;br /&gt;
&lt;br /&gt;
The initial reviewer should confirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Registered account exists&lt;br /&gt;
[ ] Age requirement confirmed by declaration&lt;br /&gt;
[ ] Contact method is available&lt;br /&gt;
[ ] Required questions completed&lt;br /&gt;
[ ] Candidate history is sufficient for review&lt;br /&gt;
[ ] External roles disclosed&lt;br /&gt;
[ ] Serious conflicts identified&lt;br /&gt;
[ ] Current restrictions checked&lt;br /&gt;
[ ] Unresolved cases identified&lt;br /&gt;
[ ] No credentials included&lt;br /&gt;
[ ] Privacy classification applied&lt;br /&gt;
[ ] Application reference assigned&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 17. Candidate History Review =&lt;br /&gt;
&lt;br /&gt;
Authorized reviewers may consider:&lt;br /&gt;
&lt;br /&gt;
* Registration history.&lt;br /&gt;
* Relevant network conduct.&lt;br /&gt;
* Previous warnings or restrictions.&lt;br /&gt;
* Support-channel behavior.&lt;br /&gt;
* Staff or user reports.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Project participation.&lt;br /&gt;
* Previous applications.&lt;br /&gt;
* Existing DarkWorld project roles.&lt;br /&gt;
* Disclosed external roles.&lt;br /&gt;
* Security incidents.&lt;br /&gt;
* Evidence of improvement.&lt;br /&gt;
&lt;br /&gt;
The review must not become an unrestricted search into unrelated personal activity.&lt;br /&gt;
&lt;br /&gt;
Only information relevant to suitability, security, conduct, or conflicts should be considered.&lt;br /&gt;
&lt;br /&gt;
= 18. Application Scoring =&lt;br /&gt;
&lt;br /&gt;
A structured scoring system helps reviewers remain consistent.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Area&lt;br /&gt;
! Weight&lt;br /&gt;
|-&lt;br /&gt;
| Motivation and service orientation&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Communication&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| IRC knowledge&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Judgment&lt;br /&gt;
| 20%&lt;br /&gt;
|-&lt;br /&gt;
| Security awareness&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Conduct history&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Reliability and availability&lt;br /&gt;
| 5%&lt;br /&gt;
|-&lt;br /&gt;
| Transparency and conflict disclosure&lt;br /&gt;
| 10%&lt;br /&gt;
! Total&lt;br /&gt;
| 100%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A suggested minimum for acceptance into training is &#039;&#039;&#039;70%&#039;&#039;&#039;, provided no serious unresolved security or conduct concern exists.&lt;br /&gt;
&lt;br /&gt;
This score is an aid to judgment, not an automatic appointment formula.&lt;br /&gt;
&lt;br /&gt;
= 19. Reviewer Scoring Form =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
APPLICATION REVIEW&lt;br /&gt;
&lt;br /&gt;
Application reference:&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Primary reviewer:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
Review date:&lt;br /&gt;
&lt;br /&gt;
Motivation and service orientation:      /15&lt;br /&gt;
Communication:                           /15&lt;br /&gt;
IRC knowledge:                           /10&lt;br /&gt;
Judgment:                                /20&lt;br /&gt;
Security awareness:                     /15&lt;br /&gt;
Conduct history:                        /10&lt;br /&gt;
Reliability and availability:            /5&lt;br /&gt;
Transparency and conflicts:             /10&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                  /100&lt;br /&gt;
&lt;br /&gt;
Minimum eligibility met: Yes / No&lt;br /&gt;
Serious unresolved concern: Yes / No&lt;br /&gt;
External roles reviewed: Yes / No&lt;br /&gt;
Conflict-management plan required: Yes / No&lt;br /&gt;
Interview required: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strengths:&lt;br /&gt;
Development areas:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Conflict concerns:&lt;br /&gt;
Recommended trainee path:&lt;br /&gt;
Reviewer recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 20. Reviewer Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
A reviewer should disclose a conflict when:&lt;br /&gt;
&lt;br /&gt;
* They are a close friend of the candidate.&lt;br /&gt;
* They have a serious personal dispute with the candidate.&lt;br /&gt;
* They operate a competing project.&lt;br /&gt;
* They previously participated in a relevant incident.&lt;br /&gt;
* They may benefit from the decision.&lt;br /&gt;
* Their neutrality may reasonably be questioned.&lt;br /&gt;
&lt;br /&gt;
A conflicted reviewer may provide relevant factual information but should not control the final decision.&lt;br /&gt;
&lt;br /&gt;
= 21. Interview =&lt;br /&gt;
&lt;br /&gt;
An interview may be conducted in a private approved IRC channel or another authorized system.&lt;br /&gt;
&lt;br /&gt;
Suggested topics include:&lt;br /&gt;
&lt;br /&gt;
* Motivation.&lt;br /&gt;
* Understanding of DarkWorld IRC.&lt;br /&gt;
* Availability.&lt;br /&gt;
* Communication style.&lt;br /&gt;
* Response to criticism.&lt;br /&gt;
* Conflict handling.&lt;br /&gt;
* Security habits.&lt;br /&gt;
* External roles.&lt;br /&gt;
* Training expectations.&lt;br /&gt;
* Preferred trainee path.&lt;br /&gt;
&lt;br /&gt;
The interview should not request passwords, financial information, government identification, or unrelated personal details.&lt;br /&gt;
&lt;br /&gt;
= 22. Interview Scenarios =&lt;br /&gt;
&lt;br /&gt;
The interviewer may ask:&lt;br /&gt;
&lt;br /&gt;
== Scenario 1 ==&lt;br /&gt;
&lt;br /&gt;
A friend asks you to remove their ban. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 2 ==&lt;br /&gt;
&lt;br /&gt;
A user posts a password publicly. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 3 ==&lt;br /&gt;
&lt;br /&gt;
You apply the wrong channel ban. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 4 ==&lt;br /&gt;
&lt;br /&gt;
A staff member asks you to keep an undocumented action secret. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 5 ==&lt;br /&gt;
&lt;br /&gt;
You are unsure whether a message violates the advertising policy. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 6 ==&lt;br /&gt;
&lt;br /&gt;
A DWShells user asks you to increase their quota, but you hold only a DWIRC role. What do you do?&lt;br /&gt;
&lt;br /&gt;
Interviewers should evaluate reasoning rather than expecting candidates to memorize exact wording.&lt;br /&gt;
&lt;br /&gt;
= 23. Interview Record =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERVIEW RECORD&lt;br /&gt;
&lt;br /&gt;
Application reference:&lt;br /&gt;
Candidate:&lt;br /&gt;
Date and time:&lt;br /&gt;
Interviewers:&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
Motivation:&lt;br /&gt;
Communication:&lt;br /&gt;
IRC knowledge:&lt;br /&gt;
Judgment:&lt;br /&gt;
Security awareness:&lt;br /&gt;
Response to feedback:&lt;br /&gt;
External roles:&lt;br /&gt;
Conflicts:&lt;br /&gt;
Suitable trainee path:&lt;br /&gt;
Concerns:&lt;br /&gt;
Candidate questions:&lt;br /&gt;
Follow-up required:&lt;br /&gt;
Interview recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 24. Decision Requirements =&lt;br /&gt;
&lt;br /&gt;
Where practical, acceptance or rejection should involve at least two authorized reviewers.&lt;br /&gt;
&lt;br /&gt;
The decision should consider:&lt;br /&gt;
&lt;br /&gt;
* Application.&lt;br /&gt;
* Candidate history.&lt;br /&gt;
* Interview.&lt;br /&gt;
* Security concerns.&lt;br /&gt;
* Conflicts.&lt;br /&gt;
* Current network needs.&lt;br /&gt;
* Mentor availability.&lt;br /&gt;
* Available training capacity.&lt;br /&gt;
* Suitable trainee path.&lt;br /&gt;
&lt;br /&gt;
A candidate should not be accepted when safe supervision cannot be provided.&lt;br /&gt;
&lt;br /&gt;
= 25. Acceptance =&lt;br /&gt;
&lt;br /&gt;
An acceptance notice should include:&lt;br /&gt;
&lt;br /&gt;
* Application reference.&lt;br /&gt;
* Accepted status.&lt;br /&gt;
* Assigned training path.&lt;br /&gt;
* Required first module.&lt;br /&gt;
* Training channel.&lt;br /&gt;
* Trainer or coordinator.&lt;br /&gt;
* Completion expectations.&lt;br /&gt;
* Code of Conduct requirement.&lt;br /&gt;
* Privacy reminder.&lt;br /&gt;
* Statement that appointment is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your application to the DarkWorld IRC Staff Training Program has been accepted.&lt;br /&gt;
&lt;br /&gt;
Application reference: DWIRC-STAFF-YYYY-NNNN&lt;br /&gt;
Training status: Accepted&lt;br /&gt;
Assigned trainer:&lt;br /&gt;
Initial training path:&lt;br /&gt;
Training channel:&lt;br /&gt;
Start date:&lt;br /&gt;
&lt;br /&gt;
Acceptance permits participation in training only. It does not grant IRC&lt;br /&gt;
operator, Services, server, or other DarkWorld project access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 26. Deferred Application =&lt;br /&gt;
&lt;br /&gt;
An application may be deferred because:&lt;br /&gt;
&lt;br /&gt;
* The candidate needs more network history.&lt;br /&gt;
* Activity is insufficient.&lt;br /&gt;
* A mentor is unavailable.&lt;br /&gt;
* A relevant issue remains unresolved.&lt;br /&gt;
* The candidate needs more IRC experience.&lt;br /&gt;
* The training group is full.&lt;br /&gt;
* The candidate is temporarily unavailable.&lt;br /&gt;
* Management requires a later review.&lt;br /&gt;
&lt;br /&gt;
A deferral should state:&lt;br /&gt;
&lt;br /&gt;
* General reason.&lt;br /&gt;
* Whether the candidate may reapply.&lt;br /&gt;
* Recommended improvement.&lt;br /&gt;
* Earliest review date, where applicable.&lt;br /&gt;
&lt;br /&gt;
= 27. Rejection =&lt;br /&gt;
&lt;br /&gt;
A rejection notice should be respectful and should avoid exposing confidential reviewer information.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your application has been reviewed and has not been accepted at this time.&lt;br /&gt;
&lt;br /&gt;
This decision does not create an entitlement to confidential reviewer notes.&lt;br /&gt;
Where appropriate, we may provide general areas for improvement and information&lt;br /&gt;
about whether a future application may be considered.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A rejection should not be used to publicly shame the applicant.&lt;br /&gt;
&lt;br /&gt;
= 28. Withdrawal =&lt;br /&gt;
&lt;br /&gt;
A candidate may withdraw voluntarily.&lt;br /&gt;
&lt;br /&gt;
Withdrawal should:&lt;br /&gt;
&lt;br /&gt;
* End active review.&lt;br /&gt;
* Cancel pending interviews.&lt;br /&gt;
* Remove unnecessary temporary access.&lt;br /&gt;
* Preserve the minimum record needed for administration.&lt;br /&gt;
* Record whether reapplication is permitted.&lt;br /&gt;
* Protect the application’s confidentiality.&lt;br /&gt;
&lt;br /&gt;
= 29. Application Appeal or Review =&lt;br /&gt;
&lt;br /&gt;
Where management permits a review, the candidate should provide:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application reference:&lt;br /&gt;
Decision being reviewed:&lt;br /&gt;
Reason for requesting review:&lt;br /&gt;
Factual error alleged:&lt;br /&gt;
Relevant additional information:&lt;br /&gt;
Conflict concern:&lt;br /&gt;
Requested outcome:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A review should not be decided solely by the original reviewer when a credible conflict or serious procedural concern exists.&lt;br /&gt;
&lt;br /&gt;
An appeal does not guarantee acceptance.&lt;br /&gt;
&lt;br /&gt;
= 30. Reapplication =&lt;br /&gt;
&lt;br /&gt;
A rejected or deferred candidate may be allowed to reapply after:&lt;br /&gt;
&lt;br /&gt;
* Completing recommended learning.&lt;br /&gt;
* Establishing additional network history.&lt;br /&gt;
* Resolving conduct concerns.&lt;br /&gt;
* Demonstrating improved security.&lt;br /&gt;
* Completing a stated waiting period.&lt;br /&gt;
* Providing missing information.&lt;br /&gt;
&lt;br /&gt;
Management may decline reapplication after serious malicious conduct, impersonation, credential theft, or deliberate security abuse.&lt;br /&gt;
&lt;br /&gt;
= 31. Application Retention =&lt;br /&gt;
&lt;br /&gt;
Application records should be retained only as long as required for:&lt;br /&gt;
&lt;br /&gt;
* Training administration.&lt;br /&gt;
* Staff selection.&lt;br /&gt;
* Security review.&lt;br /&gt;
* Appeals.&lt;br /&gt;
* Repeat applications.&lt;br /&gt;
* Access and conduct accountability.&lt;br /&gt;
&lt;br /&gt;
Access should be restricted.&lt;br /&gt;
&lt;br /&gt;
When information is no longer required, it should be removed or minimized according to the adopted retention procedure.&lt;br /&gt;
&lt;br /&gt;
= 32. Application Audit Record =&lt;br /&gt;
&lt;br /&gt;
Important changes should record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application reference:&lt;br /&gt;
Previous status:&lt;br /&gt;
New status:&lt;br /&gt;
Date and time:&lt;br /&gt;
Action performed by:&lt;br /&gt;
Reason:&lt;br /&gt;
Candidate notified:&lt;br /&gt;
Next action:&lt;br /&gt;
Review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reviewer notes should not be overwritten to conceal earlier decisions. Corrections should be appended or versioned.&lt;br /&gt;
&lt;br /&gt;
= 33. Application Workflow =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBMITTED&lt;br /&gt;
   |&lt;br /&gt;
UNDER REVIEW&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; INFORMATION REQUIRED&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; INTERVIEW&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; ACCEPTED --&amp;gt; TRAINING&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; DEFERRED&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; REJECTED&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; WITHDRAWN / CANCELLED / EXPIRED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 34. Candidate Checklist =&lt;br /&gt;
&lt;br /&gt;
Before submitting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] I am at least 18 years old&lt;br /&gt;
[ ] I have a registered DarkWorld IRC account&lt;br /&gt;
[ ] I have access to my registered email&lt;br /&gt;
[ ] I use or will configure TLS&lt;br /&gt;
[ ] I use or will configure SASL&lt;br /&gt;
[ ] I answered truthfully&lt;br /&gt;
[ ] I disclosed relevant external roles&lt;br /&gt;
[ ] I disclosed relevant conflicts&lt;br /&gt;
[ ] I did not include passwords or tokens&lt;br /&gt;
[ ] I understand training does not guarantee appointment&lt;br /&gt;
[ ] I understand DWIRC authority is project-specific&lt;br /&gt;
[ ] I am willing to accept supervision&lt;br /&gt;
[ ] I am willing to complete all assessments&lt;br /&gt;
[ ] I am willing to follow the Staff Code of Conduct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 35. Reviewer Checklist =&lt;br /&gt;
&lt;br /&gt;
Before accepting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Eligibility confirmed&lt;br /&gt;
[ ] Account history reviewed&lt;br /&gt;
[ ] Conduct history reviewed&lt;br /&gt;
[ ] Security concerns reviewed&lt;br /&gt;
[ ] External roles reviewed&lt;br /&gt;
[ ] Conflicts reviewed&lt;br /&gt;
[ ] Interview completed where required&lt;br /&gt;
[ ] Second reviewer consulted&lt;br /&gt;
[ ] Suitable trainee path identified&lt;br /&gt;
[ ] Mentor available&lt;br /&gt;
[ ] Training capacity available&lt;br /&gt;
[ ] Decision recorded&lt;br /&gt;
[ ] Candidate notified&lt;br /&gt;
[ ] No privileged access granted prematurely&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 36. Next Step for Accepted Candidates =&lt;br /&gt;
&lt;br /&gt;
Accepted candidates begin with:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Network Introduction|Module 1 — DarkWorld IRC Network Introduction]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
They should also review:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training Program|Program Overview]]&lt;br /&gt;
* [[DWIRC:Staff Training/Code of Conduct|Staff Code of Conduct]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRC Fundamentals|IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;First module:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|Module 1 — Network Introduction]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Applications]]&lt;br /&gt;
[[Category:Staff Recruitment]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Eligibility_and_Application&amp;diff=410</id>
		<title>DWIRC:Staff Training/Eligibility and Application</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Eligibility_and_Application&amp;diff=410"/>
		<updated>2026-08-08T18:31:26Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Staff Training — Eligibility and Application}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Candidate Eligibility and Application&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DWIRC:Staff Training Program|DarkWorld IRC Staff Trai...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Training — Eligibility and Application}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Candidate Eligibility and Application&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Application type&lt;br /&gt;
| Potential DarkWorld IRC staff candidate&lt;br /&gt;
|-&lt;br /&gt;
! Minimum recommended age&lt;br /&gt;
| 18 years&lt;br /&gt;
|-&lt;br /&gt;
! Required identity&lt;br /&gt;
| Registered DarkWorld IRC account&lt;br /&gt;
|-&lt;br /&gt;
! Appointment guarantee&lt;br /&gt;
| None&lt;br /&gt;
|-&lt;br /&gt;
! Application review&lt;br /&gt;
| Authorized DarkWorld IRC reviewers&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
This page explains how a DarkWorld IRC user may apply for the &#039;&#039;&#039;DarkWorld IRC Staff Training Program&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The program prepares potential staff members to support, moderate, and protect the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is one project operating under the wider DarkWorld Network umbrella. Completing this program does not grant authority over DWShells, DWBouncers, or any other DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
Submitting an application does not guarantee:&lt;br /&gt;
&lt;br /&gt;
* Acceptance into training.&lt;br /&gt;
* Staff appointment.&lt;br /&gt;
* IRC operator access.&lt;br /&gt;
* Services access.&lt;br /&gt;
* Server access.&lt;br /&gt;
* Access to another DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
= 2. Who Should Apply? =&lt;br /&gt;
&lt;br /&gt;
The program may be suitable for users who:&lt;br /&gt;
&lt;br /&gt;
* Want to help the DarkWorld IRC community.&lt;br /&gt;
* Can communicate patiently and professionally.&lt;br /&gt;
* Are willing to learn IRC and network policies.&lt;br /&gt;
* Can remain neutral during disagreements.&lt;br /&gt;
* Respect privacy and confidentiality.&lt;br /&gt;
* Are willing to accept supervision.&lt;br /&gt;
* Can follow established procedures.&lt;br /&gt;
* Are reliable and reasonably active.&lt;br /&gt;
* Understand that staff access is a responsibility.&lt;br /&gt;
* Are willing to report mistakes honestly.&lt;br /&gt;
* Can separate personal relationships from staff decisions.&lt;br /&gt;
* Are interested in long-term contribution rather than status.&lt;br /&gt;
&lt;br /&gt;
Technical experience is helpful but not required for every role.&lt;br /&gt;
&lt;br /&gt;
Support, communication, judgment, integrity, and reliability are equally important.&lt;br /&gt;
&lt;br /&gt;
= 3. Basic Eligibility Requirements =&lt;br /&gt;
&lt;br /&gt;
A candidate should:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Be at least 18 years old&lt;br /&gt;
[ ] Have a registered DarkWorld IRC account&lt;br /&gt;
[ ] Have access to the account’s registered email&lt;br /&gt;
[ ] Use a secure TLS connection&lt;br /&gt;
[ ] Be willing to configure SASL&lt;br /&gt;
[ ] Have a positive or acceptable network history&lt;br /&gt;
[ ] Be able to communicate clearly&lt;br /&gt;
[ ] Be willing to complete Modules 1–10&lt;br /&gt;
[ ] Be willing to complete written and practical assessments&lt;br /&gt;
[ ] Accept the Staff Code of Conduct&lt;br /&gt;
[ ] Accept supervision during trainee and probation stages&lt;br /&gt;
[ ] Disclose relevant staff roles on other networks or projects&lt;br /&gt;
[ ] Protect confidential information&lt;br /&gt;
[ ] Provide truthful application information&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Meeting these requirements does not guarantee acceptance.&lt;br /&gt;
&lt;br /&gt;
= 4. Recommended IRC Experience =&lt;br /&gt;
&lt;br /&gt;
Candidates should preferably:&lt;br /&gt;
&lt;br /&gt;
* Understand basic IRC commands.&lt;br /&gt;
* Know how to join and leave channels.&lt;br /&gt;
* Understand registered nicknames.&lt;br /&gt;
* Have used NickServ.&lt;br /&gt;
* Understand basic ChanServ functions.&lt;br /&gt;
* Be familiar with channel modes.&lt;br /&gt;
* Have participated positively in DarkWorld IRC.&lt;br /&gt;
* Know where to request help.&lt;br /&gt;
* Be familiar with official DarkWorld channels.&lt;br /&gt;
&lt;br /&gt;
Candidates without extensive experience may still apply if they demonstrate maturity and willingness to learn.&lt;br /&gt;
&lt;br /&gt;
= 5. Recommended Activity History =&lt;br /&gt;
&lt;br /&gt;
A candidate should normally have an established presence on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
A recommended guideline is:&lt;br /&gt;
&lt;br /&gt;
* At least 30 days since account registration.&lt;br /&gt;
* Reasonable recent activity.&lt;br /&gt;
* Participation in one or more legitimate channels.&lt;br /&gt;
* No unresolved serious conduct concerns.&lt;br /&gt;
* An observable history of respectful behavior.&lt;br /&gt;
&lt;br /&gt;
Management may consider exceptional candidates with a shorter history, but additional observation may be required.&lt;br /&gt;
&lt;br /&gt;
Activity should be evaluated by quality, not raw message count.&lt;br /&gt;
&lt;br /&gt;
= 6. Suitable Candidate Qualities =&lt;br /&gt;
&lt;br /&gt;
Reviewers should look for:&lt;br /&gt;
&lt;br /&gt;
* Patience.&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Consistency.&lt;br /&gt;
* Good judgment.&lt;br /&gt;
* Willingness to learn.&lt;br /&gt;
* Ability to follow instructions.&lt;br /&gt;
* Professional communication.&lt;br /&gt;
* Respect for users.&lt;br /&gt;
* Security awareness.&lt;br /&gt;
* Ability to accept correction.&lt;br /&gt;
* Team cooperation.&lt;br /&gt;
* Responsible handling of authority.&lt;br /&gt;
* Interest in helping rather than controlling.&lt;br /&gt;
&lt;br /&gt;
= 7. Unsuitable Motivations =&lt;br /&gt;
&lt;br /&gt;
The following motivations may indicate that a candidate is not ready:&lt;br /&gt;
&lt;br /&gt;
* Wanting an IRC operator title for status.&lt;br /&gt;
* Wanting access to user information.&lt;br /&gt;
* Wanting power over channel owners.&lt;br /&gt;
* Wanting to punish personal rivals.&lt;br /&gt;
* Wanting access to unrelated DarkWorld projects.&lt;br /&gt;
* Wanting server access without an operational role.&lt;br /&gt;
* Wanting to bypass ordinary channel rules.&lt;br /&gt;
* Wanting special treatment for friends.&lt;br /&gt;
* Wanting to recruit users for another network.&lt;br /&gt;
* Wanting access to confidential investigations.&lt;br /&gt;
&lt;br /&gt;
Reviewers should evaluate conduct and evidence rather than assuming motive without basis.&lt;br /&gt;
&lt;br /&gt;
= 8. Possible Disqualification Conditions =&lt;br /&gt;
&lt;br /&gt;
An applicant may be rejected, deferred, suspended, or removed from training for:&lt;br /&gt;
&lt;br /&gt;
* Providing false application information.&lt;br /&gt;
* Harassment or threats.&lt;br /&gt;
* Serious or repeated policy violations.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Malicious activity.&lt;br /&gt;
* Sharing confidential information.&lt;br /&gt;
* Attempting unauthorized access.&lt;br /&gt;
* Evidence falsification.&lt;br /&gt;
* Cheating.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Undisclosed serious conflicts of interest.&lt;br /&gt;
* Abuse of staff access elsewhere.&lt;br /&gt;
* Refusal to follow training instructions.&lt;br /&gt;
* Attempting to bypass the application process.&lt;br /&gt;
* Recruiting DarkWorld users for another network in violation of policy.&lt;br /&gt;
&lt;br /&gt;
A previous mistake does not always require permanent rejection. Reviewers should consider severity, time passed, honesty, corrective behavior, and current risk.&lt;br /&gt;
&lt;br /&gt;
= 9. External Roles and Conflicts =&lt;br /&gt;
&lt;br /&gt;
Candidates must disclose relevant roles such as:&lt;br /&gt;
&lt;br /&gt;
* Staff positions on another IRC network.&lt;br /&gt;
* Ownership of another IRC network.&lt;br /&gt;
* Administration of an external project using DarkWorld IRC.&lt;br /&gt;
* Employment or ownership related to a service being reviewed.&lt;br /&gt;
* Existing roles within another DarkWorld project.&lt;br /&gt;
* Relationships that may create recurring conflicts.&lt;br /&gt;
* Previous removal from a trusted position.&lt;br /&gt;
* Access to systems that interact with DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Holding another role is not automatically disqualifying.&lt;br /&gt;
&lt;br /&gt;
The purpose of disclosure is to:&lt;br /&gt;
&lt;br /&gt;
* Identify conflicts.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Prevent unauthorized recruitment.&lt;br /&gt;
* Define project boundaries.&lt;br /&gt;
* Assign suitable duties.&lt;br /&gt;
* Preserve trust.&lt;br /&gt;
&lt;br /&gt;
= 10. Privacy Notice =&lt;br /&gt;
&lt;br /&gt;
Application information should be used only for:&lt;br /&gt;
&lt;br /&gt;
* Eligibility review.&lt;br /&gt;
* Candidate communication.&lt;br /&gt;
* Training administration.&lt;br /&gt;
* Security review.&lt;br /&gt;
* Mentor assignment.&lt;br /&gt;
* Assessment.&lt;br /&gt;
* Probation.&lt;br /&gt;
* Access approval.&lt;br /&gt;
* Staff appointment decisions.&lt;br /&gt;
* Related appeals or conduct reviews.&lt;br /&gt;
&lt;br /&gt;
Applicants must not be asked to submit:&lt;br /&gt;
&lt;br /&gt;
* Passwords.&lt;br /&gt;
* SASL credentials.&lt;br /&gt;
* IRC operator credentials.&lt;br /&gt;
* Email passwords.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Private keys.&lt;br /&gt;
* Government identification unless a separately approved and necessary process exists.&lt;br /&gt;
* Unrelated private conversations.&lt;br /&gt;
* Unnecessary personal information.&lt;br /&gt;
&lt;br /&gt;
Applications and reviewer notes should not be published publicly.&lt;br /&gt;
&lt;br /&gt;
= 11. Application Security =&lt;br /&gt;
&lt;br /&gt;
Applications should be submitted through an approved private system.&lt;br /&gt;
&lt;br /&gt;
Suitable methods may include:&lt;br /&gt;
&lt;br /&gt;
* A secured DarkWorld application website.&lt;br /&gt;
* An authenticated staff-training portal.&lt;br /&gt;
* A private form with controlled database access.&lt;br /&gt;
* Another management-approved system.&lt;br /&gt;
&lt;br /&gt;
Applications should not normally be submitted:&lt;br /&gt;
&lt;br /&gt;
* In a public IRC channel.&lt;br /&gt;
* On a public wiki page.&lt;br /&gt;
* Through an unrestricted paste.&lt;br /&gt;
* To an unofficial bot.&lt;br /&gt;
* Through another candidate.&lt;br /&gt;
* Through an unverified external form.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This public page explains the application process. Candidate answers and reviewer notes must be stored privately.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 12. Application Questions =&lt;br /&gt;
&lt;br /&gt;
The private application form should collect the following information.&lt;br /&gt;
&lt;br /&gt;
== Section A — Account Information ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Current IRC nickname:&lt;br /&gt;
2. Registered DarkWorld IRC account:&lt;br /&gt;
3. Account registration date, if known:&lt;br /&gt;
4. Contact email associated with the application:&lt;br /&gt;
5. Country or timezone:&lt;br /&gt;
6. Languages spoken:&lt;br /&gt;
7. Are you at least 18 years old? Yes / No&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A candidate should not be required to publish their legal name unless DarkWorld adopts a separately approved identity requirement for a specific high-trust role.&lt;br /&gt;
&lt;br /&gt;
== Section B — DarkWorld IRC Experience ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
8. How long have you used DarkWorld IRC?&lt;br /&gt;
9. Which DarkWorld IRC channels do you normally use?&lt;br /&gt;
10. Which IRC clients do you use?&lt;br /&gt;
11. Do you use TLS?&lt;br /&gt;
12. Do you use SASL?&lt;br /&gt;
13. Describe your experience with NickServ.&lt;br /&gt;
14. Describe your experience with ChanServ.&lt;br /&gt;
15. Describe your understanding of IRC user and channel modes.&lt;br /&gt;
16. Have you previously helped users on DarkWorld IRC? Provide examples.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section C — Motivation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
17. Why do you want to join the DarkWorld IRC staff training program?&lt;br /&gt;
18. How would you help DarkWorld IRC users?&lt;br /&gt;
19. Which IRC staff responsibilities interest you?&lt;br /&gt;
20. Which duties do you believe you are not yet ready to perform?&lt;br /&gt;
21. What do you expect to learn from the program?&lt;br /&gt;
22. How much time can you reasonably contribute each week?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section D — Judgment ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
23. What would you do if a friend asked you to remove their ban?&lt;br /&gt;
24. What would you do if you were unsure whether a message violated policy?&lt;br /&gt;
25. What would you do if you accidentally banned an innocent user?&lt;br /&gt;
26. What would you do if a user posted their password publicly?&lt;br /&gt;
27. What would you do if another staff member asked you to share a private report?&lt;br /&gt;
28. Explain why staff should use the least severe effective action.&lt;br /&gt;
29. Explain when a channel issue should become a network-level matter.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Section E — Security ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
30. How do you protect your IRC account?&lt;br /&gt;
31. Do you use unique passwords for important accounts?&lt;br /&gt;
32. Do you use a password manager?&lt;br /&gt;
33. Do you use multi-factor authentication where available?&lt;br /&gt;
34. Is your primary device protected by a password or screen lock?&lt;br /&gt;
35. Have any of your DarkWorld or IRC accounts been compromised?&lt;br /&gt;
36. If yes, explain what happened and what corrective action you took.&lt;br /&gt;
37. Are you willing to report credential exposure immediately?&lt;br /&gt;
38. Are you willing to avoid unreviewed scripts on a privileged IRC client?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applicants must not provide actual passwords or authentication secrets.&lt;br /&gt;
&lt;br /&gt;
== Section F — External Roles and Conflicts ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
39. Are you staff on another IRC network?&lt;br /&gt;
40. Do you own or operate another IRC network?&lt;br /&gt;
41. Are you staff in another DarkWorld project?&lt;br /&gt;
42. Do you operate a project, relay, bridge, bot, or service using DarkWorld IRC?&lt;br /&gt;
43. Have you previously been removed or suspended from a staff position?&lt;br /&gt;
44. Do you have any conflict that may affect your neutrality?&lt;br /&gt;
45. Are there any access or confidentiality concerns reviewers should know?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Applicants should provide honest context. A disclosed issue is not automatically disqualifying.&lt;br /&gt;
&lt;br /&gt;
== Section G — Conduct History ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
46. Have you received a DarkWorld IRC warning, restriction, or ban?&lt;br /&gt;
47. Have you been involved in a significant abuse or policy case?&lt;br /&gt;
48. Is any complaint or appeal involving you currently unresolved?&lt;br /&gt;
49. Have you previously used unauthorized access on any IRC network?&lt;br /&gt;
50. Is there anything in your history that should be explained to reviewers?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reviewers should verify available records rather than relying only on the applicant’s statement.&lt;br /&gt;
&lt;br /&gt;
== Section H — Candidate Agreement ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
51. Will you complete all required training modules?&lt;br /&gt;
52. Will you complete written and practical assessments?&lt;br /&gt;
53. Will you accept supervision?&lt;br /&gt;
54. Will you follow the DarkWorld IRC Staff Code of Conduct?&lt;br /&gt;
55. Will you protect confidential information?&lt;br /&gt;
56. Will you disclose conflicts of interest?&lt;br /&gt;
57. Do you understand that completing training does not guarantee appointment?&lt;br /&gt;
58. Do you understand that DWIRC authority does not extend automatically to other projects?&lt;br /&gt;
59. Do you confirm that the information provided is accurate?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 13. Candidate Declaration =&lt;br /&gt;
&lt;br /&gt;
The application should end with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I confirm that the information in this application is accurate to the best&lt;br /&gt;
of my knowledge.&lt;br /&gt;
&lt;br /&gt;
I understand that submitting an application does not guarantee acceptance,&lt;br /&gt;
staff appointment, IRC operator access, Services access, server access, or&lt;br /&gt;
authority over another DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
I agree not to submit passwords, tokens, private keys, or other authentication&lt;br /&gt;
secrets.&lt;br /&gt;
&lt;br /&gt;
I authorize the designated DarkWorld IRC reviewers to use this information&lt;br /&gt;
for candidate evaluation, training administration, security review, probation,&lt;br /&gt;
and staff appointment decisions.&lt;br /&gt;
&lt;br /&gt;
I agree to disclose relevant conflicts of interest and external staff roles.&lt;br /&gt;
&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Application date:&lt;br /&gt;
Confirmation method:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 14. Application Reference =&lt;br /&gt;
&lt;br /&gt;
Every application should receive a non-secret reference such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DWIRC-STAFF-2026-0001&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The reference may be used to:&lt;br /&gt;
&lt;br /&gt;
* Check application status.&lt;br /&gt;
* Associate training records.&lt;br /&gt;
* Track assessments.&lt;br /&gt;
* Assign a mentor.&lt;br /&gt;
* Record probation.&lt;br /&gt;
* Reference an appeal.&lt;br /&gt;
&lt;br /&gt;
The reference itself must not provide access to private application details.&lt;br /&gt;
&lt;br /&gt;
= 15. Application Statuses =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SUBMITTED&#039;&#039;&#039;&lt;br /&gt;
| Application received&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;UNDER REVIEW&#039;&#039;&#039;&lt;br /&gt;
| Eligibility and history review in progress&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;INFORMATION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Additional non-sensitive information is needed&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;INTERVIEW&#039;&#039;&#039;&lt;br /&gt;
| Candidate invited to an interview&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ACCEPTED&#039;&#039;&#039;&lt;br /&gt;
| Candidate accepted into training&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DEFERRED&#039;&#039;&#039;&lt;br /&gt;
| Application may be reconsidered later&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REJECTED&#039;&#039;&#039;&lt;br /&gt;
| Candidate not accepted&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;WITHDRAWN&#039;&#039;&#039;&lt;br /&gt;
| Candidate withdrew the application&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CANCELLED&#039;&#039;&#039;&lt;br /&gt;
| Application ended administratively&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXPIRED&#039;&#039;&#039;&lt;br /&gt;
| Candidate did not respond within the required period&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Status information shown publicly should be limited and must not expose reviewer notes.&lt;br /&gt;
&lt;br /&gt;
= 16. Initial Review =&lt;br /&gt;
&lt;br /&gt;
The initial reviewer should confirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Registered account exists&lt;br /&gt;
[ ] Age requirement confirmed by declaration&lt;br /&gt;
[ ] Contact method is available&lt;br /&gt;
[ ] Required questions completed&lt;br /&gt;
[ ] Candidate history is sufficient for review&lt;br /&gt;
[ ] External roles disclosed&lt;br /&gt;
[ ] Serious conflicts identified&lt;br /&gt;
[ ] Current restrictions checked&lt;br /&gt;
[ ] Unresolved cases identified&lt;br /&gt;
[ ] No credentials included&lt;br /&gt;
[ ] Privacy classification applied&lt;br /&gt;
[ ] Application reference assigned&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 17. Candidate History Review =&lt;br /&gt;
&lt;br /&gt;
Authorized reviewers may consider:&lt;br /&gt;
&lt;br /&gt;
* Registration history.&lt;br /&gt;
* Relevant network conduct.&lt;br /&gt;
* Previous warnings or restrictions.&lt;br /&gt;
* Support-channel behavior.&lt;br /&gt;
* Staff or user reports.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Project participation.&lt;br /&gt;
* Previous applications.&lt;br /&gt;
* Existing DarkWorld project roles.&lt;br /&gt;
* Disclosed external roles.&lt;br /&gt;
* Security incidents.&lt;br /&gt;
* Evidence of improvement.&lt;br /&gt;
&lt;br /&gt;
The review must not become an unrestricted search into unrelated personal activity.&lt;br /&gt;
&lt;br /&gt;
Only information relevant to suitability, security, conduct, or conflicts should be considered.&lt;br /&gt;
&lt;br /&gt;
= 18. Application Scoring =&lt;br /&gt;
&lt;br /&gt;
A structured scoring system helps reviewers remain consistent.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Area&lt;br /&gt;
! Weight&lt;br /&gt;
|-&lt;br /&gt;
| Motivation and service orientation&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Communication&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| IRC knowledge&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Judgment&lt;br /&gt;
| 20%&lt;br /&gt;
|-&lt;br /&gt;
| Security awareness&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Conduct history&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Reliability and availability&lt;br /&gt;
| 5%&lt;br /&gt;
|-&lt;br /&gt;
| Transparency and conflict disclosure&lt;br /&gt;
| 10%&lt;br /&gt;
! Total&lt;br /&gt;
| 100%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A suggested minimum for acceptance into training is &#039;&#039;&#039;70%&#039;&#039;&#039;, provided no serious unresolved security or conduct concern exists.&lt;br /&gt;
&lt;br /&gt;
This score is an aid to judgment, not an automatic appointment formula.&lt;br /&gt;
&lt;br /&gt;
= 19. Reviewer Scoring Form =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
APPLICATION REVIEW&lt;br /&gt;
&lt;br /&gt;
Application reference:&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Primary reviewer:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
Review date:&lt;br /&gt;
&lt;br /&gt;
Motivation and service orientation:      /15&lt;br /&gt;
Communication:                           /15&lt;br /&gt;
IRC knowledge:                           /10&lt;br /&gt;
Judgment:                                /20&lt;br /&gt;
Security awareness:                     /15&lt;br /&gt;
Conduct history:                        /10&lt;br /&gt;
Reliability and availability:            /5&lt;br /&gt;
Transparency and conflicts:             /10&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                  /100&lt;br /&gt;
&lt;br /&gt;
Minimum eligibility met: Yes / No&lt;br /&gt;
Serious unresolved concern: Yes / No&lt;br /&gt;
External roles reviewed: Yes / No&lt;br /&gt;
Conflict-management plan required: Yes / No&lt;br /&gt;
Interview required: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strengths:&lt;br /&gt;
Development areas:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Conflict concerns:&lt;br /&gt;
Recommended trainee path:&lt;br /&gt;
Reviewer recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 20. Reviewer Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
A reviewer should disclose a conflict when:&lt;br /&gt;
&lt;br /&gt;
* They are a close friend of the candidate.&lt;br /&gt;
* They have a serious personal dispute with the candidate.&lt;br /&gt;
* They operate a competing project.&lt;br /&gt;
* They previously participated in a relevant incident.&lt;br /&gt;
* They may benefit from the decision.&lt;br /&gt;
* Their neutrality may reasonably be questioned.&lt;br /&gt;
&lt;br /&gt;
A conflicted reviewer may provide relevant factual information but should not control the final decision.&lt;br /&gt;
&lt;br /&gt;
= 21. Interview =&lt;br /&gt;
&lt;br /&gt;
An interview may be conducted in a private approved IRC channel or another authorized system.&lt;br /&gt;
&lt;br /&gt;
Suggested topics include:&lt;br /&gt;
&lt;br /&gt;
* Motivation.&lt;br /&gt;
* Understanding of DarkWorld IRC.&lt;br /&gt;
* Availability.&lt;br /&gt;
* Communication style.&lt;br /&gt;
* Response to criticism.&lt;br /&gt;
* Conflict handling.&lt;br /&gt;
* Security habits.&lt;br /&gt;
* External roles.&lt;br /&gt;
* Training expectations.&lt;br /&gt;
* Preferred trainee path.&lt;br /&gt;
&lt;br /&gt;
The interview should not request passwords, financial information, government identification, or unrelated personal details.&lt;br /&gt;
&lt;br /&gt;
= 22. Interview Scenarios =&lt;br /&gt;
&lt;br /&gt;
The interviewer may ask:&lt;br /&gt;
&lt;br /&gt;
== Scenario 1 ==&lt;br /&gt;
&lt;br /&gt;
A friend asks you to remove their ban. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 2 ==&lt;br /&gt;
&lt;br /&gt;
A user posts a password publicly. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 3 ==&lt;br /&gt;
&lt;br /&gt;
You apply the wrong channel ban. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 4 ==&lt;br /&gt;
&lt;br /&gt;
A staff member asks you to keep an undocumented action secret. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 5 ==&lt;br /&gt;
&lt;br /&gt;
You are unsure whether a message violates the advertising policy. What do you do?&lt;br /&gt;
&lt;br /&gt;
== Scenario 6 ==&lt;br /&gt;
&lt;br /&gt;
A DWShells user asks you to increase their quota, but you hold only a DWIRC role. What do you do?&lt;br /&gt;
&lt;br /&gt;
Interviewers should evaluate reasoning rather than expecting candidates to memorize exact wording.&lt;br /&gt;
&lt;br /&gt;
= 23. Interview Record =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INTERVIEW RECORD&lt;br /&gt;
&lt;br /&gt;
Application reference:&lt;br /&gt;
Candidate:&lt;br /&gt;
Date and time:&lt;br /&gt;
Interviewers:&lt;br /&gt;
Location:&lt;br /&gt;
&lt;br /&gt;
Motivation:&lt;br /&gt;
Communication:&lt;br /&gt;
IRC knowledge:&lt;br /&gt;
Judgment:&lt;br /&gt;
Security awareness:&lt;br /&gt;
Response to feedback:&lt;br /&gt;
External roles:&lt;br /&gt;
Conflicts:&lt;br /&gt;
Suitable trainee path:&lt;br /&gt;
Concerns:&lt;br /&gt;
Candidate questions:&lt;br /&gt;
Follow-up required:&lt;br /&gt;
Interview recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 24. Decision Requirements =&lt;br /&gt;
&lt;br /&gt;
Where practical, acceptance or rejection should involve at least two authorized reviewers.&lt;br /&gt;
&lt;br /&gt;
The decision should consider:&lt;br /&gt;
&lt;br /&gt;
* Application.&lt;br /&gt;
* Candidate history.&lt;br /&gt;
* Interview.&lt;br /&gt;
* Security concerns.&lt;br /&gt;
* Conflicts.&lt;br /&gt;
* Current network needs.&lt;br /&gt;
* Mentor availability.&lt;br /&gt;
* Available training capacity.&lt;br /&gt;
* Suitable trainee path.&lt;br /&gt;
&lt;br /&gt;
A candidate should not be accepted when safe supervision cannot be provided.&lt;br /&gt;
&lt;br /&gt;
= 25. Acceptance =&lt;br /&gt;
&lt;br /&gt;
An acceptance notice should include:&lt;br /&gt;
&lt;br /&gt;
* Application reference.&lt;br /&gt;
* Accepted status.&lt;br /&gt;
* Assigned training path.&lt;br /&gt;
* Required first module.&lt;br /&gt;
* Training channel.&lt;br /&gt;
* Trainer or coordinator.&lt;br /&gt;
* Completion expectations.&lt;br /&gt;
* Code of Conduct requirement.&lt;br /&gt;
* Privacy reminder.&lt;br /&gt;
* Statement that appointment is not guaranteed.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your application to the DarkWorld IRC Staff Training Program has been accepted.&lt;br /&gt;
&lt;br /&gt;
Application reference: DWIRC-STAFF-YYYY-NNNN&lt;br /&gt;
Training status: Accepted&lt;br /&gt;
Assigned trainer:&lt;br /&gt;
Initial training path:&lt;br /&gt;
Training channel:&lt;br /&gt;
Start date:&lt;br /&gt;
&lt;br /&gt;
Acceptance permits participation in training only. It does not grant IRC&lt;br /&gt;
operator, Services, server, or other DarkWorld project access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 26. Deferred Application =&lt;br /&gt;
&lt;br /&gt;
An application may be deferred because:&lt;br /&gt;
&lt;br /&gt;
* The candidate needs more network history.&lt;br /&gt;
* Activity is insufficient.&lt;br /&gt;
* A mentor is unavailable.&lt;br /&gt;
* A relevant issue remains unresolved.&lt;br /&gt;
* The candidate needs more IRC experience.&lt;br /&gt;
* The training group is full.&lt;br /&gt;
* The candidate is temporarily unavailable.&lt;br /&gt;
* Management requires a later review.&lt;br /&gt;
&lt;br /&gt;
A deferral should state:&lt;br /&gt;
&lt;br /&gt;
* General reason.&lt;br /&gt;
* Whether the candidate may reapply.&lt;br /&gt;
* Recommended improvement.&lt;br /&gt;
* Earliest review date, where applicable.&lt;br /&gt;
&lt;br /&gt;
= 27. Rejection =&lt;br /&gt;
&lt;br /&gt;
A rejection notice should be respectful and should avoid exposing confidential reviewer information.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your application has been reviewed and has not been accepted at this time.&lt;br /&gt;
&lt;br /&gt;
This decision does not create an entitlement to confidential reviewer notes.&lt;br /&gt;
Where appropriate, we may provide general areas for improvement and information&lt;br /&gt;
about whether a future application may be considered.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A rejection should not be used to publicly shame the applicant.&lt;br /&gt;
&lt;br /&gt;
= 28. Withdrawal =&lt;br /&gt;
&lt;br /&gt;
A candidate may withdraw voluntarily.&lt;br /&gt;
&lt;br /&gt;
Withdrawal should:&lt;br /&gt;
&lt;br /&gt;
* End active review.&lt;br /&gt;
* Cancel pending interviews.&lt;br /&gt;
* Remove unnecessary temporary access.&lt;br /&gt;
* Preserve the minimum record needed for administration.&lt;br /&gt;
* Record whether reapplication is permitted.&lt;br /&gt;
* Protect the application’s confidentiality.&lt;br /&gt;
&lt;br /&gt;
= 29. Application Appeal or Review =&lt;br /&gt;
&lt;br /&gt;
Where management permits a review, the candidate should provide:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application reference:&lt;br /&gt;
Decision being reviewed:&lt;br /&gt;
Reason for requesting review:&lt;br /&gt;
Factual error alleged:&lt;br /&gt;
Relevant additional information:&lt;br /&gt;
Conflict concern:&lt;br /&gt;
Requested outcome:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A review should not be decided solely by the original reviewer when a credible conflict or serious procedural concern exists.&lt;br /&gt;
&lt;br /&gt;
An appeal does not guarantee acceptance.&lt;br /&gt;
&lt;br /&gt;
= 30. Reapplication =&lt;br /&gt;
&lt;br /&gt;
A rejected or deferred candidate may be allowed to reapply after:&lt;br /&gt;
&lt;br /&gt;
* Completing recommended learning.&lt;br /&gt;
* Establishing additional network history.&lt;br /&gt;
* Resolving conduct concerns.&lt;br /&gt;
* Demonstrating improved security.&lt;br /&gt;
* Completing a stated waiting period.&lt;br /&gt;
* Providing missing information.&lt;br /&gt;
&lt;br /&gt;
Management may decline reapplication after serious malicious conduct, impersonation, credential theft, or deliberate security abuse.&lt;br /&gt;
&lt;br /&gt;
= 31. Application Retention =&lt;br /&gt;
&lt;br /&gt;
Application records should be retained only as long as required for:&lt;br /&gt;
&lt;br /&gt;
* Training administration.&lt;br /&gt;
* Staff selection.&lt;br /&gt;
* Security review.&lt;br /&gt;
* Appeals.&lt;br /&gt;
* Repeat applications.&lt;br /&gt;
* Access and conduct accountability.&lt;br /&gt;
&lt;br /&gt;
Access should be restricted.&lt;br /&gt;
&lt;br /&gt;
When information is no longer required, it should be removed or minimized according to the adopted retention procedure.&lt;br /&gt;
&lt;br /&gt;
= 32. Application Audit Record =&lt;br /&gt;
&lt;br /&gt;
Important changes should record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Application reference:&lt;br /&gt;
Previous status:&lt;br /&gt;
New status:&lt;br /&gt;
Date and time:&lt;br /&gt;
Action performed by:&lt;br /&gt;
Reason:&lt;br /&gt;
Candidate notified:&lt;br /&gt;
Next action:&lt;br /&gt;
Review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reviewer notes should not be overwritten to conceal earlier decisions. Corrections should be appended or versioned.&lt;br /&gt;
&lt;br /&gt;
= 33. Application Workflow =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SUBMITTED&lt;br /&gt;
   |&lt;br /&gt;
UNDER REVIEW&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; INFORMATION REQUIRED&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; INTERVIEW&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; ACCEPTED --&amp;gt; TRAINING&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; DEFERRED&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; REJECTED&lt;br /&gt;
   |&lt;br /&gt;
   +--&amp;gt; WITHDRAWN / CANCELLED / EXPIRED&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 34. Candidate Checklist =&lt;br /&gt;
&lt;br /&gt;
Before submitting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] I am at least 18 years old&lt;br /&gt;
[ ] I have a registered DarkWorld IRC account&lt;br /&gt;
[ ] I have access to my registered email&lt;br /&gt;
[ ] I use or will configure TLS&lt;br /&gt;
[ ] I use or will configure SASL&lt;br /&gt;
[ ] I answered truthfully&lt;br /&gt;
[ ] I disclosed relevant external roles&lt;br /&gt;
[ ] I disclosed relevant conflicts&lt;br /&gt;
[ ] I did not include passwords or tokens&lt;br /&gt;
[ ] I understand training does not guarantee appointment&lt;br /&gt;
[ ] I understand DWIRC authority is project-specific&lt;br /&gt;
[ ] I am willing to accept supervision&lt;br /&gt;
[ ] I am willing to complete all assessments&lt;br /&gt;
[ ] I am willing to follow the Staff Code of Conduct&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 35. Reviewer Checklist =&lt;br /&gt;
&lt;br /&gt;
Before accepting:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Eligibility confirmed&lt;br /&gt;
[ ] Account history reviewed&lt;br /&gt;
[ ] Conduct history reviewed&lt;br /&gt;
[ ] Security concerns reviewed&lt;br /&gt;
[ ] External roles reviewed&lt;br /&gt;
[ ] Conflicts reviewed&lt;br /&gt;
[ ] Interview completed where required&lt;br /&gt;
[ ] Second reviewer consulted&lt;br /&gt;
[ ] Suitable trainee path identified&lt;br /&gt;
[ ] Mentor available&lt;br /&gt;
[ ] Training capacity available&lt;br /&gt;
[ ] Decision recorded&lt;br /&gt;
[ ] Candidate notified&lt;br /&gt;
[ ] No privileged access granted prematurely&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 36. Next Step for Accepted Candidates =&lt;br /&gt;
&lt;br /&gt;
Accepted candidates begin with:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Network Introduction|Module 1 — DarkWorld IRC Network Introduction]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
They should also review:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training Program|Program Overview]]&lt;br /&gt;
* [[DWIRC:Staff Training/Code of Conduct|Staff Code of Conduct]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRC Fundamentals|IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;First module:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|Module 1 — Network Introduction]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Applications]]&lt;br /&gt;
[[Category:Staff Recruitment]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Probation&amp;diff=409</id>
		<title>DWIRC:Staff Training/Probation</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Probation&amp;diff=409"/>
		<updated>2026-08-08T18:26:46Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Probationary Staff Program}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Probationary Staff Program&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Stage | Pro...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Probationary Staff Program}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Probationary Staff Program&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Stage&lt;br /&gt;
| Probationary IRC Staff&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 30–60 days&lt;br /&gt;
|-&lt;br /&gt;
! Minimum recommended period&lt;br /&gt;
| 30 days&lt;br /&gt;
|-&lt;br /&gt;
! Final passing standard&lt;br /&gt;
| 80% with all mandatory competencies&lt;br /&gt;
|-&lt;br /&gt;
! Supervision&lt;br /&gt;
| Assigned mentor and authorized senior staff&lt;br /&gt;
|-&lt;br /&gt;
! Access&lt;br /&gt;
| Limited, role-specific, and reviewable&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Probationary Staff Program is the final evaluation stage before permanent appointment to the DarkWorld IRC staff team.&lt;br /&gt;
&lt;br /&gt;
During probation, the candidate performs limited real duties with role-appropriate access while remaining under supervision.&lt;br /&gt;
&lt;br /&gt;
The program evaluates whether the probationary staff member can consistently:&lt;br /&gt;
&lt;br /&gt;
* Assist users.&lt;br /&gt;
* Apply policy correctly.&lt;br /&gt;
* Exercise authority proportionately.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Use access securely.&lt;br /&gt;
* Coordinate with the staff team.&lt;br /&gt;
* Respond to incidents.&lt;br /&gt;
* Document important actions.&lt;br /&gt;
* Accept correction.&lt;br /&gt;
* Remain reliable over time.&lt;br /&gt;
&lt;br /&gt;
Passing training or probation does not create an automatic right to permanent staff status.&lt;br /&gt;
&lt;br /&gt;
= 2. Entry Requirements =&lt;br /&gt;
&lt;br /&gt;
Before entering probation, the candidate must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Completed Modules 1–10&lt;br /&gt;
[ ] Accepted the Staff Code of Conduct&lt;br /&gt;
[ ] Accepted the Security Declaration&lt;br /&gt;
[ ] Passed the Final Written Examination&lt;br /&gt;
[ ] Passed the Final Practical Assessment&lt;br /&gt;
[ ] Completed the Supervised Trainee Evaluation&lt;br /&gt;
[ ] Received a trainee score of at least 80%&lt;br /&gt;
[ ] Completed all mandatory trainee experiences&lt;br /&gt;
[ ] Received a mentor recommendation&lt;br /&gt;
[ ] Received a secondary review&lt;br /&gt;
[ ] Been assigned a probationary role&lt;br /&gt;
[ ] Received a written access plan&lt;br /&gt;
[ ] Received management approval&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3. Probationary Status =&lt;br /&gt;
&lt;br /&gt;
A probationary staff member:&lt;br /&gt;
&lt;br /&gt;
* Has been selected for limited live duties.&lt;br /&gt;
* Is still under formal evaluation.&lt;br /&gt;
* Holds only explicitly approved permissions.&lt;br /&gt;
* Remains accountable to an assigned mentor.&lt;br /&gt;
* Must follow the Staff Code of Conduct.&lt;br /&gt;
* May have access reduced or suspended.&lt;br /&gt;
* Is not guaranteed permanent appointment.&lt;br /&gt;
* Must identify their status accurately.&lt;br /&gt;
&lt;br /&gt;
Appropriate description:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am a probationary DarkWorld IRC staff member working under supervision.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Probationary staff must not misrepresent themselves as senior administrators or representatives of unrelated DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
= 4. Duration =&lt;br /&gt;
&lt;br /&gt;
The recommended probation period is &#039;&#039;&#039;30–60 days&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A standard probation may be:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Period&lt;br /&gt;
! General use&lt;br /&gt;
|-&lt;br /&gt;
| 30 days&lt;br /&gt;
| Candidate demonstrates consistent readiness with sufficient observation&lt;br /&gt;
|-&lt;br /&gt;
| 45 days&lt;br /&gt;
| Additional observation is useful&lt;br /&gt;
|-&lt;br /&gt;
| 60 days&lt;br /&gt;
| Higher-risk role, limited activity, or development areas remain&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Management may extend probation when:&lt;br /&gt;
&lt;br /&gt;
* There is insufficient activity.&lt;br /&gt;
* Required scenarios have not occurred.&lt;br /&gt;
* A mentor was unavailable.&lt;br /&gt;
* Additional training is required.&lt;br /&gt;
* A conduct or security concern requires observation.&lt;br /&gt;
* The candidate is moving into a different role.&lt;br /&gt;
&lt;br /&gt;
Time completed alone does not determine the result.&lt;br /&gt;
&lt;br /&gt;
= 5. Probationary Roles =&lt;br /&gt;
&lt;br /&gt;
Possible initial roles include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! Primary responsibility&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary Support Staff&#039;&#039;&#039;&lt;br /&gt;
| User assistance and support-channel duties&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary Channel Moderator&#039;&#039;&#039;&lt;br /&gt;
| Supervised moderation in assigned official channels&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary Policy Staff&#039;&#039;&#039;&lt;br /&gt;
| Policy guidance and supervised case preparation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary Relay Compliance Staff&#039;&#039;&#039;&lt;br /&gt;
| Relay records and supervised compliance actions&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary Services Support Staff&#039;&#039;&#039;&lt;br /&gt;
| Normal Services assistance and escalation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary Incident Staff&#039;&#039;&#039;&lt;br /&gt;
| Incident records, communications, timelines, and coordination&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary IRC Operator&#039;&#039;&#039;&lt;br /&gt;
| Limited operator duties under enhanced supervision&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A candidate may serve in more than one area only when the access plan clearly defines each responsibility.&lt;br /&gt;
&lt;br /&gt;
= 6. Written Role Definition =&lt;br /&gt;
&lt;br /&gt;
Every probationary appointment should record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Probationary title:&lt;br /&gt;
Operational purpose:&lt;br /&gt;
Assigned responsibilities:&lt;br /&gt;
Approved public channels:&lt;br /&gt;
Approved restricted channels:&lt;br /&gt;
Approved systems:&lt;br /&gt;
Approved commands:&lt;br /&gt;
Actions requiring prior approval:&lt;br /&gt;
Prohibited commands:&lt;br /&gt;
Prohibited systems:&lt;br /&gt;
Logging requirements:&lt;br /&gt;
Primary mentor:&lt;br /&gt;
Secondary mentor:&lt;br /&gt;
Start date:&lt;br /&gt;
Review dates:&lt;br /&gt;
Expected end date:&lt;br /&gt;
Management approver:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Undefined authority should be treated as not granted.&lt;br /&gt;
&lt;br /&gt;
= 7. Access Principles =&lt;br /&gt;
&lt;br /&gt;
Probationary access must be:&lt;br /&gt;
&lt;br /&gt;
* Necessary.&lt;br /&gt;
* Explicitly approved.&lt;br /&gt;
* Limited to the assigned role.&lt;br /&gt;
* Logged where appropriate.&lt;br /&gt;
* Reviewed regularly.&lt;br /&gt;
* Reversible.&lt;br /&gt;
* Removed when no longer required.&lt;br /&gt;
&lt;br /&gt;
Access should not be granted merely because:&lt;br /&gt;
&lt;br /&gt;
* The candidate completed the course.&lt;br /&gt;
* Another staff member has it.&lt;br /&gt;
* The candidate requests it.&lt;br /&gt;
* It may be useful eventually.&lt;br /&gt;
* The candidate is a friend.&lt;br /&gt;
* The permission is technically easy to add.&lt;br /&gt;
&lt;br /&gt;
= 8. Access Categories =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Allowed&#039;&#039;&#039;&lt;br /&gt;
| May be performed within role and policy&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Supervised&#039;&#039;&#039;&lt;br /&gt;
| May be performed only with mentor awareness or observation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Prior Approval Required&#039;&#039;&#039;&lt;br /&gt;
| Must be approved before each action&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Emergency Only&#039;&#039;&#039;&lt;br /&gt;
| May be used only to stop immediate harm and must be reported immediately&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Prohibited&#039;&#039;&#039;&lt;br /&gt;
| Not authorized during probation&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Every sensitive command or system should have an assigned category.&lt;br /&gt;
&lt;br /&gt;
= 9. Typical Allowed Duties =&lt;br /&gt;
&lt;br /&gt;
Depending on the role, probationary staff may:&lt;br /&gt;
&lt;br /&gt;
* Assist in `#Help` and other approved channels.&lt;br /&gt;
* Provide official documentation and policy links.&lt;br /&gt;
* Troubleshoot TLS, SASL, and normal Services issues.&lt;br /&gt;
* Prepare support and incident records.&lt;br /&gt;
* Issue approved channel warnings.&lt;br /&gt;
* Apply ordinary moderation in assigned channels.&lt;br /&gt;
* Escalate network-wide cases.&lt;br /&gt;
* Participate in staff coordination.&lt;br /&gt;
* Assist with approved documentation updates.&lt;br /&gt;
* Observe higher-level investigations.&lt;br /&gt;
* Perform limited bot actions explicitly assigned to the role.&lt;br /&gt;
&lt;br /&gt;
= 10. Typical Restricted Duties =&lt;br /&gt;
&lt;br /&gt;
Probationary staff should normally require supervision or prior approval for:&lt;br /&gt;
&lt;br /&gt;
* Long-term channel bans.&lt;br /&gt;
* Actions affecting shared hosts.&lt;br /&gt;
* Multi-channel enforcement.&lt;br /&gt;
* Account or channel suspension recommendations.&lt;br /&gt;
* Advertising administrative decisions.&lt;br /&gt;
* Relay compliance status changes.&lt;br /&gt;
* Access to restricted abuse evidence.&lt;br /&gt;
* Network-wide notices.&lt;br /&gt;
* Operator kills.&lt;br /&gt;
* Network-level bans.&lt;br /&gt;
* Services administrative actions.&lt;br /&gt;
* Staff-conduct cases.&lt;br /&gt;
* Public incident announcements.&lt;br /&gt;
&lt;br /&gt;
= 11. Normally Prohibited Duties =&lt;br /&gt;
&lt;br /&gt;
Unless management explicitly defines otherwise, probationary staff must not:&lt;br /&gt;
&lt;br /&gt;
* Use IRCd server-administration commands.&lt;br /&gt;
* Rehash, restart, disconnect, or terminate IRC servers.&lt;br /&gt;
* Modify IRCd configuration.&lt;br /&gt;
* Modify Anope databases.&lt;br /&gt;
* Change channel founders.&lt;br /&gt;
* Drop accounts or channels.&lt;br /&gt;
* Use unrestricted OperServ.&lt;br /&gt;
* Access root credentials.&lt;br /&gt;
* Modify production databases.&lt;br /&gt;
* Grant staff access.&lt;br /&gt;
* Approve their own request.&lt;br /&gt;
* Review their own disputed action alone.&lt;br /&gt;
* Use OperOverride for non-emergency purposes.&lt;br /&gt;
* Share restricted information.&lt;br /&gt;
* Access another DarkWorld project without separate authorization.&lt;br /&gt;
&lt;br /&gt;
= 12. Probationary IRC Operator Controls =&lt;br /&gt;
&lt;br /&gt;
A probationary IRC operator should have a specifically restricted operator class where practical.&lt;br /&gt;
&lt;br /&gt;
The access plan should define whether they may:&lt;br /&gt;
&lt;br /&gt;
* View selected server notices.&lt;br /&gt;
* Use expanded WHOIS information.&lt;br /&gt;
* Issue KILL commands.&lt;br /&gt;
* Apply local restrictions.&lt;br /&gt;
* Apply temporary restrictions.&lt;br /&gt;
* Apply global restrictions.&lt;br /&gt;
* Use shuns.&lt;br /&gt;
* Use override capabilities.&lt;br /&gt;
* Send network notices.&lt;br /&gt;
* View sensitive statistics.&lt;br /&gt;
&lt;br /&gt;
Higher-risk capabilities should remain excluded until independently approved.&lt;br /&gt;
&lt;br /&gt;
= 13. First-Week Requirements =&lt;br /&gt;
&lt;br /&gt;
During the first probation week, the candidate should:&lt;br /&gt;
&lt;br /&gt;
* Review the written access plan.&lt;br /&gt;
* Confirm access works as intended.&lt;br /&gt;
* Verify TLS and SASL.&lt;br /&gt;
* Verify staff account security.&lt;br /&gt;
* Confirm logging requirements.&lt;br /&gt;
* Review escalation contacts.&lt;br /&gt;
* Observe at least one senior-staff session.&lt;br /&gt;
* Handle only low-risk duties.&lt;br /&gt;
* Complete the first mentor review.&lt;br /&gt;
* Report any excessive or missing permissions.&lt;br /&gt;
&lt;br /&gt;
If the candidate discovers access beyond their assigned role, they must report it and avoid using it.&lt;br /&gt;
&lt;br /&gt;
= 14. Staff Presence and Activity =&lt;br /&gt;
&lt;br /&gt;
Probationary staff should:&lt;br /&gt;
&lt;br /&gt;
* Maintain reasonable activity in assigned channels.&lt;br /&gt;
* Avoid being online only to retain status.&lt;br /&gt;
* Participate meaningfully.&lt;br /&gt;
* Respond when available.&lt;br /&gt;
* Communicate planned absence.&lt;br /&gt;
* Hand over active cases.&lt;br /&gt;
* Avoid leaving unresolved emergency actions.&lt;br /&gt;
* Maintain professional behavior during quiet periods.&lt;br /&gt;
&lt;br /&gt;
Activity should be measured by quality and reliability, not raw message count.&lt;br /&gt;
&lt;br /&gt;
= 15. User Support Expectations =&lt;br /&gt;
&lt;br /&gt;
Probationary staff should consistently:&lt;br /&gt;
&lt;br /&gt;
* Welcome users professionally.&lt;br /&gt;
* Identify the actual problem.&lt;br /&gt;
* Ask focused questions.&lt;br /&gt;
* Give safe instructions.&lt;br /&gt;
* Protect passwords.&lt;br /&gt;
* Use current official information.&lt;br /&gt;
* Respect language differences.&lt;br /&gt;
* Confirm outcomes.&lt;br /&gt;
* Escalate administrative matters.&lt;br /&gt;
* Avoid making promises outside their authority.&lt;br /&gt;
&lt;br /&gt;
= 16. Moderation Expectations =&lt;br /&gt;
&lt;br /&gt;
Probationary moderators should:&lt;br /&gt;
&lt;br /&gt;
* Intervene only when appropriate.&lt;br /&gt;
* Use clear warnings.&lt;br /&gt;
* Select proportionate actions.&lt;br /&gt;
* Use precise masks.&lt;br /&gt;
* Consider shared infrastructure.&lt;br /&gt;
* Provide professional reasons.&lt;br /&gt;
* Record significant actions.&lt;br /&gt;
* Review temporary restrictions.&lt;br /&gt;
* Avoid personal involvement.&lt;br /&gt;
* Escalate network-wide abuse.&lt;br /&gt;
&lt;br /&gt;
= 17. Policy Expectations =&lt;br /&gt;
&lt;br /&gt;
Probationary policy staff should:&lt;br /&gt;
&lt;br /&gt;
* Use current official policy.&lt;br /&gt;
* Provide concise public links.&lt;br /&gt;
* Keep detailed cases in approved restricted systems.&lt;br /&gt;
* Verify advertising or relay status.&lt;br /&gt;
* Distinguish approval from general conversation.&lt;br /&gt;
* Record evidence accurately.&lt;br /&gt;
* Avoid changing statuses without authority.&lt;br /&gt;
* Escalate disputed interpretations.&lt;br /&gt;
* Respect registered-project boundaries.&lt;br /&gt;
&lt;br /&gt;
= 18. Services Expectations =&lt;br /&gt;
&lt;br /&gt;
Probationary Services support staff should:&lt;br /&gt;
&lt;br /&gt;
* Use current Services help.&lt;br /&gt;
* Never request passwords.&lt;br /&gt;
* Confirm registered accounts.&lt;br /&gt;
* Distinguish live modes from Services access.&lt;br /&gt;
* Assist with normal recovery procedures.&lt;br /&gt;
* Escalate founder and ownership disputes.&lt;br /&gt;
* Avoid restricted OperServ functions.&lt;br /&gt;
* Protect account information.&lt;br /&gt;
* Recognize Services outages.&lt;br /&gt;
* Document administrative referrals.&lt;br /&gt;
&lt;br /&gt;
= 19. Incident Expectations =&lt;br /&gt;
&lt;br /&gt;
During incidents, probationary staff should:&lt;br /&gt;
&lt;br /&gt;
* Follow the incident lead.&lt;br /&gt;
* State confirmed facts.&lt;br /&gt;
* Record UTC timestamps.&lt;br /&gt;
* Protect evidence.&lt;br /&gt;
* Avoid duplicate actions.&lt;br /&gt;
* Communicate changes.&lt;br /&gt;
* Avoid unsupported public claims.&lt;br /&gt;
* Maintain handover information.&lt;br /&gt;
* Assist with recovery.&lt;br /&gt;
* Participate in post-incident review.&lt;br /&gt;
&lt;br /&gt;
= 20. Action Logging =&lt;br /&gt;
&lt;br /&gt;
Significant probationary actions should be recorded:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Probationary staff member:&lt;br /&gt;
Role used:&lt;br /&gt;
Channel or system:&lt;br /&gt;
Incident or case reference:&lt;br /&gt;
Action:&lt;br /&gt;
Target:&lt;br /&gt;
Reason:&lt;br /&gt;
Policy:&lt;br /&gt;
Scope:&lt;br /&gt;
Duration:&lt;br /&gt;
Authorization:&lt;br /&gt;
Mentor notified:&lt;br /&gt;
Result:&lt;br /&gt;
Users affected:&lt;br /&gt;
Review date:&lt;br /&gt;
Correction required:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The log must not contain credentials.&lt;br /&gt;
&lt;br /&gt;
= 21. Daily Probation Record =&lt;br /&gt;
&lt;br /&gt;
The candidate should maintain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date:&lt;br /&gt;
Hours or sessions active:&lt;br /&gt;
Assigned channels:&lt;br /&gt;
Support cases:&lt;br /&gt;
Moderation actions:&lt;br /&gt;
Policy or relay cases:&lt;br /&gt;
Incidents:&lt;br /&gt;
Escalations:&lt;br /&gt;
Reports completed:&lt;br /&gt;
Mentor contact:&lt;br /&gt;
Mistakes and corrections:&lt;br /&gt;
Pending items:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This record supports evaluation but should not become unnecessary surveillance of normal conversation.&lt;br /&gt;
&lt;br /&gt;
= 22. Weekly Mentor Review =&lt;br /&gt;
&lt;br /&gt;
A review should occur at least weekly.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Weight&lt;br /&gt;
|-&lt;br /&gt;
| Support and communication&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Policy accuracy&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Moderation and operational judgment&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Security and confidentiality&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Incident response&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Documentation and accountability&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Teamwork and communication&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Reliability and availability&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Acceptance of feedback&lt;br /&gt;
| 5%&lt;br /&gt;
! Total&lt;br /&gt;
| 100%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 23. Weekly Review Form =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
PROBATIONARY STAFF WEEKLY REVIEW&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Probationary role:&lt;br /&gt;
Week:&lt;br /&gt;
Review period:&lt;br /&gt;
Mentor:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
&lt;br /&gt;
Support and communication:               /15&lt;br /&gt;
Policy accuracy:                         /10&lt;br /&gt;
Moderation and operational judgment:     /15&lt;br /&gt;
Security and confidentiality:            /15&lt;br /&gt;
Incident response:                       /10&lt;br /&gt;
Documentation and accountability:        /10&lt;br /&gt;
Teamwork and communication:              /10&lt;br /&gt;
Reliability and availability:            /10&lt;br /&gt;
Acceptance of feedback:                   /5&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                   /100&lt;br /&gt;
&lt;br /&gt;
Actions reviewed:&lt;br /&gt;
Incidents handled:&lt;br /&gt;
Positive observations:&lt;br /&gt;
Errors:&lt;br /&gt;
Corrections:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Access concerns:&lt;br /&gt;
Required remediation:&lt;br /&gt;
Access change recommended:&lt;br /&gt;
Candidate comments:&lt;br /&gt;
Mentor recommendation:&lt;br /&gt;
Next review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 24. Permission Review =&lt;br /&gt;
&lt;br /&gt;
Probationary access should be reviewed:&lt;br /&gt;
&lt;br /&gt;
* After the first week.&lt;br /&gt;
* At the midpoint.&lt;br /&gt;
* After any security incident.&lt;br /&gt;
* After a role change.&lt;br /&gt;
* After a serious mistake.&lt;br /&gt;
* Before permanent appointment.&lt;br /&gt;
* When probation is extended.&lt;br /&gt;
* When the candidate becomes inactive.&lt;br /&gt;
&lt;br /&gt;
The review should determine:&lt;br /&gt;
&lt;br /&gt;
* Is every permission still required?&lt;br /&gt;
* Is any permission excessive?&lt;br /&gt;
* Is any required permission missing?&lt;br /&gt;
* Were permissions used correctly?&lt;br /&gt;
* Are actions properly logged?&lt;br /&gt;
* Should any access remain supervised?&lt;br /&gt;
* Should any access be suspended?&lt;br /&gt;
&lt;br /&gt;
= 25. Mistakes During Probation =&lt;br /&gt;
&lt;br /&gt;
When a probationary staff member makes a mistake:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Inform the mentor.&lt;br /&gt;
# Correct the action where authorized.&lt;br /&gt;
# Preserve the original record.&lt;br /&gt;
# Document the correction.&lt;br /&gt;
# Notify affected users appropriately.&lt;br /&gt;
# Identify the cause.&lt;br /&gt;
# Complete remediation.&lt;br /&gt;
# Review whether access should change.&lt;br /&gt;
&lt;br /&gt;
Factors include:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Intent.&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Harm.&lt;br /&gt;
* Repetition.&lt;br /&gt;
* Cooperation.&lt;br /&gt;
* Security impact.&lt;br /&gt;
* Whether the candidate exceeded authority.&lt;br /&gt;
&lt;br /&gt;
= 26. Immediate Access Suspension =&lt;br /&gt;
&lt;br /&gt;
Probationary access should be suspended immediately when:&lt;br /&gt;
&lt;br /&gt;
* Credentials are exposed.&lt;br /&gt;
* Access is shared.&lt;br /&gt;
* A privileged device is compromised.&lt;br /&gt;
* Private information is deliberately disclosed.&lt;br /&gt;
* Evidence is falsified or destroyed.&lt;br /&gt;
* Retaliation occurs.&lt;br /&gt;
* Unauthorized high-risk commands are used.&lt;br /&gt;
* The candidate accesses another system without authority.&lt;br /&gt;
* A serious conflict is concealed.&lt;br /&gt;
* The candidate refuses to stop unsafe conduct.&lt;br /&gt;
* Continued access creates significant risk.&lt;br /&gt;
&lt;br /&gt;
Suspension should be documented and reviewed by authorized management.&lt;br /&gt;
&lt;br /&gt;
= 27. Security Incident Procedure =&lt;br /&gt;
&lt;br /&gt;
If probationary access may be compromised:&lt;br /&gt;
&lt;br /&gt;
# Stop using the affected access.&lt;br /&gt;
# Notify management immediately.&lt;br /&gt;
# Preserve relevant logs.&lt;br /&gt;
# Rotate credentials.&lt;br /&gt;
# Revoke exposed tokens or keys.&lt;br /&gt;
# Review actions performed during the exposure period.&lt;br /&gt;
# Secure the device.&lt;br /&gt;
# Restore access only after approval.&lt;br /&gt;
# Complete an incident report.&lt;br /&gt;
# Review related accounts for password reuse.&lt;br /&gt;
&lt;br /&gt;
= 28. Staff Complaints During Probation =&lt;br /&gt;
&lt;br /&gt;
A complaint against a probationary staff member should be:&lt;br /&gt;
&lt;br /&gt;
* Acknowledged.&lt;br /&gt;
* Preserved.&lt;br /&gt;
* Kept confidential.&lt;br /&gt;
* Reviewed by an appropriate person.&lt;br /&gt;
* Protected from retaliation.&lt;br /&gt;
* Compared with action records.&lt;br /&gt;
* Considered during the final evaluation.&lt;br /&gt;
&lt;br /&gt;
The mentor should not dismiss a complaint merely to protect the candidate.&lt;br /&gt;
&lt;br /&gt;
The candidate should not contact or pressure the complainant outside the approved process.&lt;br /&gt;
&lt;br /&gt;
= 29. Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
Probationary staff must disclose conflicts promptly.&lt;br /&gt;
&lt;br /&gt;
When involved personally:&lt;br /&gt;
&lt;br /&gt;
* Protect against immediate harm if necessary.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Step away from the final decision.&lt;br /&gt;
* Notify the mentor.&lt;br /&gt;
* Transfer the matter.&lt;br /&gt;
* Avoid discussing private review details publicly.&lt;br /&gt;
&lt;br /&gt;
Failure to disclose a serious conflict may prevent promotion.&lt;br /&gt;
&lt;br /&gt;
= 30. Required Probation Experiences =&lt;br /&gt;
&lt;br /&gt;
Before permanent appointment, the candidate should complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] At least ten meaningful support cases&lt;br /&gt;
[ ] At least three Services support cases&lt;br /&gt;
[ ] At least three documented moderation cases&lt;br /&gt;
[ ] At least one shared-host or ban-scope analysis&lt;br /&gt;
[ ] At least one policy or compliance case&lt;br /&gt;
[ ] At least one incident exercise or supervised incident&lt;br /&gt;
[ ] At least one incident timeline&lt;br /&gt;
[ ] At least one formal handover&lt;br /&gt;
[ ] At least one appeal or complaint simulation&lt;br /&gt;
[ ] At least one security exercise&lt;br /&gt;
[ ] At least four weekly mentor reviews for a 30-day probation&lt;br /&gt;
[ ] At least one midpoint access review&lt;br /&gt;
[ ] At least one secondary-review observation&lt;br /&gt;
[ ] A final access and conduct review&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Equivalent simulations may be used when real incidents do not occur.&lt;br /&gt;
&lt;br /&gt;
= 31. Midpoint Review =&lt;br /&gt;
&lt;br /&gt;
At the midpoint, the mentor and candidate should review:&lt;br /&gt;
&lt;br /&gt;
* Progress.&lt;br /&gt;
* Weekly scores.&lt;br /&gt;
* Required experiences.&lt;br /&gt;
* Access usage.&lt;br /&gt;
* Security conduct.&lt;br /&gt;
* User feedback.&lt;br /&gt;
* Staff feedback.&lt;br /&gt;
* Mistakes and corrections.&lt;br /&gt;
* Remaining weaknesses.&lt;br /&gt;
* Suitability of the assigned role.&lt;br /&gt;
* Whether probation should continue unchanged.&lt;br /&gt;
&lt;br /&gt;
Possible midpoint outcomes:&lt;br /&gt;
&lt;br /&gt;
* Continue.&lt;br /&gt;
* Continue with additional supervision.&lt;br /&gt;
* Reduce access.&lt;br /&gt;
* Expand low-risk duties.&lt;br /&gt;
* Require remediation.&lt;br /&gt;
* Change probationary role.&lt;br /&gt;
* Pause or end probation.&lt;br /&gt;
&lt;br /&gt;
= 32. Final Evaluation =&lt;br /&gt;
&lt;br /&gt;
At the end of probation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DARKWORLD IRC FINAL PROBATION REVIEW&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Probationary role:&lt;br /&gt;
Start date:&lt;br /&gt;
End date:&lt;br /&gt;
Total observed days:&lt;br /&gt;
Primary mentor:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
Management reviewer:&lt;br /&gt;
&lt;br /&gt;
Average weekly score:&lt;br /&gt;
Required experiences completed: Yes / No&lt;br /&gt;
Code of Conduct maintained: Yes / No&lt;br /&gt;
Security requirements maintained: Yes / No&lt;br /&gt;
Confidentiality maintained: Yes / No&lt;br /&gt;
Actions properly documented: Yes / No&lt;br /&gt;
Conflicts properly disclosed: Yes / No&lt;br /&gt;
Complaints resolved: Yes / No&lt;br /&gt;
Access used within scope: Yes / No&lt;br /&gt;
&lt;br /&gt;
Support performance:&lt;br /&gt;
Moderation performance:&lt;br /&gt;
Policy knowledge:&lt;br /&gt;
Services knowledge:&lt;br /&gt;
Incident response:&lt;br /&gt;
Security:&lt;br /&gt;
Documentation:&lt;br /&gt;
Teamwork:&lt;br /&gt;
Reliability:&lt;br /&gt;
Acceptance of feedback:&lt;br /&gt;
&lt;br /&gt;
Strongest areas:&lt;br /&gt;
Development areas:&lt;br /&gt;
Outstanding concerns:&lt;br /&gt;
Unresolved incidents:&lt;br /&gt;
Recommended permanent role:&lt;br /&gt;
Recommended permanent permissions:&lt;br /&gt;
Permissions to exclude:&lt;br /&gt;
Additional specialist training:&lt;br /&gt;
Final recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 33. Final Outcomes =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Outcome&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;APPOINT PERMANENT STAFF&#039;&#039;&#039;&lt;br /&gt;
| Candidate is suitable for a defined permanent DWIRC role&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXTEND PROBATION&#039;&#039;&#039;&lt;br /&gt;
| More observation or remediation is required&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REASSIGN ROLE&#039;&#039;&#039;&lt;br /&gt;
| Candidate may be suitable for a different role&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REDUCE ACCESS&#039;&#039;&#039;&lt;br /&gt;
| Candidate may continue with narrower duties&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;RETURN TO TRAINING&#039;&#039;&#039;&lt;br /&gt;
| Candidate must repeat specified modules or assessments&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAUSE&#039;&#039;&#039;&lt;br /&gt;
| Evaluation cannot continue currently&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;END CANDIDACY&#039;&#039;&#039;&lt;br /&gt;
| Candidate is not suitable for appointment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 34. Promotion Requirements =&lt;br /&gt;
&lt;br /&gt;
For permanent appointment, the candidate should:&lt;br /&gt;
&lt;br /&gt;
* Complete at least the minimum probation period.&lt;br /&gt;
* Achieve an average score of at least &#039;&#039;&#039;80%&#039;&#039;&#039;.&lt;br /&gt;
* Complete required experiences.&lt;br /&gt;
* Demonstrate consistent reliability.&lt;br /&gt;
* Protect credentials and private information.&lt;br /&gt;
* Use access within scope.&lt;br /&gt;
* Apply proportionate judgment.&lt;br /&gt;
* Maintain accurate records.&lt;br /&gt;
* Cooperate with staff.&lt;br /&gt;
* Accept feedback.&lt;br /&gt;
* Resolve or disclose conflicts.&lt;br /&gt;
* Have no unresolved serious conduct concern.&lt;br /&gt;
* Receive mentor recommendation.&lt;br /&gt;
* Receive secondary review.&lt;br /&gt;
* Receive management approval.&lt;br /&gt;
&lt;br /&gt;
Management may require a higher standard for IRC operator, Services, security, or infrastructure roles.&lt;br /&gt;
&lt;br /&gt;
= 35. Permanent Role Assignment =&lt;br /&gt;
&lt;br /&gt;
Permanent appointment should define:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Staff member:&lt;br /&gt;
Registered account:&lt;br /&gt;
Official title:&lt;br /&gt;
Team:&lt;br /&gt;
Operational responsibilities:&lt;br /&gt;
Approved public channels:&lt;br /&gt;
Approved restricted channels:&lt;br /&gt;
Approved Services permissions:&lt;br /&gt;
Approved bot or API permissions:&lt;br /&gt;
Approved operator permissions:&lt;br /&gt;
Server access:&lt;br /&gt;
Explicitly excluded permissions:&lt;br /&gt;
Reporting line:&lt;br /&gt;
Review schedule:&lt;br /&gt;
Appointment date:&lt;br /&gt;
Approved by:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
“Full access” should not be used as a role description.&lt;br /&gt;
&lt;br /&gt;
= 36. Permanent Access Activation =&lt;br /&gt;
&lt;br /&gt;
Before activating permanent access:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Final probation review approved&lt;br /&gt;
[ ] Role definition recorded&lt;br /&gt;
[ ] Permissions reviewed&lt;br /&gt;
[ ] Excess probation permissions removed&lt;br /&gt;
[ ] Required credentials generated securely&lt;br /&gt;
[ ] TLS and SASL verified&lt;br /&gt;
[ ] Additional authentication enabled where available&lt;br /&gt;
[ ] Logging confirmed&lt;br /&gt;
[ ] Emergency contacts confirmed&lt;br /&gt;
[ ] Staff channels updated&lt;br /&gt;
[ ] Documentation access updated&lt;br /&gt;
[ ] Next access-review date scheduled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 37. Staff Announcement =&lt;br /&gt;
&lt;br /&gt;
If an appointment is announced publicly, the notice should include only:&lt;br /&gt;
&lt;br /&gt;
* Staff nickname or approved identity.&lt;br /&gt;
* Assigned DWIRC role.&lt;br /&gt;
* Relevant official team.&lt;br /&gt;
* Effective date.&lt;br /&gt;
* Appropriate welcome message.&lt;br /&gt;
&lt;br /&gt;
It should not disclose:&lt;br /&gt;
&lt;br /&gt;
* Private evaluation scores.&lt;br /&gt;
* Personal information.&lt;br /&gt;
* Credentials.&lt;br /&gt;
* Restricted access details.&lt;br /&gt;
* Internal concerns.&lt;br /&gt;
* Confidential training records.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DarkWorld IRC welcomes ExampleNick as a member of the Support Team following successful completion of the staff training and probation process.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 38. Post-Appointment Review =&lt;br /&gt;
&lt;br /&gt;
A newly appointed staff member should receive an additional review after approximately &#039;&#039;&#039;90 days&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The review should consider:&lt;br /&gt;
&lt;br /&gt;
* Performance after supervision was reduced.&lt;br /&gt;
* Continued security compliance.&lt;br /&gt;
* Use of access.&lt;br /&gt;
* User and staff feedback.&lt;br /&gt;
* Documentation quality.&lt;br /&gt;
* Activity.&lt;br /&gt;
* Training needs.&lt;br /&gt;
* Whether permissions remain appropriate.&lt;br /&gt;
* Suitability for specialist training.&lt;br /&gt;
&lt;br /&gt;
Permanent appointment does not end accountability or access review.&lt;br /&gt;
&lt;br /&gt;
= 39. Specialist Development =&lt;br /&gt;
&lt;br /&gt;
After successful appointment, staff may be considered for specialist programs such as:&lt;br /&gt;
&lt;br /&gt;
* IRC Operator Program.&lt;br /&gt;
* Services Administration.&lt;br /&gt;
* IRCd Administration.&lt;br /&gt;
* Policy and Compliance.&lt;br /&gt;
* Abuse and Security.&lt;br /&gt;
* Relay Compliance.&lt;br /&gt;
* Support Team Leadership.&lt;br /&gt;
&lt;br /&gt;
DWShells, DWBouncers, and other DarkWorld projects should maintain separate training and access processes.&lt;br /&gt;
&lt;br /&gt;
= 40. Candidate Acknowledgement =&lt;br /&gt;
&lt;br /&gt;
Before probation begins, the candidate should affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that probation is a supervised evaluation and does not guarantee&lt;br /&gt;
permanent staff appointment.&lt;br /&gt;
&lt;br /&gt;
I will use only the permissions listed in my written access plan.&lt;br /&gt;
&lt;br /&gt;
I will report mistakes, security concerns, credential exposure, and conflicts&lt;br /&gt;
of interest promptly.&lt;br /&gt;
&lt;br /&gt;
I will protect user information, staff communications, incident evidence, and&lt;br /&gt;
all other confidential information.&lt;br /&gt;
&lt;br /&gt;
I understand that my access may be restricted, suspended, or removed when&lt;br /&gt;
necessary to protect DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Probationary role:&lt;br /&gt;
Start date:&lt;br /&gt;
Mentor:&lt;br /&gt;
Management approver:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 41. Program Completion =&lt;br /&gt;
&lt;br /&gt;
The DarkWorld IRC Staff Training Program is considered successfully completed when:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Modules 1–10 completed&lt;br /&gt;
[ ] Staff Code of Conduct accepted&lt;br /&gt;
[ ] Security Declaration accepted&lt;br /&gt;
[ ] Final Written Examination passed&lt;br /&gt;
[ ] Final Practical Assessment passed&lt;br /&gt;
[ ] Trainee Evaluation passed&lt;br /&gt;
[ ] Probation completed&lt;br /&gt;
[ ] Final review approved&lt;br /&gt;
[ ] Permanent role defined&lt;br /&gt;
[ ] Access approved and recorded&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 42. Related Pages =&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training Program|Program Overview]]&lt;br /&gt;
* [[DWIRC:Staff Training/Code of Conduct|Staff Code of Conduct]]&lt;br /&gt;
* [[DWIRC:Staff Training/Final Examination|Final Written Examination]]&lt;br /&gt;
* [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
* [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRC Operator Program|IRC Operator Specialist Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/Services Administration|Services Administration Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRCd Administration|IRCd Administration Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/Policy and Compliance|Policy and Compliance Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/Abuse and Security|Abuse and Security Program]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Probationary Staff]]&lt;br /&gt;
[[Category:Staff Evaluation]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Trainee_Evaluation&amp;diff=408</id>
		<title>DWIRC:Staff Training/Trainee Evaluation</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Trainee_Evaluation&amp;diff=408"/>
		<updated>2026-08-08T18:23:45Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Trainee Evaluation&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Trainee Evaluation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Supervised Trainee Evaluation&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Stage&lt;br /&gt;
| Supervised IRC Trainee&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 2–4 weeks&lt;br /&gt;
|-&lt;br /&gt;
! Minimum recommended observation&lt;br /&gt;
| 14 days&lt;br /&gt;
|-&lt;br /&gt;
! Recommended evaluation score&lt;br /&gt;
| 80%&lt;br /&gt;
|-&lt;br /&gt;
! Supervision&lt;br /&gt;
| Assigned mentor or authorized senior staff&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisites&lt;br /&gt;
| Core modules, Code of Conduct, written examination, and practical assessment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Trainee Evaluation allows a successful candidate to demonstrate reliability, judgment, communication, and conduct through supervised participation in real DarkWorld IRC activities.&lt;br /&gt;
&lt;br /&gt;
The trainee stage is not a staff appointment and does not guarantee progression to probation.&lt;br /&gt;
&lt;br /&gt;
During this stage, the candidate should perform only approved, low-risk duties while an assigned mentor reviews:&lt;br /&gt;
&lt;br /&gt;
* User support.&lt;br /&gt;
* Communication.&lt;br /&gt;
* Policy knowledge.&lt;br /&gt;
* Moderation judgment.&lt;br /&gt;
* Incident awareness.&lt;br /&gt;
* Documentation.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Security.&lt;br /&gt;
* Team cooperation.&lt;br /&gt;
* Acceptance of correction.&lt;br /&gt;
&lt;br /&gt;
= 2. Entry Requirements =&lt;br /&gt;
&lt;br /&gt;
Before entering the trainee stage, the candidate must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Completed Modules 1–10&lt;br /&gt;
[ ] Accepted the Staff Code of Conduct&lt;br /&gt;
[ ] Accepted the Security Declaration&lt;br /&gt;
[ ] Passed the Final Written Examination&lt;br /&gt;
[ ] Passed the Final Practical Assessment&lt;br /&gt;
[ ] Passed all mandatory security competencies&lt;br /&gt;
[ ] Received a recommended trainee role&lt;br /&gt;
[ ] Received management approval&lt;br /&gt;
[ ] Been assigned a mentor&lt;br /&gt;
[ ] Been informed of allowed and prohibited duties&lt;br /&gt;
[ ] Received a trainee reference number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3. Trainee Status =&lt;br /&gt;
&lt;br /&gt;
A trainee is:&lt;br /&gt;
&lt;br /&gt;
* A candidate under supervised evaluation.&lt;br /&gt;
* Permitted to assist with specified duties.&lt;br /&gt;
* Required to follow mentor instructions.&lt;br /&gt;
* Required to identify themselves accurately.&lt;br /&gt;
* Subject to the Staff Code of Conduct.&lt;br /&gt;
* Not guaranteed a permanent role.&lt;br /&gt;
* Not authorized beyond the recorded trainee permissions.&lt;br /&gt;
&lt;br /&gt;
A trainee must not claim to be:&lt;br /&gt;
&lt;br /&gt;
* A permanent staff member.&lt;br /&gt;
* An IRC operator.&lt;br /&gt;
* A Services Administrator.&lt;br /&gt;
* An IRCd administrator.&lt;br /&gt;
* A representative of every DarkWorld project.&lt;br /&gt;
* Authorized to make final policy decisions.&lt;br /&gt;
&lt;br /&gt;
= 4. Recommended Duration =&lt;br /&gt;
&lt;br /&gt;
The normal trainee period should last approximately &#039;&#039;&#039;2–4 weeks&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A minimum observation period of &#039;&#039;&#039;14 days&#039;&#039;&#039; is recommended so that the candidate can be evaluated across different situations.&lt;br /&gt;
&lt;br /&gt;
Management may:&lt;br /&gt;
&lt;br /&gt;
* Extend the trainee period.&lt;br /&gt;
* Pause it during prolonged inactivity.&lt;br /&gt;
* Shorten it only where sufficient evidence exists.&lt;br /&gt;
* Require remediation.&lt;br /&gt;
* End it early for serious concerns.&lt;br /&gt;
* Move a candidate to another suitable trainee path.&lt;br /&gt;
&lt;br /&gt;
Completing a certain number of days does not automatically mean the trainee has passed.&lt;br /&gt;
&lt;br /&gt;
= 5. Trainee Roles =&lt;br /&gt;
&lt;br /&gt;
A candidate may be assigned one or more limited trainee paths.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Trainee path&lt;br /&gt;
! Typical supervised duties&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Support Trainee&#039;&#039;&#039;&lt;br /&gt;
| Connection help, NickServ guidance, basic ChanServ assistance, documentation links&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Moderation Trainee&#039;&#039;&#039;&lt;br /&gt;
| Observing channel moderation, preparing warnings, recommending proportionate action&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Policy Trainee&#039;&#039;&#039;&lt;br /&gt;
| Providing public policy links, preparing case summaries, observing application reviews&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Relay Compliance Trainee&#039;&#039;&#039;&lt;br /&gt;
| Recording possible relays, checking public status, preparing supervised follow-up&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Services Support Trainee&#039;&#039;&#039;&lt;br /&gt;
| Normal Services help, account troubleshooting, escalation preparation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Incident Response Trainee&#039;&#039;&#039;&lt;br /&gt;
| Timelines, evidence records, handovers, and observation during incidents&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Operator Candidate&#039;&#039;&#039;&lt;br /&gt;
| Operator simulations and observation without independent production access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The assigned path should reflect:&lt;br /&gt;
&lt;br /&gt;
* Candidate interests.&lt;br /&gt;
* Assessment results.&lt;br /&gt;
* Network needs.&lt;br /&gt;
* Security readiness.&lt;br /&gt;
* Available mentors.&lt;br /&gt;
* Areas requiring further observation.&lt;br /&gt;
&lt;br /&gt;
= 6. Mentor Assignment =&lt;br /&gt;
&lt;br /&gt;
Every trainee must have an assigned mentor.&lt;br /&gt;
&lt;br /&gt;
The mentor should:&lt;br /&gt;
&lt;br /&gt;
* Explain the trainee’s role.&lt;br /&gt;
* Set permitted duties.&lt;br /&gt;
* Observe support interactions.&lt;br /&gt;
* Review recommendations before high-impact actions.&lt;br /&gt;
* Correct unsafe behavior.&lt;br /&gt;
* Review logs and reports.&lt;br /&gt;
* Conduct weekly evaluations.&lt;br /&gt;
* Identify training needs.&lt;br /&gt;
* Report serious concerns.&lt;br /&gt;
* Recommend advancement, extension, reassignment, or removal.&lt;br /&gt;
&lt;br /&gt;
Where practical, a mentor should supervise no more trainees than they can evaluate meaningfully.&lt;br /&gt;
&lt;br /&gt;
= 7. Secondary Reviewer =&lt;br /&gt;
&lt;br /&gt;
A secondary reviewer is recommended to:&lt;br /&gt;
&lt;br /&gt;
* Reduce personal bias.&lt;br /&gt;
* Review borderline cases.&lt;br /&gt;
* Observe at least one trainee session.&lt;br /&gt;
* Review serious concerns.&lt;br /&gt;
* Confirm final recommendations.&lt;br /&gt;
* Provide independent feedback.&lt;br /&gt;
&lt;br /&gt;
A close friend should not be the sole person responsible for approving a candidate.&lt;br /&gt;
&lt;br /&gt;
= 8. Trainee Access Principle =&lt;br /&gt;
&lt;br /&gt;
Trainees should receive the minimum access needed for approved exercises.&lt;br /&gt;
&lt;br /&gt;
Possible access may include:&lt;br /&gt;
&lt;br /&gt;
* Public IRC channels.&lt;br /&gt;
* A training channel.&lt;br /&gt;
* A trainee coordination channel.&lt;br /&gt;
* Public policy information.&lt;br /&gt;
* Approved documentation.&lt;br /&gt;
* Limited case templates.&lt;br /&gt;
* Read-only or observation access where specifically approved.&lt;br /&gt;
&lt;br /&gt;
Trainees should normally not receive:&lt;br /&gt;
&lt;br /&gt;
* IRC operator credentials.&lt;br /&gt;
* OperServ access.&lt;br /&gt;
* IRCd configuration access.&lt;br /&gt;
* Server root or shell access.&lt;br /&gt;
* Services database access.&lt;br /&gt;
* Advertising approval permissions.&lt;br /&gt;
* Relay enforcement permissions.&lt;br /&gt;
* Production API tokens.&lt;br /&gt;
* Unrestricted abuse evidence.&lt;br /&gt;
* Access to unrelated DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
= 9. Allowed Trainee Duties =&lt;br /&gt;
&lt;br /&gt;
Subject to the assigned role, a trainee may:&lt;br /&gt;
&lt;br /&gt;
* Welcome users.&lt;br /&gt;
* Answer basic IRC questions.&lt;br /&gt;
* Explain secure connection settings.&lt;br /&gt;
* Provide official documentation links.&lt;br /&gt;
* Explain public NickServ and ChanServ commands.&lt;br /&gt;
* Help users interpret non-sensitive errors.&lt;br /&gt;
* Prepare support escalation summaries.&lt;br /&gt;
* Observe moderation.&lt;br /&gt;
* Draft warnings for mentor approval.&lt;br /&gt;
* Recommend channel actions.&lt;br /&gt;
* Prepare incident timelines.&lt;br /&gt;
* Record publicly observed relay information.&lt;br /&gt;
* Assist with documentation updates.&lt;br /&gt;
* Shadow experienced staff.&lt;br /&gt;
* Participate in approved simulations.&lt;br /&gt;
* Report possible security issues.&lt;br /&gt;
&lt;br /&gt;
All activity remains subject to supervision.&lt;br /&gt;
&lt;br /&gt;
= 10. Prohibited Trainee Actions =&lt;br /&gt;
&lt;br /&gt;
Unless separately and explicitly authorized, a trainee must not:&lt;br /&gt;
&lt;br /&gt;
* Use IRC operator commands.&lt;br /&gt;
* Apply network-wide bans.&lt;br /&gt;
* Use OperOverride.&lt;br /&gt;
* Use SAMODE or forced modes.&lt;br /&gt;
* Use OperServ administrative commands.&lt;br /&gt;
* Suspend accounts or channels.&lt;br /&gt;
* Change channel founders.&lt;br /&gt;
* Drop registered accounts or channels.&lt;br /&gt;
* Approve or reject advertising applications.&lt;br /&gt;
* Approve, suspend, or remove relays.&lt;br /&gt;
* Access confidential server logs.&lt;br /&gt;
* Access hidden user information.&lt;br /&gt;
* Modify IRCd or Services configuration.&lt;br /&gt;
* Access production servers.&lt;br /&gt;
* Share staff-channel information.&lt;br /&gt;
* Represent recommendations as final decisions.&lt;br /&gt;
* Conduct unsupervised confidential investigations.&lt;br /&gt;
* Grant staff or project access.&lt;br /&gt;
* Test dangerous commands against real users.&lt;br /&gt;
&lt;br /&gt;
= 11. Supervision Levels =&lt;br /&gt;
&lt;br /&gt;
A trainee task may be assigned one of three supervision levels.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Observe&#039;&#039;&#039;&lt;br /&gt;
| Trainee watches but does not act&lt;br /&gt;
| Observe a Services ownership review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Prepare&#039;&#039;&#039;&lt;br /&gt;
| Trainee drafts a response or recommendation for approval&lt;br /&gt;
| Draft a warning or escalation summary&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Perform&#039;&#039;&#039;&lt;br /&gt;
| Trainee completes a specifically approved low-risk task&lt;br /&gt;
| Provide connection settings in `#Help`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The mentor should record which duties are approved at each level.&lt;br /&gt;
&lt;br /&gt;
= 12. Trainee Identification =&lt;br /&gt;
&lt;br /&gt;
Trainees must describe their role accurately.&lt;br /&gt;
&lt;br /&gt;
Appropriate wording:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am a supervised DarkWorld IRC trainee. I can help collect the details and refer this to the authorized team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inappropriate wording:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am an IRC administrator.&lt;br /&gt;
I can guarantee your application will be approved.&lt;br /&gt;
I will permanently ban them.&lt;br /&gt;
I control all DarkWorld projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trainee status should not be used to intimidate users.&lt;br /&gt;
&lt;br /&gt;
= 13. Daily Activity Record =&lt;br /&gt;
&lt;br /&gt;
The trainee should maintain a simple activity record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date:&lt;br /&gt;
Start and end time:&lt;br /&gt;
Channels attended:&lt;br /&gt;
Support cases handled:&lt;br /&gt;
Documentation provided:&lt;br /&gt;
Cases escalated:&lt;br /&gt;
Moderation observed:&lt;br /&gt;
Reports prepared:&lt;br /&gt;
Mentor consulted:&lt;br /&gt;
Mistakes or corrections:&lt;br /&gt;
Unresolved items:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The record should not contain passwords, unnecessary IP addresses, or unrestricted private evidence.&lt;br /&gt;
&lt;br /&gt;
= 14. Support Case Record =&lt;br /&gt;
&lt;br /&gt;
For each significant support case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Channel:&lt;br /&gt;
User nickname:&lt;br /&gt;
Issue category:&lt;br /&gt;
User’s goal:&lt;br /&gt;
Relevant non-sensitive details:&lt;br /&gt;
Guidance provided:&lt;br /&gt;
Result:&lt;br /&gt;
Escalation:&lt;br /&gt;
Mentor review:&lt;br /&gt;
Documentation improvement suggested:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Routine greetings and very simple answers do not require full case reports unless the mentor requests them.&lt;br /&gt;
&lt;br /&gt;
= 15. Moderation Observation Record =&lt;br /&gt;
&lt;br /&gt;
When observing moderation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Channel:&lt;br /&gt;
Behavior observed:&lt;br /&gt;
Applicable rule:&lt;br /&gt;
Was a warning appropriate?&lt;br /&gt;
Action recommended by trainee:&lt;br /&gt;
Action taken by authorized staff:&lt;br /&gt;
Difference between recommendation and action:&lt;br /&gt;
Users affected:&lt;br /&gt;
Evidence preserved:&lt;br /&gt;
What the trainee learned:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The trainee should compare their recommendation with the authorized staff decision.&lt;br /&gt;
&lt;br /&gt;
= 16. Incident Observation Record =&lt;br /&gt;
&lt;br /&gt;
For a significant incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Incident reference:&lt;br /&gt;
Date and time:&lt;br /&gt;
Initial severity:&lt;br /&gt;
Affected channels or services:&lt;br /&gt;
Confirmed facts:&lt;br /&gt;
User reports:&lt;br /&gt;
Trainee task:&lt;br /&gt;
Incident lead:&lt;br /&gt;
Actions observed:&lt;br /&gt;
Evidence prepared:&lt;br /&gt;
Handover completed:&lt;br /&gt;
Recovery observed:&lt;br /&gt;
Follow-up lesson:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trainees must not keep private copies of restricted evidence after the approved task ends.&lt;br /&gt;
&lt;br /&gt;
= 17. Expected Support Performance =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Acknowledge users promptly where possible.&lt;br /&gt;
* Ask useful questions.&lt;br /&gt;
* Avoid assuming user error.&lt;br /&gt;
* Give clear and safe instructions.&lt;br /&gt;
* Use current official information.&lt;br /&gt;
* Protect credentials.&lt;br /&gt;
* Respect language differences.&lt;br /&gt;
* Confirm outcomes.&lt;br /&gt;
* Escalate unresolved cases.&lt;br /&gt;
* Avoid making unauthorized promises.&lt;br /&gt;
&lt;br /&gt;
= 18. Expected Moderation Judgment =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Identify the applicable rule.&lt;br /&gt;
* Distinguish channel and network authority.&lt;br /&gt;
* Recommend proportionate action.&lt;br /&gt;
* Consider innocent users.&lt;br /&gt;
* Recognize shared hosts.&lt;br /&gt;
* Avoid retaliatory responses.&lt;br /&gt;
* Preserve relevant evidence.&lt;br /&gt;
* Use professional reasons.&lt;br /&gt;
* Recommend review dates.&lt;br /&gt;
* Request higher authority when required.&lt;br /&gt;
&lt;br /&gt;
= 19. Expected Incident Performance =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Recognize serious incidents.&lt;br /&gt;
* Assign a reasonable initial severity.&lt;br /&gt;
* Identify ongoing harm.&lt;br /&gt;
* Notify appropriate staff.&lt;br /&gt;
* Follow the incident lead.&lt;br /&gt;
* Maintain accurate timestamps.&lt;br /&gt;
* Separate facts from allegations.&lt;br /&gt;
* Protect restricted evidence.&lt;br /&gt;
* Prepare useful handovers.&lt;br /&gt;
* Assist with recovery and review.&lt;br /&gt;
&lt;br /&gt;
= 20. Expected Security Conduct =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Use TLS and SASL.&lt;br /&gt;
* Protect their NickServ account.&lt;br /&gt;
* Use unique credentials.&lt;br /&gt;
* Secure their device.&lt;br /&gt;
* Avoid untrusted scripts.&lt;br /&gt;
* Recognize phishing.&lt;br /&gt;
* Report exposed credentials.&lt;br /&gt;
* Avoid accessing information without need.&lt;br /&gt;
* Maintain staff-channel confidentiality.&lt;br /&gt;
* Report security concerns promptly.&lt;br /&gt;
&lt;br /&gt;
= 21. Expected Team Conduct =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Accept correction professionally.&lt;br /&gt;
* Ask questions when uncertain.&lt;br /&gt;
* Avoid public staff disagreements.&lt;br /&gt;
* Follow the mentor and incident lead.&lt;br /&gt;
* Complete assigned records.&lt;br /&gt;
* Be honest about mistakes.&lt;br /&gt;
* Meet reasonable activity expectations.&lt;br /&gt;
* Communicate absence.&lt;br /&gt;
* Respect other teams.&lt;br /&gt;
* Avoid gossip and favoritism.&lt;br /&gt;
&lt;br /&gt;
= 22. Weekly Evaluation =&lt;br /&gt;
&lt;br /&gt;
The mentor should complete a review at the end of each training week.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Weight&lt;br /&gt;
|-&lt;br /&gt;
| User support and communication&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| IRC and Services knowledge&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Policy understanding&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Moderation judgment&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Incident awareness&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Privacy and security&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Documentation&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Reliability and activity&lt;br /&gt;
| 5%&lt;br /&gt;
|-&lt;br /&gt;
| Teamwork and acceptance of feedback&lt;br /&gt;
| 10%&lt;br /&gt;
! Total&lt;br /&gt;
| 100%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 23. Weekly Scoring Scale =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Score&lt;br /&gt;
! Rating&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 90–100&lt;br /&gt;
| Excellent&lt;br /&gt;
| Consistently safe, accurate, reliable, and professional&lt;br /&gt;
|-&lt;br /&gt;
| 80–89&lt;br /&gt;
| Ready&lt;br /&gt;
| Meets trainee expectations with minor improvement areas&lt;br /&gt;
|-&lt;br /&gt;
| 70–79&lt;br /&gt;
| Developing&lt;br /&gt;
| Additional supervision and practice required&lt;br /&gt;
|-&lt;br /&gt;
| 60–69&lt;br /&gt;
| Concern&lt;br /&gt;
| Significant weaknesses require remediation&lt;br /&gt;
|-&lt;br /&gt;
| Below 60&lt;br /&gt;
| Unsatisfactory&lt;br /&gt;
| Candidate is not currently ready for live trainee duties&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Security, integrity, retaliation, and confidentiality concerns must be assessed separately from the numerical score.&lt;br /&gt;
&lt;br /&gt;
= 24. Weekly Review Form =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRAINEE WEEKLY REVIEW&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Trainee path:&lt;br /&gt;
Week number:&lt;br /&gt;
Review period:&lt;br /&gt;
Mentor:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
&lt;br /&gt;
User support and communication:         /15&lt;br /&gt;
IRC and Services knowledge:             /10&lt;br /&gt;
Policy understanding:                   /10&lt;br /&gt;
Moderation judgment:                    /15&lt;br /&gt;
Incident awareness:                     /10&lt;br /&gt;
Privacy and security:                   /15&lt;br /&gt;
Documentation:                          /10&lt;br /&gt;
Reliability and activity:                /5&lt;br /&gt;
Teamwork and feedback:                  /10&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                  /100&lt;br /&gt;
&lt;br /&gt;
Cases handled:&lt;br /&gt;
Exercises completed:&lt;br /&gt;
Positive observations:&lt;br /&gt;
Mistakes:&lt;br /&gt;
Corrections completed:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Modules to review:&lt;br /&gt;
Duties approved for next week:&lt;br /&gt;
Duties still prohibited:&lt;br /&gt;
Candidate comments:&lt;br /&gt;
Mentor recommendation:&lt;br /&gt;
Next review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 25. Mentor Feedback =&lt;br /&gt;
&lt;br /&gt;
Feedback should be:&lt;br /&gt;
&lt;br /&gt;
* Specific.&lt;br /&gt;
* Based on observed behavior.&lt;br /&gt;
* Timely.&lt;br /&gt;
* Respectful.&lt;br /&gt;
* Actionable.&lt;br /&gt;
* Connected to policy or procedure.&lt;br /&gt;
* Recorded for important concerns.&lt;br /&gt;
&lt;br /&gt;
Good feedback:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
During the SASL case, you correctly avoided requesting the password. However, you provided several steps at once. Next time, first confirm TLS and the registered account name, then test one change.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poor feedback:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You are bad at support.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 26. Candidate Response to Feedback =&lt;br /&gt;
&lt;br /&gt;
The trainee should:&lt;br /&gt;
&lt;br /&gt;
* Listen carefully.&lt;br /&gt;
* Ask for clarification.&lt;br /&gt;
* Avoid becoming defensive.&lt;br /&gt;
* Correct factual misunderstandings respectfully.&lt;br /&gt;
* Complete assigned remediation.&lt;br /&gt;
* Record what they learned.&lt;br /&gt;
* Demonstrate improvement.&lt;br /&gt;
&lt;br /&gt;
A candidate may request review if they believe feedback is unfair, but must use the approved process.&lt;br /&gt;
&lt;br /&gt;
= 27. Mistakes During Training =&lt;br /&gt;
&lt;br /&gt;
A mistake does not automatically end the trainee period.&lt;br /&gt;
&lt;br /&gt;
The mentor should consider:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Whether the action was authorized.&lt;br /&gt;
* Harm caused.&lt;br /&gt;
* Whether the trainee reported it.&lt;br /&gt;
* Whether it was corrected.&lt;br /&gt;
* Whether the trainee understood the cause.&lt;br /&gt;
* Whether it was repeated.&lt;br /&gt;
* Whether dishonesty or retaliation occurred.&lt;br /&gt;
&lt;br /&gt;
A trainee who honestly reports and corrects a minor mistake may continue.&lt;br /&gt;
&lt;br /&gt;
A trainee who conceals, repeats, or intentionally causes serious harm may be removed.&lt;br /&gt;
&lt;br /&gt;
= 28. Immediate Suspension Conditions =&lt;br /&gt;
&lt;br /&gt;
Trainee duties should be paused immediately when there is:&lt;br /&gt;
&lt;br /&gt;
* Credential sharing.&lt;br /&gt;
* Intentional privacy exposure.&lt;br /&gt;
* Unauthorized operator or Services action.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Evidence falsification.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Malicious activity.&lt;br /&gt;
* Unauthorized production-system access.&lt;br /&gt;
* Refusal to stop an unsafe action.&lt;br /&gt;
* Serious harassment.&lt;br /&gt;
* Sharing restricted staff information.&lt;br /&gt;
* Attempted approval manipulation.&lt;br /&gt;
&lt;br /&gt;
Suspension protects the network while the matter is reviewed.&lt;br /&gt;
&lt;br /&gt;
= 29. Inactivity =&lt;br /&gt;
&lt;br /&gt;
A trainee should inform their mentor when unable to participate.&lt;br /&gt;
&lt;br /&gt;
The trainee period may be paused when:&lt;br /&gt;
&lt;br /&gt;
* The candidate is absent for an extended period.&lt;br /&gt;
* The mentor is unavailable.&lt;br /&gt;
* The network cannot provide safe supervision.&lt;br /&gt;
* A relevant project or system is under maintenance.&lt;br /&gt;
* An investigation is pending.&lt;br /&gt;
&lt;br /&gt;
Inactivity alone is not misconduct, but insufficient observation may prevent advancement.&lt;br /&gt;
&lt;br /&gt;
= 30. Required Trainee Experiences =&lt;br /&gt;
&lt;br /&gt;
Before completing the trainee stage, the candidate should have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Assisted with at least five support cases&lt;br /&gt;
[ ] Completed at least two Services support cases&lt;br /&gt;
[ ] Prepared at least two escalation summaries&lt;br /&gt;
[ ] Observed at least three moderation cases&lt;br /&gt;
[ ] Drafted at least two professional warnings&lt;br /&gt;
[ ] Completed at least one moderation record&lt;br /&gt;
[ ] Participated in at least one incident simulation or real supervised incident&lt;br /&gt;
[ ] Prepared at least one incident timeline&lt;br /&gt;
[ ] Completed one incident handover&lt;br /&gt;
[ ] Demonstrated project-boundary awareness&lt;br /&gt;
[ ] Demonstrated safe credential handling&lt;br /&gt;
[ ] Received at least two mentor reviews&lt;br /&gt;
[ ] Received one secondary-review observation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Real incidents are not required if suitable simulations are available.&lt;br /&gt;
&lt;br /&gt;
= 31. Final Trainee Evaluation =&lt;br /&gt;
&lt;br /&gt;
At the end of the trainee period, the mentor should complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FINAL TRAINEE EVALUATION&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Trainee reference:&lt;br /&gt;
Trainee path:&lt;br /&gt;
Start date:&lt;br /&gt;
End date:&lt;br /&gt;
Total observed days:&lt;br /&gt;
Mentor:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
&lt;br /&gt;
Support cases completed:&lt;br /&gt;
Services cases completed:&lt;br /&gt;
Moderation cases observed:&lt;br /&gt;
Incident exercises completed:&lt;br /&gt;
Reports completed:&lt;br /&gt;
Documentation contributions:&lt;br /&gt;
&lt;br /&gt;
Average weekly score:&lt;br /&gt;
Final evaluation score:&lt;br /&gt;
&lt;br /&gt;
Mandatory security competencies passed: Yes / No&lt;br /&gt;
Code of Conduct maintained: Yes / No&lt;br /&gt;
Confidentiality maintained: Yes / No&lt;br /&gt;
Conflicts disclosed: Yes / No&lt;br /&gt;
Required experiences completed: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strengths:&lt;br /&gt;
Weaknesses:&lt;br /&gt;
Unresolved concerns:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Recommended role:&lt;br /&gt;
Recommended permissions:&lt;br /&gt;
Explicitly excluded permissions:&lt;br /&gt;
Recommended probation duration:&lt;br /&gt;
Recommended mentor:&lt;br /&gt;
Final recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 32. Final Evaluation Outcomes =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Outcome&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ADVANCE TO PROBATION&#039;&#039;&#039;&lt;br /&gt;
| Candidate is ready for limited probationary duties&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXTEND TRAINEE PERIOD&#039;&#039;&#039;&lt;br /&gt;
| More observation is required&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REMEDIATION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Specific modules or skills must be repeated&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REASSIGN TRAINEE PATH&#039;&#039;&#039;&lt;br /&gt;
| Candidate may be better suited to another role&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAUSE&#039;&#039;&#039;&lt;br /&gt;
| Evaluation cannot continue currently&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;END CANDIDACY&#039;&#039;&#039;&lt;br /&gt;
| Candidate is not suitable for progression&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 33. Advancement Requirements =&lt;br /&gt;
&lt;br /&gt;
To advance to probation, the candidate should:&lt;br /&gt;
&lt;br /&gt;
* Achieve an average trainee score of at least &#039;&#039;&#039;80%&#039;&#039;&#039;.&lt;br /&gt;
* Complete required trainee experiences.&lt;br /&gt;
* Demonstrate safe credential handling.&lt;br /&gt;
* Maintain confidentiality.&lt;br /&gt;
* Follow project boundaries.&lt;br /&gt;
* Accept mentor feedback.&lt;br /&gt;
* Show reliable participation.&lt;br /&gt;
* Demonstrate proportionate judgment.&lt;br /&gt;
* Have no unresolved serious conduct concern.&lt;br /&gt;
* Receive mentor recommendation.&lt;br /&gt;
* Receive secondary review.&lt;br /&gt;
* Receive management approval.&lt;br /&gt;
&lt;br /&gt;
A numerical score alone does not override a serious security or integrity concern.&lt;br /&gt;
&lt;br /&gt;
= 34. Access Recommendation for Probation =&lt;br /&gt;
&lt;br /&gt;
Before probation, define:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Probationary role:&lt;br /&gt;
Operational purpose:&lt;br /&gt;
Approved channels:&lt;br /&gt;
Approved commands:&lt;br /&gt;
Approved systems:&lt;br /&gt;
Read-only access:&lt;br /&gt;
Action requiring mentor approval:&lt;br /&gt;
Prohibited commands:&lt;br /&gt;
Prohibited systems:&lt;br /&gt;
Logging requirements:&lt;br /&gt;
Mentor:&lt;br /&gt;
Backup mentor:&lt;br /&gt;
Start date:&lt;br /&gt;
Review date:&lt;br /&gt;
End date:&lt;br /&gt;
Management approval:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No undefined or “all access” permission should be granted to a probationary staff member.&lt;br /&gt;
&lt;br /&gt;
= 35. Candidate Acknowledgement =&lt;br /&gt;
&lt;br /&gt;
Before entering probation, the candidate should affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that my trainee evaluation does not guarantee permanent staff&lt;br /&gt;
appointment.&lt;br /&gt;
&lt;br /&gt;
I agree to use only the permissions explicitly assigned to my probationary&lt;br /&gt;
role.&lt;br /&gt;
&lt;br /&gt;
I will continue to follow the DarkWorld IRC Staff Code of Conduct, protect&lt;br /&gt;
confidential information, report mistakes, and accept supervision.&lt;br /&gt;
&lt;br /&gt;
I understand that access may be reduced, suspended, or removed to protect&lt;br /&gt;
the network.&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Date:&lt;br /&gt;
Mentor:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 36. Next Step =&lt;br /&gt;
&lt;br /&gt;
Candidates approved for advancement proceed to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Probation|DarkWorld IRC Probationary Staff Program]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Probation|Probationary Staff Program]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Trainees]]&lt;br /&gt;
[[Category:Staff Evaluation]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Trainee_Evaluation&amp;diff=407</id>
		<title>DWIRC:Staff Training/Trainee Evaluation</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Trainee_Evaluation&amp;diff=407"/>
		<updated>2026-08-08T18:23:19Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Trainee Evaluation}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Supervised Trainee Evaluation&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Stage | Supervis...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Trainee Evaluation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Supervised Trainee Evaluation&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Stage&lt;br /&gt;
| Supervised IRC Trainee&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 2–4 weeks&lt;br /&gt;
|-&lt;br /&gt;
! Minimum recommended observation&lt;br /&gt;
| 14 days&lt;br /&gt;
|-&lt;br /&gt;
! Recommended evaluation score&lt;br /&gt;
| 80%&lt;br /&gt;
|-&lt;br /&gt;
! Supervision&lt;br /&gt;
| Assigned mentor or authorized senior staff&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisites&lt;br /&gt;
| Core modules, Code of Conduct, written examination, and practical assessment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Trainee Evaluation allows a successful candidate to demonstrate reliability, judgment, communication, and conduct through supervised participation in real DarkWorld IRC activities.&lt;br /&gt;
&lt;br /&gt;
The trainee stage is not a staff appointment and does not guarantee progression to probation.&lt;br /&gt;
&lt;br /&gt;
During this stage, the candidate should perform only approved, low-risk duties while an assigned mentor reviews:&lt;br /&gt;
&lt;br /&gt;
* User support.&lt;br /&gt;
* Communication.&lt;br /&gt;
* Policy knowledge.&lt;br /&gt;
* Moderation judgment.&lt;br /&gt;
* Incident awareness.&lt;br /&gt;
* Documentation.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Security.&lt;br /&gt;
* Team cooperation.&lt;br /&gt;
* Acceptance of correction.&lt;br /&gt;
&lt;br /&gt;
= 2. Entry Requirements =&lt;br /&gt;
&lt;br /&gt;
Before entering the trainee stage, the candidate must have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Completed Modules 1–10&lt;br /&gt;
[ ] Accepted the Staff Code of Conduct&lt;br /&gt;
[ ] Accepted the Security Declaration&lt;br /&gt;
[ ] Passed the Final Written Examination&lt;br /&gt;
[ ] Passed the Final Practical Assessment&lt;br /&gt;
[ ] Passed all mandatory security competencies&lt;br /&gt;
[ ] Received a recommended trainee role&lt;br /&gt;
[ ] Received management approval&lt;br /&gt;
[ ] Been assigned a mentor&lt;br /&gt;
[ ] Been informed of allowed and prohibited duties&lt;br /&gt;
[ ] Received a trainee reference number&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3. Trainee Status =&lt;br /&gt;
&lt;br /&gt;
A trainee is:&lt;br /&gt;
&lt;br /&gt;
* A candidate under supervised evaluation.&lt;br /&gt;
* Permitted to assist with specified duties.&lt;br /&gt;
* Required to follow mentor instructions.&lt;br /&gt;
* Required to identify themselves accurately.&lt;br /&gt;
* Subject to the Staff Code of Conduct.&lt;br /&gt;
* Not guaranteed a permanent role.&lt;br /&gt;
* Not authorized beyond the recorded trainee permissions.&lt;br /&gt;
&lt;br /&gt;
A trainee must not claim to be:&lt;br /&gt;
&lt;br /&gt;
* A permanent staff member.&lt;br /&gt;
* An IRC operator.&lt;br /&gt;
* A Services Administrator.&lt;br /&gt;
* An IRCd administrator.&lt;br /&gt;
* A representative of every DarkWorld project.&lt;br /&gt;
* Authorized to make final policy decisions.&lt;br /&gt;
&lt;br /&gt;
= 4. Recommended Duration =&lt;br /&gt;
&lt;br /&gt;
The normal trainee period should last approximately &#039;&#039;&#039;2–4 weeks&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A minimum observation period of &#039;&#039;&#039;14 days&#039;&#039;&#039; is recommended so that the candidate can be evaluated across different situations.&lt;br /&gt;
&lt;br /&gt;
Management may:&lt;br /&gt;
&lt;br /&gt;
* Extend the trainee period.&lt;br /&gt;
* Pause it during prolonged inactivity.&lt;br /&gt;
* Shorten it only where sufficient evidence exists.&lt;br /&gt;
* Require remediation.&lt;br /&gt;
* End it early for serious concerns.&lt;br /&gt;
* Move a candidate to another suitable trainee path.&lt;br /&gt;
&lt;br /&gt;
Completing a certain number of days does not automatically mean the trainee has passed.&lt;br /&gt;
&lt;br /&gt;
= 5. Trainee Roles =&lt;br /&gt;
&lt;br /&gt;
A candidate may be assigned one or more limited trainee paths.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Trainee path&lt;br /&gt;
! Typical supervised duties&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Support Trainee&#039;&#039;&#039;&lt;br /&gt;
| Connection help, NickServ guidance, basic ChanServ assistance, documentation links&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Moderation Trainee&#039;&#039;&#039;&lt;br /&gt;
| Observing channel moderation, preparing warnings, recommending proportionate action&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Policy Trainee&#039;&#039;&#039;&lt;br /&gt;
| Providing public policy links, preparing case summaries, observing application reviews&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Relay Compliance Trainee&#039;&#039;&#039;&lt;br /&gt;
| Recording possible relays, checking public status, preparing supervised follow-up&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Services Support Trainee&#039;&#039;&#039;&lt;br /&gt;
| Normal Services help, account troubleshooting, escalation preparation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Incident Response Trainee&#039;&#039;&#039;&lt;br /&gt;
| Timelines, evidence records, handovers, and observation during incidents&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Operator Candidate&#039;&#039;&#039;&lt;br /&gt;
| Operator simulations and observation without independent production access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The assigned path should reflect:&lt;br /&gt;
&lt;br /&gt;
* Candidate interests.&lt;br /&gt;
* Assessment results.&lt;br /&gt;
* Network needs.&lt;br /&gt;
* Security readiness.&lt;br /&gt;
* Available mentors.&lt;br /&gt;
* Areas requiring further observation.&lt;br /&gt;
&lt;br /&gt;
= 6. Mentor Assignment =&lt;br /&gt;
&lt;br /&gt;
Every trainee must have an assigned mentor.&lt;br /&gt;
&lt;br /&gt;
The mentor should:&lt;br /&gt;
&lt;br /&gt;
* Explain the trainee’s role.&lt;br /&gt;
* Set permitted duties.&lt;br /&gt;
* Observe support interactions.&lt;br /&gt;
* Review recommendations before high-impact actions.&lt;br /&gt;
* Correct unsafe behavior.&lt;br /&gt;
* Review logs and reports.&lt;br /&gt;
* Conduct weekly evaluations.&lt;br /&gt;
* Identify training needs.&lt;br /&gt;
* Report serious concerns.&lt;br /&gt;
* Recommend advancement, extension, reassignment, or removal.&lt;br /&gt;
&lt;br /&gt;
Where practical, a mentor should supervise no more trainees than they can evaluate meaningfully.&lt;br /&gt;
&lt;br /&gt;
= 7. Secondary Reviewer =&lt;br /&gt;
&lt;br /&gt;
A secondary reviewer is recommended to:&lt;br /&gt;
&lt;br /&gt;
* Reduce personal bias.&lt;br /&gt;
* Review borderline cases.&lt;br /&gt;
* Observe at least one trainee session.&lt;br /&gt;
* Review serious concerns.&lt;br /&gt;
* Confirm final recommendations.&lt;br /&gt;
* Provide independent feedback.&lt;br /&gt;
&lt;br /&gt;
A close friend should not be the sole person responsible for approving a candidate.&lt;br /&gt;
&lt;br /&gt;
= 8. Trainee Access Principle =&lt;br /&gt;
&lt;br /&gt;
Trainees should receive the minimum access needed for approved exercises.&lt;br /&gt;
&lt;br /&gt;
Possible access may include:&lt;br /&gt;
&lt;br /&gt;
* Public IRC channels.&lt;br /&gt;
* A training channel.&lt;br /&gt;
* A trainee coordination channel.&lt;br /&gt;
* Public policy information.&lt;br /&gt;
* Approved documentation.&lt;br /&gt;
* Limited case templates.&lt;br /&gt;
* Read-only or observation access where specifically approved.&lt;br /&gt;
&lt;br /&gt;
Trainees should normally not receive:&lt;br /&gt;
&lt;br /&gt;
* IRC operator credentials.&lt;br /&gt;
* OperServ access.&lt;br /&gt;
* IRCd configuration access.&lt;br /&gt;
* Server root or shell access.&lt;br /&gt;
* Services database access.&lt;br /&gt;
* Advertising approval permissions.&lt;br /&gt;
* Relay enforcement permissions.&lt;br /&gt;
* Production API tokens.&lt;br /&gt;
* Unrestricted abuse evidence.&lt;br /&gt;
* Access to unrelated DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
= 9. Allowed Trainee Duties =&lt;br /&gt;
&lt;br /&gt;
Subject to the assigned role, a trainee may:&lt;br /&gt;
&lt;br /&gt;
* Welcome users.&lt;br /&gt;
* Answer basic IRC questions.&lt;br /&gt;
* Explain secure connection settings.&lt;br /&gt;
* Provide official documentation links.&lt;br /&gt;
* Explain public NickServ and ChanServ commands.&lt;br /&gt;
* Help users interpret non-sensitive errors.&lt;br /&gt;
* Prepare support escalation summaries.&lt;br /&gt;
* Observe moderation.&lt;br /&gt;
* Draft warnings for mentor approval.&lt;br /&gt;
* Recommend channel actions.&lt;br /&gt;
* Prepare incident timelines.&lt;br /&gt;
* Record publicly observed relay information.&lt;br /&gt;
* Assist with documentation updates.&lt;br /&gt;
* Shadow experienced staff.&lt;br /&gt;
* Participate in approved simulations.&lt;br /&gt;
* Report possible security issues.&lt;br /&gt;
&lt;br /&gt;
All activity remains subject to supervision.&lt;br /&gt;
&lt;br /&gt;
= 10. Prohibited Trainee Actions =&lt;br /&gt;
&lt;br /&gt;
Unless separately and explicitly authorized, a trainee must not:&lt;br /&gt;
&lt;br /&gt;
* Use IRC operator commands.&lt;br /&gt;
* Apply network-wide bans.&lt;br /&gt;
* Use OperOverride.&lt;br /&gt;
* Use SAMODE or forced modes.&lt;br /&gt;
* Use OperServ administrative commands.&lt;br /&gt;
* Suspend accounts or channels.&lt;br /&gt;
* Change channel founders.&lt;br /&gt;
* Drop registered accounts or channels.&lt;br /&gt;
* Approve or reject advertising applications.&lt;br /&gt;
* Approve, suspend, or remove relays.&lt;br /&gt;
* Access confidential server logs.&lt;br /&gt;
* Access hidden user information.&lt;br /&gt;
* Modify IRCd or Services configuration.&lt;br /&gt;
* Access production servers.&lt;br /&gt;
* Share staff-channel information.&lt;br /&gt;
* Represent recommendations as final decisions.&lt;br /&gt;
* Conduct unsupervised confidential investigations.&lt;br /&gt;
* Grant staff or project access.&lt;br /&gt;
* Test dangerous commands against real users.&lt;br /&gt;
&lt;br /&gt;
= 11. Supervision Levels =&lt;br /&gt;
&lt;br /&gt;
A trainee task may be assigned one of three supervision levels.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Observe&#039;&#039;&#039;&lt;br /&gt;
| Trainee watches but does not act&lt;br /&gt;
| Observe a Services ownership review&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Prepare&#039;&#039;&#039;&lt;br /&gt;
| Trainee drafts a response or recommendation for approval&lt;br /&gt;
| Draft a warning or escalation summary&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Perform&#039;&#039;&#039;&lt;br /&gt;
| Trainee completes a specifically approved low-risk task&lt;br /&gt;
| Provide connection settings in `#Help`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The mentor should record which duties are approved at each level.&lt;br /&gt;
&lt;br /&gt;
= 12. Trainee Identification =&lt;br /&gt;
&lt;br /&gt;
Trainees must describe their role accurately.&lt;br /&gt;
&lt;br /&gt;
Appropriate wording:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am a supervised DarkWorld IRC trainee. I can help collect the details and refer this to the authorized team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inappropriate wording:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am an IRC administrator.&lt;br /&gt;
I can guarantee your application will be approved.&lt;br /&gt;
I will permanently ban them.&lt;br /&gt;
I control all DarkWorld projects.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trainee status should not be used to intimidate users.&lt;br /&gt;
&lt;br /&gt;
= 13. Daily Activity Record =&lt;br /&gt;
&lt;br /&gt;
The trainee should maintain a simple activity record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date:&lt;br /&gt;
Start and end time:&lt;br /&gt;
Channels attended:&lt;br /&gt;
Support cases handled:&lt;br /&gt;
Documentation provided:&lt;br /&gt;
Cases escalated:&lt;br /&gt;
Moderation observed:&lt;br /&gt;
Reports prepared:&lt;br /&gt;
Mentor consulted:&lt;br /&gt;
Mistakes or corrections:&lt;br /&gt;
Unresolved items:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The record should not contain passwords, unnecessary IP addresses, or unrestricted private evidence.&lt;br /&gt;
&lt;br /&gt;
= 14. Support Case Record =&lt;br /&gt;
&lt;br /&gt;
For each significant support case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Channel:&lt;br /&gt;
User nickname:&lt;br /&gt;
Issue category:&lt;br /&gt;
User’s goal:&lt;br /&gt;
Relevant non-sensitive details:&lt;br /&gt;
Guidance provided:&lt;br /&gt;
Result:&lt;br /&gt;
Escalation:&lt;br /&gt;
Mentor review:&lt;br /&gt;
Documentation improvement suggested:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Routine greetings and very simple answers do not require full case reports unless the mentor requests them.&lt;br /&gt;
&lt;br /&gt;
= 15. Moderation Observation Record =&lt;br /&gt;
&lt;br /&gt;
When observing moderation:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Channel:&lt;br /&gt;
Behavior observed:&lt;br /&gt;
Applicable rule:&lt;br /&gt;
Was a warning appropriate?&lt;br /&gt;
Action recommended by trainee:&lt;br /&gt;
Action taken by authorized staff:&lt;br /&gt;
Difference between recommendation and action:&lt;br /&gt;
Users affected:&lt;br /&gt;
Evidence preserved:&lt;br /&gt;
What the trainee learned:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The trainee should compare their recommendation with the authorized staff decision.&lt;br /&gt;
&lt;br /&gt;
= 16. Incident Observation Record =&lt;br /&gt;
&lt;br /&gt;
For a significant incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Incident reference:&lt;br /&gt;
Date and time:&lt;br /&gt;
Initial severity:&lt;br /&gt;
Affected channels or services:&lt;br /&gt;
Confirmed facts:&lt;br /&gt;
User reports:&lt;br /&gt;
Trainee task:&lt;br /&gt;
Incident lead:&lt;br /&gt;
Actions observed:&lt;br /&gt;
Evidence prepared:&lt;br /&gt;
Handover completed:&lt;br /&gt;
Recovery observed:&lt;br /&gt;
Follow-up lesson:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Trainees must not keep private copies of restricted evidence after the approved task ends.&lt;br /&gt;
&lt;br /&gt;
= 17. Expected Support Performance =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Acknowledge users promptly where possible.&lt;br /&gt;
* Ask useful questions.&lt;br /&gt;
* Avoid assuming user error.&lt;br /&gt;
* Give clear and safe instructions.&lt;br /&gt;
* Use current official information.&lt;br /&gt;
* Protect credentials.&lt;br /&gt;
* Respect language differences.&lt;br /&gt;
* Confirm outcomes.&lt;br /&gt;
* Escalate unresolved cases.&lt;br /&gt;
* Avoid making unauthorized promises.&lt;br /&gt;
&lt;br /&gt;
= 18. Expected Moderation Judgment =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Identify the applicable rule.&lt;br /&gt;
* Distinguish channel and network authority.&lt;br /&gt;
* Recommend proportionate action.&lt;br /&gt;
* Consider innocent users.&lt;br /&gt;
* Recognize shared hosts.&lt;br /&gt;
* Avoid retaliatory responses.&lt;br /&gt;
* Preserve relevant evidence.&lt;br /&gt;
* Use professional reasons.&lt;br /&gt;
* Recommend review dates.&lt;br /&gt;
* Request higher authority when required.&lt;br /&gt;
&lt;br /&gt;
= 19. Expected Incident Performance =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Recognize serious incidents.&lt;br /&gt;
* Assign a reasonable initial severity.&lt;br /&gt;
* Identify ongoing harm.&lt;br /&gt;
* Notify appropriate staff.&lt;br /&gt;
* Follow the incident lead.&lt;br /&gt;
* Maintain accurate timestamps.&lt;br /&gt;
* Separate facts from allegations.&lt;br /&gt;
* Protect restricted evidence.&lt;br /&gt;
* Prepare useful handovers.&lt;br /&gt;
* Assist with recovery and review.&lt;br /&gt;
&lt;br /&gt;
= 20. Expected Security Conduct =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Use TLS and SASL.&lt;br /&gt;
* Protect their NickServ account.&lt;br /&gt;
* Use unique credentials.&lt;br /&gt;
* Secure their device.&lt;br /&gt;
* Avoid untrusted scripts.&lt;br /&gt;
* Recognize phishing.&lt;br /&gt;
* Report exposed credentials.&lt;br /&gt;
* Avoid accessing information without need.&lt;br /&gt;
* Maintain staff-channel confidentiality.&lt;br /&gt;
* Report security concerns promptly.&lt;br /&gt;
&lt;br /&gt;
= 21. Expected Team Conduct =&lt;br /&gt;
&lt;br /&gt;
A successful trainee should:&lt;br /&gt;
&lt;br /&gt;
* Accept correction professionally.&lt;br /&gt;
* Ask questions when uncertain.&lt;br /&gt;
* Avoid public staff disagreements.&lt;br /&gt;
* Follow the mentor and incident lead.&lt;br /&gt;
* Complete assigned records.&lt;br /&gt;
* Be honest about mistakes.&lt;br /&gt;
* Meet reasonable activity expectations.&lt;br /&gt;
* Communicate absence.&lt;br /&gt;
* Respect other teams.&lt;br /&gt;
* Avoid gossip and favoritism.&lt;br /&gt;
&lt;br /&gt;
= 22. Weekly Evaluation =&lt;br /&gt;
&lt;br /&gt;
The mentor should complete a review at the end of each training week.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Weight&lt;br /&gt;
|-&lt;br /&gt;
| User support and communication&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| IRC and Services knowledge&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Policy understanding&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Moderation judgment&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Incident awareness&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Privacy and security&lt;br /&gt;
| 15%&lt;br /&gt;
|-&lt;br /&gt;
| Documentation&lt;br /&gt;
| 10%&lt;br /&gt;
|-&lt;br /&gt;
| Reliability and activity&lt;br /&gt;
| 5%&lt;br /&gt;
|-&lt;br /&gt;
| Teamwork and acceptance of feedback&lt;br /&gt;
| 10%&lt;br /&gt;
! Total&lt;br /&gt;
| 100%&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 23. Weekly Scoring Scale =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Score&lt;br /&gt;
! Rating&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| 90–100&lt;br /&gt;
| Excellent&lt;br /&gt;
| Consistently safe, accurate, reliable, and professional&lt;br /&gt;
|-&lt;br /&gt;
| 80–89&lt;br /&gt;
| Ready&lt;br /&gt;
| Meets trainee expectations with minor improvement areas&lt;br /&gt;
|-&lt;br /&gt;
| 70–79&lt;br /&gt;
| Developing&lt;br /&gt;
| Additional supervision and practice required&lt;br /&gt;
|-&lt;br /&gt;
| 60–69&lt;br /&gt;
| Concern&lt;br /&gt;
| Significant weaknesses require remediation&lt;br /&gt;
|-&lt;br /&gt;
| Below 60&lt;br /&gt;
| Unsatisfactory&lt;br /&gt;
| Candidate is not currently ready for live trainee duties&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Security, integrity, retaliation, and confidentiality concerns must be assessed separately from the numerical score.&lt;br /&gt;
&lt;br /&gt;
= 24. Weekly Review Form =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRAINEE WEEKLY REVIEW&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Trainee path:&lt;br /&gt;
Week number:&lt;br /&gt;
Review period:&lt;br /&gt;
Mentor:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
&lt;br /&gt;
User support and communication:         /15&lt;br /&gt;
IRC and Services knowledge:             /10&lt;br /&gt;
Policy understanding:                   /10&lt;br /&gt;
Moderation judgment:                    /15&lt;br /&gt;
Incident awareness:                     /10&lt;br /&gt;
Privacy and security:                   /15&lt;br /&gt;
Documentation:                          /10&lt;br /&gt;
Reliability and activity:                /5&lt;br /&gt;
Teamwork and feedback:                  /10&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                  /100&lt;br /&gt;
&lt;br /&gt;
Cases handled:&lt;br /&gt;
Exercises completed:&lt;br /&gt;
Positive observations:&lt;br /&gt;
Mistakes:&lt;br /&gt;
Corrections completed:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Modules to review:&lt;br /&gt;
Duties approved for next week:&lt;br /&gt;
Duties still prohibited:&lt;br /&gt;
Candidate comments:&lt;br /&gt;
Mentor recommendation:&lt;br /&gt;
Next review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 25. Mentor Feedback =&lt;br /&gt;
&lt;br /&gt;
Feedback should be:&lt;br /&gt;
&lt;br /&gt;
* Specific.&lt;br /&gt;
* Based on observed behavior.&lt;br /&gt;
* Timely.&lt;br /&gt;
* Respectful.&lt;br /&gt;
* Actionable.&lt;br /&gt;
* Connected to policy or procedure.&lt;br /&gt;
* Recorded for important concerns.&lt;br /&gt;
&lt;br /&gt;
Good feedback:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
During the SASL case, you correctly avoided requesting the password. However, you provided several steps at once. Next time, first confirm TLS and the registered account name, then test one change.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poor feedback:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
You are bad at support.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 26. Candidate Response to Feedback =&lt;br /&gt;
&lt;br /&gt;
The trainee should:&lt;br /&gt;
&lt;br /&gt;
* Listen carefully.&lt;br /&gt;
* Ask for clarification.&lt;br /&gt;
* Avoid becoming defensive.&lt;br /&gt;
* Correct factual misunderstandings respectfully.&lt;br /&gt;
* Complete assigned remediation.&lt;br /&gt;
* Record what they learned.&lt;br /&gt;
* Demonstrate improvement.&lt;br /&gt;
&lt;br /&gt;
A candidate may request review if they believe feedback is unfair, but must use the approved process.&lt;br /&gt;
&lt;br /&gt;
= 27. Mistakes During Training =&lt;br /&gt;
&lt;br /&gt;
A mistake does not automatically end the trainee period.&lt;br /&gt;
&lt;br /&gt;
The mentor should consider:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Whether the action was authorized.&lt;br /&gt;
* Harm caused.&lt;br /&gt;
* Whether the trainee reported it.&lt;br /&gt;
* Whether it was corrected.&lt;br /&gt;
* Whether the trainee understood the cause.&lt;br /&gt;
* Whether it was repeated.&lt;br /&gt;
* Whether dishonesty or retaliation occurred.&lt;br /&gt;
&lt;br /&gt;
A trainee who honestly reports and corrects a minor mistake may continue.&lt;br /&gt;
&lt;br /&gt;
A trainee who conceals, repeats, or intentionally causes serious harm may be removed.&lt;br /&gt;
&lt;br /&gt;
= 28. Immediate Suspension Conditions =&lt;br /&gt;
&lt;br /&gt;
Trainee duties should be paused immediately when there is:&lt;br /&gt;
&lt;br /&gt;
* Credential sharing.&lt;br /&gt;
* Intentional privacy exposure.&lt;br /&gt;
* Unauthorized operator or Services action.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Evidence falsification.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Malicious activity.&lt;br /&gt;
* Unauthorized production-system access.&lt;br /&gt;
* Refusal to stop an unsafe action.&lt;br /&gt;
* Serious harassment.&lt;br /&gt;
* Sharing restricted staff information.&lt;br /&gt;
* Attempted approval manipulation.&lt;br /&gt;
&lt;br /&gt;
Suspension protects the network while the matter is reviewed.&lt;br /&gt;
&lt;br /&gt;
= 29. Inactivity =&lt;br /&gt;
&lt;br /&gt;
A trainee should inform their mentor when unable to participate.&lt;br /&gt;
&lt;br /&gt;
The trainee period may be paused when:&lt;br /&gt;
&lt;br /&gt;
* The candidate is absent for an extended period.&lt;br /&gt;
* The mentor is unavailable.&lt;br /&gt;
* The network cannot provide safe supervision.&lt;br /&gt;
* A relevant project or system is under maintenance.&lt;br /&gt;
* An investigation is pending.&lt;br /&gt;
&lt;br /&gt;
Inactivity alone is not misconduct, but insufficient observation may prevent advancement.&lt;br /&gt;
&lt;br /&gt;
= 30. Required Trainee Experiences =&lt;br /&gt;
&lt;br /&gt;
Before completing the trainee stage, the candidate should have:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Assisted with at least five support cases&lt;br /&gt;
[ ] Completed at least two Services support cases&lt;br /&gt;
[ ] Prepared at least two escalation summaries&lt;br /&gt;
[ ] Observed at least three moderation cases&lt;br /&gt;
[ ] Drafted at least two professional warnings&lt;br /&gt;
[ ] Completed at least one moderation record&lt;br /&gt;
[ ] Participated in at least one incident simulation or real supervised incident&lt;br /&gt;
[ ] Prepared at least one incident timeline&lt;br /&gt;
[ ] Completed one incident handover&lt;br /&gt;
[ ] Demonstrated project-boundary awareness&lt;br /&gt;
[ ] Demonstrated safe credential handling&lt;br /&gt;
[ ] Received at least two mentor reviews&lt;br /&gt;
[ ] Received one secondary-review observation&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Real incidents are not required if suitable simulations are available.&lt;br /&gt;
&lt;br /&gt;
= 31. Final Trainee Evaluation =&lt;br /&gt;
&lt;br /&gt;
At the end of the trainee period, the mentor should complete:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FINAL TRAINEE EVALUATION&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Trainee reference:&lt;br /&gt;
Trainee path:&lt;br /&gt;
Start date:&lt;br /&gt;
End date:&lt;br /&gt;
Total observed days:&lt;br /&gt;
Mentor:&lt;br /&gt;
Secondary reviewer:&lt;br /&gt;
&lt;br /&gt;
Support cases completed:&lt;br /&gt;
Services cases completed:&lt;br /&gt;
Moderation cases observed:&lt;br /&gt;
Incident exercises completed:&lt;br /&gt;
Reports completed:&lt;br /&gt;
Documentation contributions:&lt;br /&gt;
&lt;br /&gt;
Average weekly score:&lt;br /&gt;
Final evaluation score:&lt;br /&gt;
&lt;br /&gt;
Mandatory security competencies passed: Yes / No&lt;br /&gt;
Code of Conduct maintained: Yes / No&lt;br /&gt;
Confidentiality maintained: Yes / No&lt;br /&gt;
Conflicts disclosed: Yes / No&lt;br /&gt;
Required experiences completed: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strengths:&lt;br /&gt;
Weaknesses:&lt;br /&gt;
Unresolved concerns:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Conduct concerns:&lt;br /&gt;
Recommended role:&lt;br /&gt;
Recommended permissions:&lt;br /&gt;
Explicitly excluded permissions:&lt;br /&gt;
Recommended probation duration:&lt;br /&gt;
Recommended mentor:&lt;br /&gt;
Final recommendation:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 32. Final Evaluation Outcomes =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Outcome&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ADVANCE TO PROBATION&#039;&#039;&#039;&lt;br /&gt;
| Candidate is ready for limited probationary duties&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXTEND TRAINEE PERIOD&#039;&#039;&#039;&lt;br /&gt;
| More observation is required&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REMEDIATION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Specific modules or skills must be repeated&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REASSIGN TRAINEE PATH&#039;&#039;&#039;&lt;br /&gt;
| Candidate may be better suited to another role&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PAUSE&#039;&#039;&#039;&lt;br /&gt;
| Evaluation cannot continue currently&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;END CANDIDACY&#039;&#039;&#039;&lt;br /&gt;
| Candidate is not suitable for progression&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 33. Advancement Requirements =&lt;br /&gt;
&lt;br /&gt;
To advance to probation, the candidate should:&lt;br /&gt;
&lt;br /&gt;
* Achieve an average trainee score of at least &#039;&#039;&#039;80%&#039;&#039;&#039;.&lt;br /&gt;
* Complete required trainee experiences.&lt;br /&gt;
* Demonstrate safe credential handling.&lt;br /&gt;
* Maintain confidentiality.&lt;br /&gt;
* Follow project boundaries.&lt;br /&gt;
* Accept mentor feedback.&lt;br /&gt;
* Show reliable participation.&lt;br /&gt;
* Demonstrate proportionate judgment.&lt;br /&gt;
* Have no unresolved serious conduct concern.&lt;br /&gt;
* Receive mentor recommendation.&lt;br /&gt;
* Receive secondary review.&lt;br /&gt;
* Receive management approval.&lt;br /&gt;
&lt;br /&gt;
A numerical score alone does not override a serious security or integrity concern.&lt;br /&gt;
&lt;br /&gt;
= 34. Access Recommendation for Probation =&lt;br /&gt;
&lt;br /&gt;
Before probation, define:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Probationary role:&lt;br /&gt;
Operational purpose:&lt;br /&gt;
Approved channels:&lt;br /&gt;
Approved commands:&lt;br /&gt;
Approved systems:&lt;br /&gt;
Read-only access:&lt;br /&gt;
Action requiring mentor approval:&lt;br /&gt;
Prohibited commands:&lt;br /&gt;
Prohibited systems:&lt;br /&gt;
Logging requirements:&lt;br /&gt;
Mentor:&lt;br /&gt;
Backup mentor:&lt;br /&gt;
Start date:&lt;br /&gt;
Review date:&lt;br /&gt;
End date:&lt;br /&gt;
Management approval:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No undefined or “all access” permission should be granted to a probationary staff member.&lt;br /&gt;
&lt;br /&gt;
= 35. Candidate Acknowledgement =&lt;br /&gt;
&lt;br /&gt;
Before entering probation, the candidate should affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that my trainee evaluation does not guarantee permanent staff&lt;br /&gt;
appointment.&lt;br /&gt;
&lt;br /&gt;
I agree to use only the permissions explicitly assigned to my probationary&lt;br /&gt;
role.&lt;br /&gt;
&lt;br /&gt;
I will continue to follow the DarkWorld IRC Staff Code of Conduct, protect&lt;br /&gt;
confidential information, report mistakes, and accept supervision.&lt;br /&gt;
&lt;br /&gt;
I understand that access may be reduced, suspended, or removed to protect&lt;br /&gt;
the network.&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Date:&lt;br /&gt;
Mentor:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 36. Next Step =&lt;br /&gt;
&lt;br /&gt;
Candidates approved for advancement proceed to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Probation|DarkWorld IRC Probationary Staff Program]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Probation|Probationary Staff Program]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Trainees]]&lt;br /&gt;
[[Category:Staff Evaluation]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Practical_Assessment&amp;diff=406</id>
		<title>DWIRC:Staff Training/Practical Assessment</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Practical_Assessment&amp;diff=406"/>
		<updated>2026-08-08T18:20:28Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Practical Assessment&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Final Practical Assessment}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Final Practical Assessment&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Final Practical Assessment&lt;br /&gt;
|-&lt;br /&gt;
! Maximum score&lt;br /&gt;
| 100 points&lt;br /&gt;
|-&lt;br /&gt;
! Passing score&lt;br /&gt;
| 80 points&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 90–150 minutes&lt;br /&gt;
|-&lt;br /&gt;
! Environment&lt;br /&gt;
| Approved training channels, test accounts, and simulations&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisites&lt;br /&gt;
| Modules 1–10, Code of Conduct, and Final Written Examination&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Final Practical Assessment determines whether a candidate can apply their training safely in realistic IRC situations.&lt;br /&gt;
&lt;br /&gt;
The assessment evaluates:&lt;br /&gt;
&lt;br /&gt;
* Secure IRC connection.&lt;br /&gt;
* Identity and account verification.&lt;br /&gt;
* IRC command accuracy.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* NickServ and ChanServ support.&lt;br /&gt;
* User communication.&lt;br /&gt;
* Moderation judgment.&lt;br /&gt;
* Incident handling.&lt;br /&gt;
* Evidence and documentation.&lt;br /&gt;
* Operator-level decision-making.&lt;br /&gt;
* Ethics and security.&lt;br /&gt;
&lt;br /&gt;
Passing the written examination is not sufficient if the candidate cannot perform safely in practical situations.&lt;br /&gt;
&lt;br /&gt;
= 2. Safety Rules =&lt;br /&gt;
&lt;br /&gt;
All exercises must use:&lt;br /&gt;
&lt;br /&gt;
* An approved training channel.&lt;br /&gt;
* Trainer-controlled test accounts.&lt;br /&gt;
* Simulated evidence.&lt;br /&gt;
* Written command proposals.&lt;br /&gt;
* A non-production environment where available.&lt;br /&gt;
&lt;br /&gt;
Candidates must not:&lt;br /&gt;
&lt;br /&gt;
* Test commands against real users.&lt;br /&gt;
* Apply production network bans.&lt;br /&gt;
* Use production operator credentials.&lt;br /&gt;
* Request or enter another user’s password.&lt;br /&gt;
* Change real channel ownership.&lt;br /&gt;
* Modify production IRCd or Services configuration.&lt;br /&gt;
* Use OperOverride in production.&lt;br /&gt;
* Open simulated malicious links.&lt;br /&gt;
* Share restricted assessment information.&lt;br /&gt;
* Continue an action after the examiner says to stop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Safety gate:&#039;&#039;&#039; A candidate who performs an unauthorized high-risk production action may be stopped and failed immediately.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3. Assessment Structure =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Station&lt;br /&gt;
! Assessment area&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Secure connection and identity&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IRC commands and information&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Channel modes and access&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| NickServ and ChanServ support&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| User support and communication&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Moderation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Incident response&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Operator judgment, ethics, and security&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 4. Mandatory Competencies =&lt;br /&gt;
&lt;br /&gt;
Regardless of total score, the candidate must demonstrate all of the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Does not request or expose passwords&lt;br /&gt;
[ ] Uses verified TLS&lt;br /&gt;
[ ] Understands project boundaries&lt;br /&gt;
[ ] Can reverse training mode changes&lt;br /&gt;
[ ] Avoids dangerously broad bans&lt;br /&gt;
[ ] Escalates serious incidents&lt;br /&gt;
[ ] Protects confidential evidence&lt;br /&gt;
[ ] Discloses conflicts of interest&lt;br /&gt;
[ ] Reports mistakes honestly&lt;br /&gt;
[ ] Does not use production operator access&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failure of a mandatory competency may result in failure even when the numerical score reaches 80.&lt;br /&gt;
&lt;br /&gt;
= 5. Candidate Information =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Candidate reference:&lt;br /&gt;
Assessment version:&lt;br /&gt;
Assessment date:&lt;br /&gt;
Start time:&lt;br /&gt;
End time:&lt;br /&gt;
Timezone:&lt;br /&gt;
Primary examiner:&lt;br /&gt;
Secondary examiner:&lt;br /&gt;
Training channel:&lt;br /&gt;
Test identities:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Station 1 — Secure Connection and Identity =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
The candidate must configure or demonstrate an IRC connection using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Server: irc.darkworld.network&lt;br /&gt;
Port: 6697&lt;br /&gt;
TLS: Enabled&lt;br /&gt;
Certificate verification: Enabled&lt;br /&gt;
SASL: Enabled where available&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The candidate must then:&lt;br /&gt;
&lt;br /&gt;
# Connect successfully.&lt;br /&gt;
# Identify the current nickname.&lt;br /&gt;
# Identify the ident.&lt;br /&gt;
# Identify the displayed hostname.&lt;br /&gt;
# Identify the registered Services account.&lt;br /&gt;
# Demonstrate WHOIS on their own training identity.&lt;br /&gt;
# Explain how the four identity elements differ.&lt;br /&gt;
# Explain what should happen if a certificate warning appears.&lt;br /&gt;
# Confirm that no credentials appear in public output.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Correct server, port, and TLS&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Certificate verification retained&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| SASL configured or correctly explained&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Identity elements correctly identified&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| WHOIS used and interpreted safely&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| No credential exposure&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Disabling certificate verification without authorization.&lt;br /&gt;
* Posting a password.&lt;br /&gt;
* Claiming that WHOIS proves legal identity.&lt;br /&gt;
* Connecting to an unapproved server for the exercise.&lt;br /&gt;
&lt;br /&gt;
= Station 2 — IRC Commands and Information =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
Using an approved training channel, demonstrate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #ApprovedTrainingChannel&lt;br /&gt;
/NAMES #ApprovedTrainingChannel&lt;br /&gt;
/TOPIC #ApprovedTrainingChannel&lt;br /&gt;
/WHO #ApprovedTrainingChannel&lt;br /&gt;
/WHOIS TestNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/PART #ApprovedTrainingChannel Assessment exercise&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The examiner may ask the candidate to explain:&lt;br /&gt;
&lt;br /&gt;
* The purpose of each command.&lt;br /&gt;
* Which commands change state.&lt;br /&gt;
* Which commands require authorization.&lt;br /&gt;
* What information must remain confidential.&lt;br /&gt;
* How a netsplit differs from a normal quit.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Correct command targets&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Correct interpretation of results&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Understands state-changing commands&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects restricted information&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Correctly explains quits and netsplits&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Station 3 — Channel Modes and Access =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
With examiner authorization, the candidate must:&lt;br /&gt;
&lt;br /&gt;
# View current channel modes.&lt;br /&gt;
# Record the original mode state.&lt;br /&gt;
# Set moderated mode.&lt;br /&gt;
# Demonstrate the effect on an unvoiced test user.&lt;br /&gt;
# Grant voice to the test user.&lt;br /&gt;
# Remove voice.&lt;br /&gt;
# Remove moderated mode.&lt;br /&gt;
# Apply a trainer-provided temporary ban.&lt;br /&gt;
# View the ban list.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify that the original channel state is restored.&lt;br /&gt;
# Explain `+b`, `+e`, and `+I`.&lt;br /&gt;
# Explain the differences between `+v`, `+h`, `+o`, `+a`, and `+q`.&lt;br /&gt;
&lt;br /&gt;
Example training commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #ApprovedTrainingChannel +m&lt;br /&gt;
/MODE #ApprovedTrainingChannel +v TestUser&lt;br /&gt;
/MODE #ApprovedTrainingChannel -v TestUser&lt;br /&gt;
/MODE #ApprovedTrainingChannel -m&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b TrainerProvidedMask&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b&lt;br /&gt;
/MODE #ApprovedTrainingChannel -b TrainerProvidedMask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Records original state&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Applies modes accurately&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Uses parameters correctly&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Understands access hierarchy&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Explains ban and exception lists&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Verifies every change&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Restores original state&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Applying a broad `*!*@*` ban.&lt;br /&gt;
* Targeting a real user without permission.&lt;br /&gt;
* Failing to remove training restrictions.&lt;br /&gt;
* Using override commands.&lt;br /&gt;
* Changing founder or persistent access without authorization.&lt;br /&gt;
&lt;br /&gt;
= Station 4 — NickServ and ChanServ Support =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
The candidate must safely assist simulated users with:&lt;br /&gt;
&lt;br /&gt;
=== Case A: NickServ Authentication ===&lt;br /&gt;
&lt;br /&gt;
A user can connect but cannot authenticate.&lt;br /&gt;
&lt;br /&gt;
The candidate should:&lt;br /&gt;
&lt;br /&gt;
* Ask for the exact error.&lt;br /&gt;
* Confirm the registered account name.&lt;br /&gt;
* Confirm email registration where relevant.&lt;br /&gt;
* Confirm TLS.&lt;br /&gt;
* Check SASL configuration.&lt;br /&gt;
* Use official NickServ help.&lt;br /&gt;
* Avoid asking for the password.&lt;br /&gt;
* Escalate if normal recovery fails.&lt;br /&gt;
&lt;br /&gt;
=== Case B: Nickname Already in Use ===&lt;br /&gt;
&lt;br /&gt;
The user’s normal nickname is connected elsewhere.&lt;br /&gt;
&lt;br /&gt;
The candidate should:&lt;br /&gt;
&lt;br /&gt;
* Ask the user to connect with a temporary nickname.&lt;br /&gt;
* Confirm account authentication.&lt;br /&gt;
* Check whether a bouncer or other client is connected.&lt;br /&gt;
* Locate the supported recovery help.&lt;br /&gt;
* Avoid forcibly disconnecting the nickname without verification.&lt;br /&gt;
&lt;br /&gt;
=== Case C: Missing Channel Operator Status ===&lt;br /&gt;
&lt;br /&gt;
A user says ChanServ did not give them `+o`.&lt;br /&gt;
&lt;br /&gt;
The candidate should distinguish:&lt;br /&gt;
&lt;br /&gt;
* Current nickname.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Live `+o`.&lt;br /&gt;
* Persistent ChanServ access.&lt;br /&gt;
* Channel settings.&lt;br /&gt;
* Possible Services failure.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Uses current Services help&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects passwords&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Correct NickServ troubleshooting&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Safe nickname-recovery guidance&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Distinguishes live mode from access&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Escalates ownership or administrative issues&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Asking for a password.&lt;br /&gt;
* Asking for an email-confirmation code.&lt;br /&gt;
* Identifying to the user’s account.&lt;br /&gt;
* Changing a channel founder.&lt;br /&gt;
* Dropping a channel.&lt;br /&gt;
* Using OperServ without authorization.&lt;br /&gt;
&lt;br /&gt;
= Station 5 — User Support and Communication =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Simulation ==&lt;br /&gt;
&lt;br /&gt;
The examiner acts as a frustrated new user who says:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
“I cannot connect, NickServ does not work, and nobody is helping me.”&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
# Acknowledge the user.&lt;br /&gt;
# Clarify whether the problem occurs before or after connection.&lt;br /&gt;
# Ask for the client and exact error.&lt;br /&gt;
# Confirm the server, port, and TLS.&lt;br /&gt;
# Avoid blaming the user.&lt;br /&gt;
# Provide one step at a time.&lt;br /&gt;
# Explain expected results.&lt;br /&gt;
# Recognize a possible wider problem if other reports appear.&lt;br /&gt;
# Summarize or escalate the case.&lt;br /&gt;
# Close professionally.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Professional acknowledgement&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Identifies the actual problem&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Asks useful questions&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Provides clear steps&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects privacy and credentials&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| De-escalates frustration&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Confirms outcome or escalates&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Station 6 — Moderation =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Simulation A: Repeated Flooding ==&lt;br /&gt;
&lt;br /&gt;
A test user repeatedly floods the training channel after a warning.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Issue a clear formal warning.&lt;br /&gt;
* Preserve the relevant context.&lt;br /&gt;
* Select a proportionate response.&lt;br /&gt;
* Set a precise trainer-approved ban if required.&lt;br /&gt;
* Kick with a professional reason.&lt;br /&gt;
* Verify the restriction.&lt;br /&gt;
* Complete a moderation record.&lt;br /&gt;
* Explain when the ban should be reviewed.&lt;br /&gt;
&lt;br /&gt;
== Simulation B: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
The disruptive test user shares a displayed host with two innocent test users.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Recognize the shared-host risk.&lt;br /&gt;
* Avoid banning the entire host automatically.&lt;br /&gt;
* Recommend a more precise restriction.&lt;br /&gt;
* Explain when network assistance is required.&lt;br /&gt;
* Protect innocent users.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Warning quality&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Proportionate response&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Ban-mask precision&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Professional kick reason&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects innocent users&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Verifies and documents action&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Defines review or expiry&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Banning every user to stop one person.&lt;br /&gt;
* Using an insult as a kick reason.&lt;br /&gt;
* Punishing criticism rather than misconduct.&lt;br /&gt;
* Applying network-level commands.&lt;br /&gt;
* Ignoring known innocent users affected by the mask.&lt;br /&gt;
&lt;br /&gt;
= Station 7 — Incident Response =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Simulation ==&lt;br /&gt;
&lt;br /&gt;
The examiner presents the following developing incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Three new accounts join `#DarkWorld` and begin posting a fake NickServ login page. Similar links appear in `#Help`. One user says they entered their password. A relay begins importing the same link from an external channel. Staff have not yet assigned an incident lead.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
# Recognize the incident and assign an initial severity.&lt;br /&gt;
# Identify ongoing harm.&lt;br /&gt;
# Recommend immediate containment.&lt;br /&gt;
# Avoid opening the malicious link.&lt;br /&gt;
# Protect the user who exposed credentials.&lt;br /&gt;
# Preserve messages, timestamps, accounts, channels, and relay information.&lt;br /&gt;
# Notify appropriate staff.&lt;br /&gt;
# Request or identify incident leadership.&lt;br /&gt;
# Prepare an internal update.&lt;br /&gt;
# Prepare a safe public warning.&lt;br /&gt;
# Identify confirmed facts and unverified reports.&lt;br /&gt;
# Explain recovery requirements.&lt;br /&gt;
# Complete an incident handover.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Incident recognition and severity&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Immediate containment&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Credential-compromise response&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Evidence and privacy&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Correct escalation&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Internal and public communication&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Handover and recovery&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Opening the simulated malicious link.&lt;br /&gt;
* Repeating an exposed password.&lt;br /&gt;
* Announcing that all accounts are compromised without evidence.&lt;br /&gt;
* Publishing restricted evidence.&lt;br /&gt;
* Failing to escalate active phishing.&lt;br /&gt;
* Treating the relay operator as the confirmed author without investigation.&lt;br /&gt;
&lt;br /&gt;
= Station 8 — Operator Judgment, Ethics, and Security =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Scenario A: Network Restriction ==&lt;br /&gt;
&lt;br /&gt;
An abusive connection shares a VPN endpoint with twenty legitimate users. The candidate is asked whether to recommend a permanent global host ban.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the scope risk.&lt;br /&gt;
* Consider narrower options.&lt;br /&gt;
* Explain required authorization.&lt;br /&gt;
* Propose a proportionate duration.&lt;br /&gt;
* Define verification and review.&lt;br /&gt;
* Avoid executing the command.&lt;br /&gt;
&lt;br /&gt;
== Scenario B: Conflict of Interest ==&lt;br /&gt;
&lt;br /&gt;
The candidate’s friend asks them to remove a ban.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Disclose the conflict.&lt;br /&gt;
* Avoid making the final decision.&lt;br /&gt;
* Preserve the original action.&lt;br /&gt;
* Refer the appeal to a neutral reviewer.&lt;br /&gt;
&lt;br /&gt;
== Scenario C: Credential Exposure ==&lt;br /&gt;
&lt;br /&gt;
A simulated operator password is posted in a restricted channel.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Treat it as compromised.&lt;br /&gt;
* Avoid repeating it.&lt;br /&gt;
* Escalate immediately.&lt;br /&gt;
* Recommend credential rotation.&lt;br /&gt;
* Review related access.&lt;br /&gt;
* Document the incident.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Network-ban judgment&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Conflict-of-interest handling&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Credential-compromise response&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Accountability and documentation&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Recommending a broad permanent ban without considering innocent users.&lt;br /&gt;
* Removing a friend’s ban.&lt;br /&gt;
* Reusing or sharing the exposed credential.&lt;br /&gt;
* Hiding the exposure.&lt;br /&gt;
* Performing a production network command.&lt;br /&gt;
&lt;br /&gt;
= 6. Mandatory Documentation Tasks =&lt;br /&gt;
&lt;br /&gt;
The candidate must submit:&lt;br /&gt;
&lt;br /&gt;
# One support escalation summary.&lt;br /&gt;
# One channel-mode change record.&lt;br /&gt;
# One moderation report.&lt;br /&gt;
# One incident timeline.&lt;br /&gt;
# One incident handover.&lt;br /&gt;
# One operator-action proposal.&lt;br /&gt;
# One security-incident report.&lt;br /&gt;
# One candidate self-review.&lt;br /&gt;
&lt;br /&gt;
Submissions must not contain real credentials or unnecessary private information.&lt;br /&gt;
&lt;br /&gt;
= 7. Candidate Self-Review =&lt;br /&gt;
&lt;br /&gt;
After completing all stations, the candidate should answer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Which station was most difficult?&lt;br /&gt;
2. Which action required the most caution?&lt;br /&gt;
3. Did I make any command or judgment error?&lt;br /&gt;
4. How did I correct it?&lt;br /&gt;
5. Did any proposed action risk innocent users?&lt;br /&gt;
6. What did I escalate rather than handle alone?&lt;br /&gt;
7. What further training do I require?&lt;br /&gt;
8. Am I ready for supervised trainee duties?&lt;br /&gt;
9. Which specialist area interests me?&lt;br /&gt;
10. What access do I believe is not yet appropriate for me?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A candidate who honestly identifies a limitation should not be penalized merely for recognizing it.&lt;br /&gt;
&lt;br /&gt;
= 8. Examiner Scoring Record =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Candidate:&lt;br /&gt;
Assessment version:&lt;br /&gt;
Date:&lt;br /&gt;
&lt;br /&gt;
Station 1 — Secure connection:                 /10&lt;br /&gt;
Station 2 — IRC commands:                      /10&lt;br /&gt;
Station 3 — Channel modes:                     /15&lt;br /&gt;
Station 4 — IRC Services:                      /15&lt;br /&gt;
Station 5 — User support:                      /10&lt;br /&gt;
Station 6 — Moderation:                        /15&lt;br /&gt;
Station 7 — Incident response:                 /15&lt;br /&gt;
Station 8 — Operator ethics and security:      /10&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                        /100&lt;br /&gt;
&lt;br /&gt;
Mandatory competencies passed: Yes / No&lt;br /&gt;
Critical error observed: Yes / No&lt;br /&gt;
Automatic-failure review required: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strong areas:&lt;br /&gt;
Weak areas:&lt;br /&gt;
Unsafe actions:&lt;br /&gt;
Commands requiring correction:&lt;br /&gt;
Privacy or security concerns:&lt;br /&gt;
Recommended remediation:&lt;br /&gt;
Recommended trainee role:&lt;br /&gt;
Recommended access level:&lt;br /&gt;
Examiner:&lt;br /&gt;
Second examiner:&lt;br /&gt;
Final result:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 9. Assessment Results =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Result&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PASS&#039;&#039;&#039;&lt;br /&gt;
| Candidate scored at least 80 and passed every mandatory competency&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CONDITIONAL PASS&#039;&#039;&#039;&lt;br /&gt;
| Minor, non-safety remediation required&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REVISION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Candidate requires additional study and another practical assessment&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FAIL&#039;&#039;&#039;&lt;br /&gt;
| Candidate did not meet the required standard&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DISQUALIFIED&#039;&#039;&#039;&lt;br /&gt;
| Serious safety, integrity, or unauthorized-access violation occurred&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A conditional pass cannot be used when the candidate fails a mandatory security or ethics competency.&lt;br /&gt;
&lt;br /&gt;
= 10. Automatic-Failure Review =&lt;br /&gt;
&lt;br /&gt;
Possible automatic-failure conditions include:&lt;br /&gt;
&lt;br /&gt;
* Requesting or exposing a password.&lt;br /&gt;
* Using production operator credentials.&lt;br /&gt;
* Applying a production network ban.&lt;br /&gt;
* Running a dangerous server command.&lt;br /&gt;
* Using OperOverride without authorization.&lt;br /&gt;
* Intentionally targeting a real user.&lt;br /&gt;
* Deliberately falsifying evidence.&lt;br /&gt;
* Retaliating during the assessment.&lt;br /&gt;
* Sharing restricted assessment material.&lt;br /&gt;
* Refusing to stop an unsafe action.&lt;br /&gt;
* Impersonating another candidate.&lt;br /&gt;
* Attempting to alter the examiner’s record.&lt;br /&gt;
&lt;br /&gt;
Where practical, two authorized reviewers should confirm an automatic-failure decision.&lt;br /&gt;
&lt;br /&gt;
= 11. Remediation =&lt;br /&gt;
&lt;br /&gt;
A candidate requiring additional training should receive:&lt;br /&gt;
&lt;br /&gt;
* A written feedback summary.&lt;br /&gt;
* Specific modules to review.&lt;br /&gt;
* Required exercises.&lt;br /&gt;
* A minimum practice period where appropriate.&lt;br /&gt;
* A different assessment scenario.&lt;br /&gt;
* A supervised re-attempt date.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Weakness&lt;br /&gt;
! Recommended remediation&lt;br /&gt;
|-&lt;br /&gt;
| Unsafe ban masks&lt;br /&gt;
| Repeat Modules 4 and 7 with targeted-ban exercises&lt;br /&gt;
|-&lt;br /&gt;
| Poor account security&lt;br /&gt;
| Repeat Modules 5 and 10&lt;br /&gt;
|-&lt;br /&gt;
| Weak support communication&lt;br /&gt;
| Repeat Module 6 and complete roleplays&lt;br /&gt;
|-&lt;br /&gt;
| Poor incident coordination&lt;br /&gt;
| Repeat Module 8 and handover exercises&lt;br /&gt;
|-&lt;br /&gt;
| Excessive operator response&lt;br /&gt;
| Repeat Modules 7, 8, and 9&lt;br /&gt;
|-&lt;br /&gt;
| Project-boundary confusion&lt;br /&gt;
| Repeat Modules 1 and 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 12. Reassessment =&lt;br /&gt;
&lt;br /&gt;
A candidate may normally receive one reassessment after completing assigned remediation.&lt;br /&gt;
&lt;br /&gt;
The reassessment should:&lt;br /&gt;
&lt;br /&gt;
* Use different test identities.&lt;br /&gt;
* Use different incident details.&lt;br /&gt;
* Retest failed competencies.&lt;br /&gt;
* Retest any mandatory safety concern.&lt;br /&gt;
* Confirm that earlier weaknesses were corrected.&lt;br /&gt;
* Be recorded separately.&lt;br /&gt;
&lt;br /&gt;
A third attempt should require management approval.&lt;br /&gt;
&lt;br /&gt;
= 13. Recommendation for Trainee Placement =&lt;br /&gt;
&lt;br /&gt;
Passing the assessment means the candidate may be considered for supervised trainee duties.&lt;br /&gt;
&lt;br /&gt;
It does not create an automatic right to:&lt;br /&gt;
&lt;br /&gt;
* IRC operator access.&lt;br /&gt;
* OperServ access.&lt;br /&gt;
* IRCd server access.&lt;br /&gt;
* Services database access.&lt;br /&gt;
* Policy approval access.&lt;br /&gt;
* Relay administrative access.&lt;br /&gt;
* Access to another DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
The examiner may recommend:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Recommendation&lt;br /&gt;
! Suitable initial duties&lt;br /&gt;
|-&lt;br /&gt;
| Support trainee&lt;br /&gt;
| Help-channel assistance and documentation&lt;br /&gt;
|-&lt;br /&gt;
| Moderation trainee&lt;br /&gt;
| Supervised channel moderation&lt;br /&gt;
|-&lt;br /&gt;
| Policy trainee&lt;br /&gt;
| Policy links, case preparation, and observation&lt;br /&gt;
|-&lt;br /&gt;
| Relay compliance trainee&lt;br /&gt;
| Discovery records and supervised follow-up&lt;br /&gt;
|-&lt;br /&gt;
| Services support trainee&lt;br /&gt;
| Normal account and channel assistance&lt;br /&gt;
|-&lt;br /&gt;
| Operator candidate&lt;br /&gt;
| Additional supervised operator-specific training&lt;br /&gt;
|-&lt;br /&gt;
| Further training&lt;br /&gt;
| No live duties until remediation is complete&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 14. Access Recommendation =&lt;br /&gt;
&lt;br /&gt;
The examiner should recommend the minimum access required.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Recommended role:&lt;br /&gt;
Recommended public channels:&lt;br /&gt;
Recommended staff channels:&lt;br /&gt;
Recommended bot permissions:&lt;br /&gt;
Recommended Services permissions:&lt;br /&gt;
Recommended operator permissions:&lt;br /&gt;
Explicitly excluded permissions:&lt;br /&gt;
Mentor:&lt;br /&gt;
Probation duration:&lt;br /&gt;
Review date:&lt;br /&gt;
Management approval:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 15. Completion Approval =&lt;br /&gt;
&lt;br /&gt;
The candidate may advance only when:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Written examination passed&lt;br /&gt;
[ ] Ethics threshold passed&lt;br /&gt;
[ ] Practical assessment passed&lt;br /&gt;
[ ] Mandatory competencies passed&lt;br /&gt;
[ ] Code of Conduct accepted&lt;br /&gt;
[ ] Security declaration accepted&lt;br /&gt;
[ ] Candidate identity verified&lt;br /&gt;
[ ] Mentor assigned&lt;br /&gt;
[ ] Role defined&lt;br /&gt;
[ ] Access recommendation completed&lt;br /&gt;
[ ] Management approval recorded&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 16. Next Step =&lt;br /&gt;
&lt;br /&gt;
Candidates who pass proceed to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Trainee Evaluation|DarkWorld IRC Trainee Evaluation]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Final Examination|Final Written Examination]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Practical Assessments]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Practical_Assessment&amp;diff=405</id>
		<title>DWIRC:Staff Training/Practical Assessment</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Practical_Assessment&amp;diff=405"/>
		<updated>2026-08-08T18:20:19Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Staff Final Practical Assessment}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Final Practical Assessment&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Asses...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Final Practical Assessment}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Final Practical Assessment&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Final Practical Assessment&lt;br /&gt;
|-&lt;br /&gt;
! Maximum score&lt;br /&gt;
| 100 points&lt;br /&gt;
|-&lt;br /&gt;
! Passing score&lt;br /&gt;
| 80 points&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 90–150 minutes&lt;br /&gt;
|-&lt;br /&gt;
! Environment&lt;br /&gt;
| Approved training channels, test accounts, and simulations&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisites&lt;br /&gt;
| Modules 1–10, Code of Conduct, and Final Written Examination&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Final Practical Assessment determines whether a candidate can apply their training safely in realistic IRC situations.&lt;br /&gt;
&lt;br /&gt;
The assessment evaluates:&lt;br /&gt;
&lt;br /&gt;
* Secure IRC connection.&lt;br /&gt;
* Identity and account verification.&lt;br /&gt;
* IRC command accuracy.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* NickServ and ChanServ support.&lt;br /&gt;
* User communication.&lt;br /&gt;
* Moderation judgment.&lt;br /&gt;
* Incident handling.&lt;br /&gt;
* Evidence and documentation.&lt;br /&gt;
* Operator-level decision-making.&lt;br /&gt;
* Ethics and security.&lt;br /&gt;
&lt;br /&gt;
Passing the written examination is not sufficient if the candidate cannot perform safely in practical situations.&lt;br /&gt;
&lt;br /&gt;
= 2. Safety Rules =&lt;br /&gt;
&lt;br /&gt;
All exercises must use:&lt;br /&gt;
&lt;br /&gt;
* An approved training channel.&lt;br /&gt;
* Trainer-controlled test accounts.&lt;br /&gt;
* Simulated evidence.&lt;br /&gt;
* Written command proposals.&lt;br /&gt;
* A non-production environment where available.&lt;br /&gt;
&lt;br /&gt;
Candidates must not:&lt;br /&gt;
&lt;br /&gt;
* Test commands against real users.&lt;br /&gt;
* Apply production network bans.&lt;br /&gt;
* Use production operator credentials.&lt;br /&gt;
* Request or enter another user’s password.&lt;br /&gt;
* Change real channel ownership.&lt;br /&gt;
* Modify production IRCd or Services configuration.&lt;br /&gt;
* Use OperOverride in production.&lt;br /&gt;
* Open simulated malicious links.&lt;br /&gt;
* Share restricted assessment information.&lt;br /&gt;
* Continue an action after the examiner says to stop.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Safety gate:&#039;&#039;&#039; A candidate who performs an unauthorized high-risk production action may be stopped and failed immediately.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 3. Assessment Structure =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Station&lt;br /&gt;
! Assessment area&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| 1&lt;br /&gt;
| Secure connection and identity&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| 2&lt;br /&gt;
| IRC commands and information&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| 3&lt;br /&gt;
| Channel modes and access&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| NickServ and ChanServ support&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| User support and communication&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| Moderation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| Incident response&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| 8&lt;br /&gt;
| Operator judgment, ethics, and security&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 4. Mandatory Competencies =&lt;br /&gt;
&lt;br /&gt;
Regardless of total score, the candidate must demonstrate all of the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Does not request or expose passwords&lt;br /&gt;
[ ] Uses verified TLS&lt;br /&gt;
[ ] Understands project boundaries&lt;br /&gt;
[ ] Can reverse training mode changes&lt;br /&gt;
[ ] Avoids dangerously broad bans&lt;br /&gt;
[ ] Escalates serious incidents&lt;br /&gt;
[ ] Protects confidential evidence&lt;br /&gt;
[ ] Discloses conflicts of interest&lt;br /&gt;
[ ] Reports mistakes honestly&lt;br /&gt;
[ ] Does not use production operator access&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Failure of a mandatory competency may result in failure even when the numerical score reaches 80.&lt;br /&gt;
&lt;br /&gt;
= 5. Candidate Information =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Candidate reference:&lt;br /&gt;
Assessment version:&lt;br /&gt;
Assessment date:&lt;br /&gt;
Start time:&lt;br /&gt;
End time:&lt;br /&gt;
Timezone:&lt;br /&gt;
Primary examiner:&lt;br /&gt;
Secondary examiner:&lt;br /&gt;
Training channel:&lt;br /&gt;
Test identities:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Station 1 — Secure Connection and Identity =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
The candidate must configure or demonstrate an IRC connection using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Server: irc.darkworld.network&lt;br /&gt;
Port: 6697&lt;br /&gt;
TLS: Enabled&lt;br /&gt;
Certificate verification: Enabled&lt;br /&gt;
SASL: Enabled where available&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The candidate must then:&lt;br /&gt;
&lt;br /&gt;
# Connect successfully.&lt;br /&gt;
# Identify the current nickname.&lt;br /&gt;
# Identify the ident.&lt;br /&gt;
# Identify the displayed hostname.&lt;br /&gt;
# Identify the registered Services account.&lt;br /&gt;
# Demonstrate WHOIS on their own training identity.&lt;br /&gt;
# Explain how the four identity elements differ.&lt;br /&gt;
# Explain what should happen if a certificate warning appears.&lt;br /&gt;
# Confirm that no credentials appear in public output.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Correct server, port, and TLS&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Certificate verification retained&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| SASL configured or correctly explained&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Identity elements correctly identified&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| WHOIS used and interpreted safely&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| No credential exposure&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Disabling certificate verification without authorization.&lt;br /&gt;
* Posting a password.&lt;br /&gt;
* Claiming that WHOIS proves legal identity.&lt;br /&gt;
* Connecting to an unapproved server for the exercise.&lt;br /&gt;
&lt;br /&gt;
= Station 2 — IRC Commands and Information =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
Using an approved training channel, demonstrate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #ApprovedTrainingChannel&lt;br /&gt;
/NAMES #ApprovedTrainingChannel&lt;br /&gt;
/TOPIC #ApprovedTrainingChannel&lt;br /&gt;
/WHO #ApprovedTrainingChannel&lt;br /&gt;
/WHOIS TestNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/PART #ApprovedTrainingChannel Assessment exercise&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The examiner may ask the candidate to explain:&lt;br /&gt;
&lt;br /&gt;
* The purpose of each command.&lt;br /&gt;
* Which commands change state.&lt;br /&gt;
* Which commands require authorization.&lt;br /&gt;
* What information must remain confidential.&lt;br /&gt;
* How a netsplit differs from a normal quit.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Correct command targets&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Correct interpretation of results&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Understands state-changing commands&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects restricted information&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Correctly explains quits and netsplits&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Station 3 — Channel Modes and Access =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
With examiner authorization, the candidate must:&lt;br /&gt;
&lt;br /&gt;
# View current channel modes.&lt;br /&gt;
# Record the original mode state.&lt;br /&gt;
# Set moderated mode.&lt;br /&gt;
# Demonstrate the effect on an unvoiced test user.&lt;br /&gt;
# Grant voice to the test user.&lt;br /&gt;
# Remove voice.&lt;br /&gt;
# Remove moderated mode.&lt;br /&gt;
# Apply a trainer-provided temporary ban.&lt;br /&gt;
# View the ban list.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify that the original channel state is restored.&lt;br /&gt;
# Explain `+b`, `+e`, and `+I`.&lt;br /&gt;
# Explain the differences between `+v`, `+h`, `+o`, `+a`, and `+q`.&lt;br /&gt;
&lt;br /&gt;
Example training commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #ApprovedTrainingChannel +m&lt;br /&gt;
/MODE #ApprovedTrainingChannel +v TestUser&lt;br /&gt;
/MODE #ApprovedTrainingChannel -v TestUser&lt;br /&gt;
/MODE #ApprovedTrainingChannel -m&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b TrainerProvidedMask&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b&lt;br /&gt;
/MODE #ApprovedTrainingChannel -b TrainerProvidedMask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Records original state&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Applies modes accurately&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Uses parameters correctly&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Understands access hierarchy&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Explains ban and exception lists&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Verifies every change&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Restores original state&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Applying a broad `*!*@*` ban.&lt;br /&gt;
* Targeting a real user without permission.&lt;br /&gt;
* Failing to remove training restrictions.&lt;br /&gt;
* Using override commands.&lt;br /&gt;
* Changing founder or persistent access without authorization.&lt;br /&gt;
&lt;br /&gt;
= Station 4 — NickServ and ChanServ Support =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Candidate Tasks ==&lt;br /&gt;
&lt;br /&gt;
The candidate must safely assist simulated users with:&lt;br /&gt;
&lt;br /&gt;
=== Case A: NickServ Authentication ===&lt;br /&gt;
&lt;br /&gt;
A user can connect but cannot authenticate.&lt;br /&gt;
&lt;br /&gt;
The candidate should:&lt;br /&gt;
&lt;br /&gt;
* Ask for the exact error.&lt;br /&gt;
* Confirm the registered account name.&lt;br /&gt;
* Confirm email registration where relevant.&lt;br /&gt;
* Confirm TLS.&lt;br /&gt;
* Check SASL configuration.&lt;br /&gt;
* Use official NickServ help.&lt;br /&gt;
* Avoid asking for the password.&lt;br /&gt;
* Escalate if normal recovery fails.&lt;br /&gt;
&lt;br /&gt;
=== Case B: Nickname Already in Use ===&lt;br /&gt;
&lt;br /&gt;
The user’s normal nickname is connected elsewhere.&lt;br /&gt;
&lt;br /&gt;
The candidate should:&lt;br /&gt;
&lt;br /&gt;
* Ask the user to connect with a temporary nickname.&lt;br /&gt;
* Confirm account authentication.&lt;br /&gt;
* Check whether a bouncer or other client is connected.&lt;br /&gt;
* Locate the supported recovery help.&lt;br /&gt;
* Avoid forcibly disconnecting the nickname without verification.&lt;br /&gt;
&lt;br /&gt;
=== Case C: Missing Channel Operator Status ===&lt;br /&gt;
&lt;br /&gt;
A user says ChanServ did not give them `+o`.&lt;br /&gt;
&lt;br /&gt;
The candidate should distinguish:&lt;br /&gt;
&lt;br /&gt;
* Current nickname.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Live `+o`.&lt;br /&gt;
* Persistent ChanServ access.&lt;br /&gt;
* Channel settings.&lt;br /&gt;
* Possible Services failure.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Uses current Services help&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects passwords&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Correct NickServ troubleshooting&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Safe nickname-recovery guidance&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Distinguishes live mode from access&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Escalates ownership or administrative issues&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Asking for a password.&lt;br /&gt;
* Asking for an email-confirmation code.&lt;br /&gt;
* Identifying to the user’s account.&lt;br /&gt;
* Changing a channel founder.&lt;br /&gt;
* Dropping a channel.&lt;br /&gt;
* Using OperServ without authorization.&lt;br /&gt;
&lt;br /&gt;
= Station 5 — User Support and Communication =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Simulation ==&lt;br /&gt;
&lt;br /&gt;
The examiner acts as a frustrated new user who says:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
“I cannot connect, NickServ does not work, and nobody is helping me.”&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
# Acknowledge the user.&lt;br /&gt;
# Clarify whether the problem occurs before or after connection.&lt;br /&gt;
# Ask for the client and exact error.&lt;br /&gt;
# Confirm the server, port, and TLS.&lt;br /&gt;
# Avoid blaming the user.&lt;br /&gt;
# Provide one step at a time.&lt;br /&gt;
# Explain expected results.&lt;br /&gt;
# Recognize a possible wider problem if other reports appear.&lt;br /&gt;
# Summarize or escalate the case.&lt;br /&gt;
# Close professionally.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Professional acknowledgement&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Identifies the actual problem&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Asks useful questions&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Provides clear steps&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects privacy and credentials&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| De-escalates frustration&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Confirms outcome or escalates&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Station 6 — Moderation =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Simulation A: Repeated Flooding ==&lt;br /&gt;
&lt;br /&gt;
A test user repeatedly floods the training channel after a warning.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Issue a clear formal warning.&lt;br /&gt;
* Preserve the relevant context.&lt;br /&gt;
* Select a proportionate response.&lt;br /&gt;
* Set a precise trainer-approved ban if required.&lt;br /&gt;
* Kick with a professional reason.&lt;br /&gt;
* Verify the restriction.&lt;br /&gt;
* Complete a moderation record.&lt;br /&gt;
* Explain when the ban should be reviewed.&lt;br /&gt;
&lt;br /&gt;
== Simulation B: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
The disruptive test user shares a displayed host with two innocent test users.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Recognize the shared-host risk.&lt;br /&gt;
* Avoid banning the entire host automatically.&lt;br /&gt;
* Recommend a more precise restriction.&lt;br /&gt;
* Explain when network assistance is required.&lt;br /&gt;
* Protect innocent users.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Warning quality&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Proportionate response&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Ban-mask precision&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Professional kick reason&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Protects innocent users&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Verifies and documents action&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Defines review or expiry&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Banning every user to stop one person.&lt;br /&gt;
* Using an insult as a kick reason.&lt;br /&gt;
* Punishing criticism rather than misconduct.&lt;br /&gt;
* Applying network-level commands.&lt;br /&gt;
* Ignoring known innocent users affected by the mask.&lt;br /&gt;
&lt;br /&gt;
= Station 7 — Incident Response =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 15 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Simulation ==&lt;br /&gt;
&lt;br /&gt;
The examiner presents the following developing incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Three new accounts join `#DarkWorld` and begin posting a fake NickServ login page. Similar links appear in `#Help`. One user says they entered their password. A relay begins importing the same link from an external channel. Staff have not yet assigned an incident lead.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
# Recognize the incident and assign an initial severity.&lt;br /&gt;
# Identify ongoing harm.&lt;br /&gt;
# Recommend immediate containment.&lt;br /&gt;
# Avoid opening the malicious link.&lt;br /&gt;
# Protect the user who exposed credentials.&lt;br /&gt;
# Preserve messages, timestamps, accounts, channels, and relay information.&lt;br /&gt;
# Notify appropriate staff.&lt;br /&gt;
# Request or identify incident leadership.&lt;br /&gt;
# Prepare an internal update.&lt;br /&gt;
# Prepare a safe public warning.&lt;br /&gt;
# Identify confirmed facts and unverified reports.&lt;br /&gt;
# Explain recovery requirements.&lt;br /&gt;
# Complete an incident handover.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Incident recognition and severity&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Immediate containment&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Credential-compromise response&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Evidence and privacy&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Correct escalation&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Internal and public communication&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Handover and recovery&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Opening the simulated malicious link.&lt;br /&gt;
* Repeating an exposed password.&lt;br /&gt;
* Announcing that all accounts are compromised without evidence.&lt;br /&gt;
* Publishing restricted evidence.&lt;br /&gt;
* Failing to escalate active phishing.&lt;br /&gt;
* Treating the relay operator as the confirmed author without investigation.&lt;br /&gt;
&lt;br /&gt;
= Station 8 — Operator Judgment, Ethics, and Security =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maximum: 10 points&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Scenario A: Network Restriction ==&lt;br /&gt;
&lt;br /&gt;
An abusive connection shares a VPN endpoint with twenty legitimate users. The candidate is asked whether to recommend a permanent global host ban.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the scope risk.&lt;br /&gt;
* Consider narrower options.&lt;br /&gt;
* Explain required authorization.&lt;br /&gt;
* Propose a proportionate duration.&lt;br /&gt;
* Define verification and review.&lt;br /&gt;
* Avoid executing the command.&lt;br /&gt;
&lt;br /&gt;
== Scenario B: Conflict of Interest ==&lt;br /&gt;
&lt;br /&gt;
The candidate’s friend asks them to remove a ban.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Disclose the conflict.&lt;br /&gt;
* Avoid making the final decision.&lt;br /&gt;
* Preserve the original action.&lt;br /&gt;
* Refer the appeal to a neutral reviewer.&lt;br /&gt;
&lt;br /&gt;
== Scenario C: Credential Exposure ==&lt;br /&gt;
&lt;br /&gt;
A simulated operator password is posted in a restricted channel.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Treat it as compromised.&lt;br /&gt;
* Avoid repeating it.&lt;br /&gt;
* Escalate immediately.&lt;br /&gt;
* Recommend credential rotation.&lt;br /&gt;
* Review related access.&lt;br /&gt;
* Document the incident.&lt;br /&gt;
&lt;br /&gt;
== Scoring ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Competency&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Network-ban judgment&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Conflict-of-interest handling&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| Credential-compromise response&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
| Accountability and documentation&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Critical Errors ==&lt;br /&gt;
&lt;br /&gt;
* Recommending a broad permanent ban without considering innocent users.&lt;br /&gt;
* Removing a friend’s ban.&lt;br /&gt;
* Reusing or sharing the exposed credential.&lt;br /&gt;
* Hiding the exposure.&lt;br /&gt;
* Performing a production network command.&lt;br /&gt;
&lt;br /&gt;
= 6. Mandatory Documentation Tasks =&lt;br /&gt;
&lt;br /&gt;
The candidate must submit:&lt;br /&gt;
&lt;br /&gt;
# One support escalation summary.&lt;br /&gt;
# One channel-mode change record.&lt;br /&gt;
# One moderation report.&lt;br /&gt;
# One incident timeline.&lt;br /&gt;
# One incident handover.&lt;br /&gt;
# One operator-action proposal.&lt;br /&gt;
# One security-incident report.&lt;br /&gt;
# One candidate self-review.&lt;br /&gt;
&lt;br /&gt;
Submissions must not contain real credentials or unnecessary private information.&lt;br /&gt;
&lt;br /&gt;
= 7. Candidate Self-Review =&lt;br /&gt;
&lt;br /&gt;
After completing all stations, the candidate should answer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Which station was most difficult?&lt;br /&gt;
2. Which action required the most caution?&lt;br /&gt;
3. Did I make any command or judgment error?&lt;br /&gt;
4. How did I correct it?&lt;br /&gt;
5. Did any proposed action risk innocent users?&lt;br /&gt;
6. What did I escalate rather than handle alone?&lt;br /&gt;
7. What further training do I require?&lt;br /&gt;
8. Am I ready for supervised trainee duties?&lt;br /&gt;
9. Which specialist area interests me?&lt;br /&gt;
10. What access do I believe is not yet appropriate for me?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A candidate who honestly identifies a limitation should not be penalized merely for recognizing it.&lt;br /&gt;
&lt;br /&gt;
= 8. Examiner Scoring Record =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Candidate:&lt;br /&gt;
Assessment version:&lt;br /&gt;
Date:&lt;br /&gt;
&lt;br /&gt;
Station 1 — Secure connection:                 /10&lt;br /&gt;
Station 2 — IRC commands:                      /10&lt;br /&gt;
Station 3 — Channel modes:                     /15&lt;br /&gt;
Station 4 — IRC Services:                      /15&lt;br /&gt;
Station 5 — User support:                      /10&lt;br /&gt;
Station 6 — Moderation:                        /15&lt;br /&gt;
Station 7 — Incident response:                 /15&lt;br /&gt;
Station 8 — Operator ethics and security:      /10&lt;br /&gt;
&lt;br /&gt;
TOTAL:                                        /100&lt;br /&gt;
&lt;br /&gt;
Mandatory competencies passed: Yes / No&lt;br /&gt;
Critical error observed: Yes / No&lt;br /&gt;
Automatic-failure review required: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strong areas:&lt;br /&gt;
Weak areas:&lt;br /&gt;
Unsafe actions:&lt;br /&gt;
Commands requiring correction:&lt;br /&gt;
Privacy or security concerns:&lt;br /&gt;
Recommended remediation:&lt;br /&gt;
Recommended trainee role:&lt;br /&gt;
Recommended access level:&lt;br /&gt;
Examiner:&lt;br /&gt;
Second examiner:&lt;br /&gt;
Final result:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 9. Assessment Results =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Result&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PASS&#039;&#039;&#039;&lt;br /&gt;
| Candidate scored at least 80 and passed every mandatory competency&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CONDITIONAL PASS&#039;&#039;&#039;&lt;br /&gt;
| Minor, non-safety remediation required&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REVISION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Candidate requires additional study and another practical assessment&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FAIL&#039;&#039;&#039;&lt;br /&gt;
| Candidate did not meet the required standard&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DISQUALIFIED&#039;&#039;&#039;&lt;br /&gt;
| Serious safety, integrity, or unauthorized-access violation occurred&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A conditional pass cannot be used when the candidate fails a mandatory security or ethics competency.&lt;br /&gt;
&lt;br /&gt;
= 10. Automatic-Failure Review =&lt;br /&gt;
&lt;br /&gt;
Possible automatic-failure conditions include:&lt;br /&gt;
&lt;br /&gt;
* Requesting or exposing a password.&lt;br /&gt;
* Using production operator credentials.&lt;br /&gt;
* Applying a production network ban.&lt;br /&gt;
* Running a dangerous server command.&lt;br /&gt;
* Using OperOverride without authorization.&lt;br /&gt;
* Intentionally targeting a real user.&lt;br /&gt;
* Deliberately falsifying evidence.&lt;br /&gt;
* Retaliating during the assessment.&lt;br /&gt;
* Sharing restricted assessment material.&lt;br /&gt;
* Refusing to stop an unsafe action.&lt;br /&gt;
* Impersonating another candidate.&lt;br /&gt;
* Attempting to alter the examiner’s record.&lt;br /&gt;
&lt;br /&gt;
Where practical, two authorized reviewers should confirm an automatic-failure decision.&lt;br /&gt;
&lt;br /&gt;
= 11. Remediation =&lt;br /&gt;
&lt;br /&gt;
A candidate requiring additional training should receive:&lt;br /&gt;
&lt;br /&gt;
* A written feedback summary.&lt;br /&gt;
* Specific modules to review.&lt;br /&gt;
* Required exercises.&lt;br /&gt;
* A minimum practice period where appropriate.&lt;br /&gt;
* A different assessment scenario.&lt;br /&gt;
* A supervised re-attempt date.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Weakness&lt;br /&gt;
! Recommended remediation&lt;br /&gt;
|-&lt;br /&gt;
| Unsafe ban masks&lt;br /&gt;
| Repeat Modules 4 and 7 with targeted-ban exercises&lt;br /&gt;
|-&lt;br /&gt;
| Poor account security&lt;br /&gt;
| Repeat Modules 5 and 10&lt;br /&gt;
|-&lt;br /&gt;
| Weak support communication&lt;br /&gt;
| Repeat Module 6 and complete roleplays&lt;br /&gt;
|-&lt;br /&gt;
| Poor incident coordination&lt;br /&gt;
| Repeat Module 8 and handover exercises&lt;br /&gt;
|-&lt;br /&gt;
| Excessive operator response&lt;br /&gt;
| Repeat Modules 7, 8, and 9&lt;br /&gt;
|-&lt;br /&gt;
| Project-boundary confusion&lt;br /&gt;
| Repeat Modules 1 and 10&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 12. Reassessment =&lt;br /&gt;
&lt;br /&gt;
A candidate may normally receive one reassessment after completing assigned remediation.&lt;br /&gt;
&lt;br /&gt;
The reassessment should:&lt;br /&gt;
&lt;br /&gt;
* Use different test identities.&lt;br /&gt;
* Use different incident details.&lt;br /&gt;
* Retest failed competencies.&lt;br /&gt;
* Retest any mandatory safety concern.&lt;br /&gt;
* Confirm that earlier weaknesses were corrected.&lt;br /&gt;
* Be recorded separately.&lt;br /&gt;
&lt;br /&gt;
A third attempt should require management approval.&lt;br /&gt;
&lt;br /&gt;
= 13. Recommendation for Trainee Placement =&lt;br /&gt;
&lt;br /&gt;
Passing the assessment means the candidate may be considered for supervised trainee duties.&lt;br /&gt;
&lt;br /&gt;
It does not create an automatic right to:&lt;br /&gt;
&lt;br /&gt;
* IRC operator access.&lt;br /&gt;
* OperServ access.&lt;br /&gt;
* IRCd server access.&lt;br /&gt;
* Services database access.&lt;br /&gt;
* Policy approval access.&lt;br /&gt;
* Relay administrative access.&lt;br /&gt;
* Access to another DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
The examiner may recommend:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Recommendation&lt;br /&gt;
! Suitable initial duties&lt;br /&gt;
|-&lt;br /&gt;
| Support trainee&lt;br /&gt;
| Help-channel assistance and documentation&lt;br /&gt;
|-&lt;br /&gt;
| Moderation trainee&lt;br /&gt;
| Supervised channel moderation&lt;br /&gt;
|-&lt;br /&gt;
| Policy trainee&lt;br /&gt;
| Policy links, case preparation, and observation&lt;br /&gt;
|-&lt;br /&gt;
| Relay compliance trainee&lt;br /&gt;
| Discovery records and supervised follow-up&lt;br /&gt;
|-&lt;br /&gt;
| Services support trainee&lt;br /&gt;
| Normal account and channel assistance&lt;br /&gt;
|-&lt;br /&gt;
| Operator candidate&lt;br /&gt;
| Additional supervised operator-specific training&lt;br /&gt;
|-&lt;br /&gt;
| Further training&lt;br /&gt;
| No live duties until remediation is complete&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 14. Access Recommendation =&lt;br /&gt;
&lt;br /&gt;
The examiner should recommend the minimum access required.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Recommended role:&lt;br /&gt;
Recommended public channels:&lt;br /&gt;
Recommended staff channels:&lt;br /&gt;
Recommended bot permissions:&lt;br /&gt;
Recommended Services permissions:&lt;br /&gt;
Recommended operator permissions:&lt;br /&gt;
Explicitly excluded permissions:&lt;br /&gt;
Mentor:&lt;br /&gt;
Probation duration:&lt;br /&gt;
Review date:&lt;br /&gt;
Management approval:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 15. Completion Approval =&lt;br /&gt;
&lt;br /&gt;
The candidate may advance only when:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Written examination passed&lt;br /&gt;
[ ] Ethics threshold passed&lt;br /&gt;
[ ] Practical assessment passed&lt;br /&gt;
[ ] Mandatory competencies passed&lt;br /&gt;
[ ] Code of Conduct accepted&lt;br /&gt;
[ ] Security declaration accepted&lt;br /&gt;
[ ] Candidate identity verified&lt;br /&gt;
[ ] Mentor assigned&lt;br /&gt;
[ ] Role defined&lt;br /&gt;
[ ] Access recommendation completed&lt;br /&gt;
[ ] Management approval recorded&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 16. Next Step =&lt;br /&gt;
&lt;br /&gt;
Candidates who pass proceed to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Trainee Evaluation|DarkWorld IRC Trainee Evaluation]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Final Examination|Final Written Examination]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Practical Assessments]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Final_Examination&amp;diff=404</id>
		<title>DWIRC:Staff Training/Final Examination</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Final_Examination&amp;diff=404"/>
		<updated>2026-08-08T18:18:06Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Final Examination&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Final Written Examination}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Final Written Examination&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Final Written Examination&lt;br /&gt;
|-&lt;br /&gt;
! Maximum score&lt;br /&gt;
| 100 points&lt;br /&gt;
|-&lt;br /&gt;
! Overall passing score&lt;br /&gt;
| 75 points&lt;br /&gt;
|-&lt;br /&gt;
! Ethics and security requirement&lt;br /&gt;
| At least 26 of 30 points&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 120 minutes&lt;br /&gt;
|-&lt;br /&gt;
! Attempts&lt;br /&gt;
| Two attempts unless management authorizes otherwise&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisites&lt;br /&gt;
| Modules 1–10 and acceptance of the [[DWIRC:Staff Training/Code of Conduct|Staff Code of Conduct]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Final Written Examination evaluates whether a candidate understands the knowledge, policies, responsibilities, security requirements, and judgment expected from potential DarkWorld IRC staff.&lt;br /&gt;
&lt;br /&gt;
Passing the written examination does not grant staff access.&lt;br /&gt;
&lt;br /&gt;
Candidates must also pass the:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
* [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
* [[DWIRC:Staff Training/Probation|Probationary Staff Period]]&lt;br /&gt;
&lt;br /&gt;
= 2. Examination Rules =&lt;br /&gt;
&lt;br /&gt;
Unless the examiner states otherwise:&lt;br /&gt;
&lt;br /&gt;
* The examination is supervised.&lt;br /&gt;
* It is completed individually.&lt;br /&gt;
* It is closed-book.&lt;br /&gt;
* Candidates must answer in their own words.&lt;br /&gt;
* Candidates may not receive answers from another person.&lt;br /&gt;
* Candidates may not use another candidate’s submission.&lt;br /&gt;
* Candidates may not alter examination records.&lt;br /&gt;
* Candidates must not perform commands against production users.&lt;br /&gt;
* Practical commands must be written or simulated only.&lt;br /&gt;
* Sensitive credentials must never be included.&lt;br /&gt;
* Questions may be clarified, but examiners must not provide answers.&lt;br /&gt;
* All answers must be submitted through the approved process.&lt;br /&gt;
&lt;br /&gt;
Cheating, impersonation, falsification, or unauthorized assistance may result in failure or removal from the training program.&lt;br /&gt;
&lt;br /&gt;
= 3. Examination Structure =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Section&lt;br /&gt;
! Subject&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| IRC and network fundamentals&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Short-answer operational knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Policy and incident scenarios&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| D&lt;br /&gt;
| Ethics and security&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The candidate must achieve:&lt;br /&gt;
&lt;br /&gt;
* At least &#039;&#039;&#039;75/100 overall&#039;&#039;&#039;.&lt;br /&gt;
* At least &#039;&#039;&#039;26/30 in Section D&#039;&#039;&#039;.&lt;br /&gt;
* No automatic-failure condition.&lt;br /&gt;
* Acceptable judgment in all high-risk scenarios.&lt;br /&gt;
&lt;br /&gt;
= 4. Candidate Information =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Candidate reference:&lt;br /&gt;
Exam version:&lt;br /&gt;
Exam date:&lt;br /&gt;
Start time:&lt;br /&gt;
End time:&lt;br /&gt;
Timezone:&lt;br /&gt;
Examiner:&lt;br /&gt;
Submission method:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Section A — IRC and Network Fundamentals =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Select the best answer. Each question is worth &#039;&#039;&#039;1 point&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Question 1 ==&lt;br /&gt;
&lt;br /&gt;
What is the relationship between DarkWorld Network and DarkWorld IRC?&lt;br /&gt;
&lt;br /&gt;
A. They are unrelated organizations.  &lt;br /&gt;
B. DarkWorld IRC is one project under the DarkWorld Network umbrella.  &lt;br /&gt;
C. DarkWorld IRC controls every DarkWorld project.  &lt;br /&gt;
D. DarkWorld Network is an IRC channel.&lt;br /&gt;
&lt;br /&gt;
== Question 2 ==&lt;br /&gt;
&lt;br /&gt;
Which setting is recommended for a secure DarkWorld IRC connection?&lt;br /&gt;
&lt;br /&gt;
A. `irc.darkworld.network`, port 6697, TLS enabled  &lt;br /&gt;
B. `irc.darkworld.network`, port 21, TLS disabled  &lt;br /&gt;
C. A direct IP address with certificate verification disabled  &lt;br /&gt;
D. Any server and any open port&lt;br /&gt;
&lt;br /&gt;
== Question 3 ==&lt;br /&gt;
&lt;br /&gt;
Which part of this mask is the ident?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon!student@User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A. Falcon  &lt;br /&gt;
B. student  &lt;br /&gt;
C. User.DarkWorld.Network  &lt;br /&gt;
D. DarkWorld&lt;br /&gt;
&lt;br /&gt;
== Question 4 ==&lt;br /&gt;
&lt;br /&gt;
What does SASL normally provide?&lt;br /&gt;
&lt;br /&gt;
A. Channel encryption between users  &lt;br /&gt;
B. Authentication to a registered IRC account during connection  &lt;br /&gt;
C. Automatic network bans  &lt;br /&gt;
D. IRC server administration&lt;br /&gt;
&lt;br /&gt;
== Question 5 ==&lt;br /&gt;
&lt;br /&gt;
What is the primary purpose of TLS?&lt;br /&gt;
&lt;br /&gt;
A. To give channel operator status  &lt;br /&gt;
B. To register a nickname  &lt;br /&gt;
C. To encrypt the connection between the client and IRC server  &lt;br /&gt;
D. To hide messages from other channel members&lt;br /&gt;
&lt;br /&gt;
== Question 6 ==&lt;br /&gt;
&lt;br /&gt;
Which command normally displays information about a connected user?&lt;br /&gt;
&lt;br /&gt;
A. `/WHOIS nickname`  &lt;br /&gt;
B. `/TOPIC nickname`  &lt;br /&gt;
C. `/PART nickname`  &lt;br /&gt;
D. `/MOTD nickname`&lt;br /&gt;
&lt;br /&gt;
== Question 7 ==&lt;br /&gt;
&lt;br /&gt;
What is a netsplit?&lt;br /&gt;
&lt;br /&gt;
A. A user changing nicknames  &lt;br /&gt;
B. A loss of communication between linked IRC servers  &lt;br /&gt;
C. A channel ban  &lt;br /&gt;
D. A failed NickServ registration&lt;br /&gt;
&lt;br /&gt;
== Question 8 ==&lt;br /&gt;
&lt;br /&gt;
Which channel status commonly represents voice?&lt;br /&gt;
&lt;br /&gt;
A. `+o`  &lt;br /&gt;
B. `+q`  &lt;br /&gt;
C. `+v`  &lt;br /&gt;
D. `+a`&lt;br /&gt;
&lt;br /&gt;
== Question 9 ==&lt;br /&gt;
&lt;br /&gt;
What does channel mode `+m` generally do?&lt;br /&gt;
&lt;br /&gt;
A. Deletes the channel  &lt;br /&gt;
B. Makes the channel moderated  &lt;br /&gt;
C. Registers the channel  &lt;br /&gt;
D. Hides every user&lt;br /&gt;
&lt;br /&gt;
== Question 10 ==&lt;br /&gt;
&lt;br /&gt;
Which command normally views a channel’s ban list?&lt;br /&gt;
&lt;br /&gt;
A. `/MODE #channel +b`  &lt;br /&gt;
B. `/BANLIST nickname`  &lt;br /&gt;
C. `/WHOIS #channel`  &lt;br /&gt;
D. `/LISTBAN server`&lt;br /&gt;
&lt;br /&gt;
== Question 11 ==&lt;br /&gt;
&lt;br /&gt;
What does ChanServ access normally provide?&lt;br /&gt;
&lt;br /&gt;
A. Persistent channel permissions associated with an account or access entry  &lt;br /&gt;
B. A permanent IRC operator account  &lt;br /&gt;
C. Server shell access  &lt;br /&gt;
D. Authority over every registered channel&lt;br /&gt;
&lt;br /&gt;
== Question 12 ==&lt;br /&gt;
&lt;br /&gt;
What is the difference between live `+o` and ChanServ access?&lt;br /&gt;
&lt;br /&gt;
A. There is no difference.  &lt;br /&gt;
B. Live `+o` is current channel status; ChanServ access is persistent authorization.  &lt;br /&gt;
C. ChanServ access grants root access.  &lt;br /&gt;
D. Live `+o` registers an account.&lt;br /&gt;
&lt;br /&gt;
== Question 13 ==&lt;br /&gt;
&lt;br /&gt;
What should staff do when a user posts a password publicly?&lt;br /&gt;
&lt;br /&gt;
A. Quote it so the user can confirm it.  &lt;br /&gt;
B. Test it.  &lt;br /&gt;
C. Tell the user to change it immediately without repeating it.  &lt;br /&gt;
D. Save it in the incident report.&lt;br /&gt;
&lt;br /&gt;
== Question 14 ==&lt;br /&gt;
&lt;br /&gt;
Which issue normally belongs to DWShells rather than DWIRC staff?&lt;br /&gt;
&lt;br /&gt;
A. NickServ authentication  &lt;br /&gt;
B. Increasing a Linux shell account’s disk quota  &lt;br /&gt;
C. An IRC channel mode  &lt;br /&gt;
D. A netsplit&lt;br /&gt;
&lt;br /&gt;
== Question 15 ==&lt;br /&gt;
&lt;br /&gt;
What is the least-privilege principle?&lt;br /&gt;
&lt;br /&gt;
A. Every staff member receives every permission.  &lt;br /&gt;
B. Access is limited to what is required for the assigned role.  &lt;br /&gt;
C. Only founders may use IRC.  &lt;br /&gt;
D. Staff may share access when busy.&lt;br /&gt;
&lt;br /&gt;
== Question 16 ==&lt;br /&gt;
&lt;br /&gt;
What does a KILL normally do?&lt;br /&gt;
&lt;br /&gt;
A. Deletes a registered account  &lt;br /&gt;
B. Disconnects a user’s current IRC connection  &lt;br /&gt;
C. Deletes an IRC channel  &lt;br /&gt;
D. Restarts an IRC server&lt;br /&gt;
&lt;br /&gt;
== Question 17 ==&lt;br /&gt;
&lt;br /&gt;
What is a serious risk of banning a shared VPN or bouncer hostname?&lt;br /&gt;
&lt;br /&gt;
A. It may affect many unrelated users.  &lt;br /&gt;
B. It improves authentication.  &lt;br /&gt;
C. It registers all matching accounts.  &lt;br /&gt;
D. It removes channel topics.&lt;br /&gt;
&lt;br /&gt;
== Question 18 ==&lt;br /&gt;
&lt;br /&gt;
What is the correct response to conflicting official policy information?&lt;br /&gt;
&lt;br /&gt;
A. Choose whichever policy permits the strongest action.  &lt;br /&gt;
B. Ignore both sources.  &lt;br /&gt;
C. Verify the current authoritative policy and escalate uncertainty.  &lt;br /&gt;
D. Ask a random channel user.&lt;br /&gt;
&lt;br /&gt;
== Question 19 ==&lt;br /&gt;
&lt;br /&gt;
Does completing the training program automatically grant IRC operator access?&lt;br /&gt;
&lt;br /&gt;
A. Yes  &lt;br /&gt;
B. Only if the candidate requests it  &lt;br /&gt;
C. No; access requires a role, approval, and successful evaluation  &lt;br /&gt;
D. Only during weekends&lt;br /&gt;
&lt;br /&gt;
== Question 20 ==&lt;br /&gt;
&lt;br /&gt;
Which statement about WHOIS is correct?&lt;br /&gt;
&lt;br /&gt;
A. WHOIS proves a user’s legal identity.  &lt;br /&gt;
B. WHOIS may show connection and account information but does not prove legal identity.  &lt;br /&gt;
C. WHOIS reveals every password.  &lt;br /&gt;
D. WHOIS provides server root access.&lt;br /&gt;
&lt;br /&gt;
= Section B — Short-Answer Operational Knowledge =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Answer each question in approximately 50–100 words. Each question is worth &#039;&#039;&#039;2 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Question 21 ==&lt;br /&gt;
&lt;br /&gt;
Explain the difference between a nickname, ident, displayed hostname, and registered Services account.&lt;br /&gt;
&lt;br /&gt;
== Question 22 ==&lt;br /&gt;
&lt;br /&gt;
Explain why staff should not advise users to disable TLS certificate verification when a warning appears.&lt;br /&gt;
&lt;br /&gt;
== Question 23 ==&lt;br /&gt;
&lt;br /&gt;
Describe the safe procedure for helping a user who cannot identify to NickServ.&lt;br /&gt;
&lt;br /&gt;
== Question 24 ==&lt;br /&gt;
&lt;br /&gt;
Explain the difference between a channel ban, ban exception, and invite exception.&lt;br /&gt;
&lt;br /&gt;
== Question 25 ==&lt;br /&gt;
&lt;br /&gt;
Describe the steps staff should take before applying a significant channel restriction.&lt;br /&gt;
&lt;br /&gt;
== Question 26 ==&lt;br /&gt;
&lt;br /&gt;
Explain why a shared hostname, VPN, shell server, or bouncer does not prove that multiple connections belong to the same person.&lt;br /&gt;
&lt;br /&gt;
== Question 27 ==&lt;br /&gt;
&lt;br /&gt;
Describe the information that should be included in a support-case escalation.&lt;br /&gt;
&lt;br /&gt;
== Question 28 ==&lt;br /&gt;
&lt;br /&gt;
Explain when a channel problem should be escalated to network staff.&lt;br /&gt;
&lt;br /&gt;
== Question 29 ==&lt;br /&gt;
&lt;br /&gt;
Describe what an incident timeline should contain and why UTC should normally be used.&lt;br /&gt;
&lt;br /&gt;
== Question 30 ==&lt;br /&gt;
&lt;br /&gt;
Explain what an IRC operator should verify before applying a network-wide restriction.&lt;br /&gt;
&lt;br /&gt;
= Section C — Policy and Incident Scenarios =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Answer each scenario in approximately 200–350 words. Each scenario is worth &#039;&#039;&#039;6 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Each answer should address:&lt;br /&gt;
&lt;br /&gt;
* Applicable policy or responsibility.&lt;br /&gt;
* Confirmed facts.&lt;br /&gt;
* Missing information.&lt;br /&gt;
* Immediate action.&lt;br /&gt;
* Authority boundaries.&lt;br /&gt;
* Evidence.&lt;br /&gt;
* Escalation.&lt;br /&gt;
* Documentation.&lt;br /&gt;
* Review or recovery.&lt;br /&gt;
&lt;br /&gt;
== Question 31 — Advertising ==&lt;br /&gt;
&lt;br /&gt;
A user mentions another IRC client’s website once after being asked where it can be downloaded. A trainee immediately accuses the user of prohibited advertising and issues a channel ban.&lt;br /&gt;
&lt;br /&gt;
Explain whether the response was proportionate and what should happen next.&lt;br /&gt;
&lt;br /&gt;
== Question 32 — Relay Compliance ==&lt;br /&gt;
&lt;br /&gt;
A bot relays messages from an external network into a DarkWorld channel. Some messages invite users to join the external network. The channel founder says they approved the bot, but no official relay registration is found.&lt;br /&gt;
&lt;br /&gt;
Explain how the case should be handled.&lt;br /&gt;
&lt;br /&gt;
== Question 33 — Shared Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
One abusive connection and fifteen legitimate DWBouncers users share the same displayed hostname. An operator proposes a permanent global ban of the hostname.&lt;br /&gt;
&lt;br /&gt;
Explain the risks and recommend a safer response.&lt;br /&gt;
&lt;br /&gt;
== Question 34 — Services Ownership ==&lt;br /&gt;
&lt;br /&gt;
A user says they previously owned a registered project channel. They provide an old screenshot and ask a trainee to replace the current founder immediately.&lt;br /&gt;
&lt;br /&gt;
Explain what the trainee should do.&lt;br /&gt;
&lt;br /&gt;
== Question 35 — Coordinated Incident ==&lt;br /&gt;
&lt;br /&gt;
Several new accounts begin posting malicious login links in `#DarkWorld`, `#Help`, and `#Support`. Two users say they entered their NickServ passwords.&lt;br /&gt;
&lt;br /&gt;
Explain the immediate response, escalation, evidence handling, user communication, and recovery requirements.&lt;br /&gt;
&lt;br /&gt;
= Section D — Ethics and Security =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mandatory minimum: 26 of 30 points.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failure in this section cannot be compensated for by a higher score elsewhere.&lt;br /&gt;
&lt;br /&gt;
== Part D1 — Ethical Decisions ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Select the best answer. Each question is worth &#039;&#039;&#039;1 point&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Question 36 ===&lt;br /&gt;
&lt;br /&gt;
A close friend asks a staff member to remove their ban privately. What should the staff member do?&lt;br /&gt;
&lt;br /&gt;
A. Remove it immediately.  &lt;br /&gt;
B. Disclose the conflict and direct the appeal to an independent reviewer.  &lt;br /&gt;
C. Share the ban system password.  &lt;br /&gt;
D. Delete the original action record.&lt;br /&gt;
&lt;br /&gt;
=== Question 37 ===&lt;br /&gt;
&lt;br /&gt;
A staff member receives a complaint about their own action. Who should make the final review where independence is required?&lt;br /&gt;
&lt;br /&gt;
A. The same staff member alone  &lt;br /&gt;
B. Their closest friend  &lt;br /&gt;
C. A neutral authorized reviewer  &lt;br /&gt;
D. The complainant&lt;br /&gt;
&lt;br /&gt;
=== Question 38 ===&lt;br /&gt;
&lt;br /&gt;
Which action is retaliation?&lt;br /&gt;
&lt;br /&gt;
A. Correcting an incorrect restriction  &lt;br /&gt;
B. Banning a user because they submitted a staff complaint  &lt;br /&gt;
C. Recording an incident  &lt;br /&gt;
D. Asking for an exact error message&lt;br /&gt;
&lt;br /&gt;
=== Question 39 ===&lt;br /&gt;
&lt;br /&gt;
When may staff access private user information?&lt;br /&gt;
&lt;br /&gt;
A. Whenever they are curious  &lt;br /&gt;
B. When a friend asks  &lt;br /&gt;
C. When required for an authorized operational duty  &lt;br /&gt;
D. Whenever the user is offline&lt;br /&gt;
&lt;br /&gt;
=== Question 40 ===&lt;br /&gt;
&lt;br /&gt;
What should happen after an operator password is exposed?&lt;br /&gt;
&lt;br /&gt;
A. Continue using it because only staff saw it  &lt;br /&gt;
B. Delete the message and say nothing  &lt;br /&gt;
C. Treat it as compromised, report it, and rotate it  &lt;br /&gt;
D. Share it with other operators&lt;br /&gt;
&lt;br /&gt;
=== Question 41 ===&lt;br /&gt;
&lt;br /&gt;
May a DWIRC operator use IRC authority to modify a DWShells account?&lt;br /&gt;
&lt;br /&gt;
A. Yes, because both use the DarkWorld name  &lt;br /&gt;
B. Only with separate DWShells authorization and role-appropriate access  &lt;br /&gt;
C. Yes, if the user is a friend  &lt;br /&gt;
D. Yes, without recording it&lt;br /&gt;
&lt;br /&gt;
=== Question 42 ===&lt;br /&gt;
&lt;br /&gt;
A staff member is offered free hosting in exchange for approving an application. What should they do?&lt;br /&gt;
&lt;br /&gt;
A. Accept quietly  &lt;br /&gt;
B. Approve the application first  &lt;br /&gt;
C. Decline, preserve the offer, disclose it, and transfer the decision  &lt;br /&gt;
D. Ask for a larger benefit&lt;br /&gt;
&lt;br /&gt;
=== Question 43 ===&lt;br /&gt;
&lt;br /&gt;
What should staff do after banning the wrong user?&lt;br /&gt;
&lt;br /&gt;
A. Hide the mistake  &lt;br /&gt;
B. Correct it, report it, preserve the record, and inform the affected user appropriately  &lt;br /&gt;
C. Blame another operator  &lt;br /&gt;
D. Add a broader ban&lt;br /&gt;
&lt;br /&gt;
=== Question 44 ===&lt;br /&gt;
&lt;br /&gt;
Does access to a restricted staff channel permit sharing its contents publicly?&lt;br /&gt;
&lt;br /&gt;
A. Yes  &lt;br /&gt;
B. Only when it proves the staff member was correct  &lt;br /&gt;
C. No, unless specifically authorized for an operational purpose  &lt;br /&gt;
D. Yes, after leaving staff&lt;br /&gt;
&lt;br /&gt;
=== Question 45 ===&lt;br /&gt;
&lt;br /&gt;
When do confidentiality obligations end?&lt;br /&gt;
&lt;br /&gt;
A. When a shift ends  &lt;br /&gt;
B. After resignation  &lt;br /&gt;
C. After access removal  &lt;br /&gt;
D. They continue after staff service ends&lt;br /&gt;
&lt;br /&gt;
== Part D2 — Ethics and Security Responses ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Answer each question in approximately 100–200 words. Each question is worth &#039;&#039;&#039;4 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Question 46 — Conflict of Interest ===&lt;br /&gt;
&lt;br /&gt;
You are assigned to investigate a user with whom you recently had a serious personal argument. Explain how you should handle the assignment.&lt;br /&gt;
&lt;br /&gt;
=== Question 47 — Credential Security ===&lt;br /&gt;
&lt;br /&gt;
Describe the security controls you would use to protect NickServ, IRC operator, Services, website, API, and server credentials.&lt;br /&gt;
&lt;br /&gt;
=== Question 48 — Staff Misconduct ===&lt;br /&gt;
&lt;br /&gt;
A user reports that an operator exposed their IP address publicly. The accused operator asks you to send the complaint directly to them and take no further action.&lt;br /&gt;
&lt;br /&gt;
Explain the correct process.&lt;br /&gt;
&lt;br /&gt;
=== Question 49 — Evidence Integrity ===&lt;br /&gt;
&lt;br /&gt;
An operator deletes part of an action log after discovering that their ban affected innocent users.&lt;br /&gt;
&lt;br /&gt;
Explain why this is serious and what should happen.&lt;br /&gt;
&lt;br /&gt;
=== Question 50 — Access Lifecycle ===&lt;br /&gt;
&lt;br /&gt;
Describe the access actions required when a staff member resigns while holding IRC operator, Services, PolicyServ, RelayServ, bot, and restricted-channel access.&lt;br /&gt;
&lt;br /&gt;
= 5. Scoring Guide =&lt;br /&gt;
&lt;br /&gt;
== Section A ==&lt;br /&gt;
&lt;br /&gt;
* 1 point for each correct answer.&lt;br /&gt;
* Maximum: 20 points.&lt;br /&gt;
&lt;br /&gt;
== Section B ==&lt;br /&gt;
&lt;br /&gt;
Each answer receives:&lt;br /&gt;
&lt;br /&gt;
* 0 points — Missing, unsafe, or incorrect.&lt;br /&gt;
* 1 point — Partially correct but incomplete.&lt;br /&gt;
* 2 points — Correct, safe, and clearly explained.&lt;br /&gt;
&lt;br /&gt;
Maximum: 20 points.&lt;br /&gt;
&lt;br /&gt;
== Section C ==&lt;br /&gt;
&lt;br /&gt;
Each scenario receives:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Area&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Correct policy and problem identification&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Immediate protection&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Proportionate action&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Evidence and privacy&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Authority and escalation&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Documentation and review&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Maximum: 30 points.&lt;br /&gt;
&lt;br /&gt;
== Section D ==&lt;br /&gt;
&lt;br /&gt;
Part D1:&lt;br /&gt;
&lt;br /&gt;
* 1 point for each correct answer.&lt;br /&gt;
* Maximum: 10 points.&lt;br /&gt;
&lt;br /&gt;
Part D2:&lt;br /&gt;
&lt;br /&gt;
* 0 points — Unsafe, missing, or seriously incorrect.&lt;br /&gt;
* 1 point — Limited understanding.&lt;br /&gt;
* 2 points — Partially correct.&lt;br /&gt;
* 3 points — Correct with minor omissions.&lt;br /&gt;
* 4 points — Complete, secure, ethical, and well reasoned.&lt;br /&gt;
&lt;br /&gt;
Maximum: 20 points.&lt;br /&gt;
&lt;br /&gt;
Section D maximum: 30 points.  &lt;br /&gt;
Mandatory minimum: &#039;&#039;&#039;26 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= 6. Automatic-Failure Conditions =&lt;br /&gt;
&lt;br /&gt;
The examination may be failed automatically if the candidate:&lt;br /&gt;
&lt;br /&gt;
* Requests or includes a real password.&lt;br /&gt;
* Attempts unauthorized production commands.&lt;br /&gt;
* Supports retaliation against a complainant.&lt;br /&gt;
* Recommends deliberate evidence destruction.&lt;br /&gt;
* Recommends exposing private user information publicly.&lt;br /&gt;
* Approves using staff powers for a personal dispute.&lt;br /&gt;
* Supports credential sharing.&lt;br /&gt;
* Intentionally confuses DWIRC authority with another project’s authority.&lt;br /&gt;
* Attempts to obtain examination answers dishonestly.&lt;br /&gt;
* Impersonates another candidate.&lt;br /&gt;
* Falsifies their submission.&lt;br /&gt;
&lt;br /&gt;
An automatic failure should be reviewed and documented by at least two authorized reviewers where practical.&lt;br /&gt;
&lt;br /&gt;
= 7. Examiner Review =&lt;br /&gt;
&lt;br /&gt;
The examiner should record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Candidate:&lt;br /&gt;
Exam version:&lt;br /&gt;
Section A score:       /20&lt;br /&gt;
Section B score:       /20&lt;br /&gt;
Section C score:       /30&lt;br /&gt;
Section D1 score:      /10&lt;br /&gt;
Section D2 score:      /20&lt;br /&gt;
Section D total:       /30&lt;br /&gt;
Overall score:         /100&lt;br /&gt;
&lt;br /&gt;
Overall threshold met: Yes / No&lt;br /&gt;
Ethics threshold met: Yes / No&lt;br /&gt;
Automatic-failure issue: Yes / No&lt;br /&gt;
Further review required: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strong areas:&lt;br /&gt;
Areas requiring improvement:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Judgment concerns:&lt;br /&gt;
Recommended remediation:&lt;br /&gt;
Exam result:&lt;br /&gt;
Reviewer:&lt;br /&gt;
Second reviewer, if required:&lt;br /&gt;
Review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 8. Examination Results =&lt;br /&gt;
&lt;br /&gt;
Possible results are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Result&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PASS&#039;&#039;&#039;&lt;br /&gt;
| Overall and ethics requirements met&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CONDITIONAL PASS&#039;&#039;&#039;&lt;br /&gt;
| Minor remediation required before practical assessment&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REVISION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Candidate must review assigned modules before re-examination&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FAIL&#039;&#039;&#039;&lt;br /&gt;
| Requirements not met&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DISQUALIFIED&#039;&#039;&#039;&lt;br /&gt;
| Serious integrity, security, or conduct violation occurred&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A conditional pass must not be used to excuse failure of the mandatory ethics threshold.&lt;br /&gt;
&lt;br /&gt;
= 9. Re-Examination =&lt;br /&gt;
&lt;br /&gt;
A candidate who does not pass may normally receive:&lt;br /&gt;
&lt;br /&gt;
* A feedback summary.&lt;br /&gt;
* Assigned modules for revision.&lt;br /&gt;
* A waiting or study period.&lt;br /&gt;
* A different examination version.&lt;br /&gt;
* One supervised re-attempt.&lt;br /&gt;
&lt;br /&gt;
The same question set should not be reused where memorization would undermine the assessment.&lt;br /&gt;
&lt;br /&gt;
A third attempt should require specific management approval.&lt;br /&gt;
&lt;br /&gt;
= 10. Examination Security =&lt;br /&gt;
&lt;br /&gt;
The examiner answer key should be stored separately from this candidate-facing page.&lt;br /&gt;
&lt;br /&gt;
It must not be:&lt;br /&gt;
&lt;br /&gt;
* Published on the public wiki.&lt;br /&gt;
* Shared in candidate channels.&lt;br /&gt;
* Sent to candidates.&lt;br /&gt;
* Stored in an unrestricted paste.&lt;br /&gt;
* Included in public source code.&lt;br /&gt;
* Provided to unauthorized staff.&lt;br /&gt;
&lt;br /&gt;
Examiners should use a restricted page or approved private assessment system.&lt;br /&gt;
&lt;br /&gt;
= 11. Candidate Answer Sheet =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DARKWORLD IRC STAFF FINAL WRITTEN EXAMINATION&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Candidate reference:&lt;br /&gt;
Exam version:&lt;br /&gt;
Date:&lt;br /&gt;
Examiner:&lt;br /&gt;
&lt;br /&gt;
SECTION A&lt;br /&gt;
1.&lt;br /&gt;
2.&lt;br /&gt;
3.&lt;br /&gt;
4.&lt;br /&gt;
5.&lt;br /&gt;
6.&lt;br /&gt;
7.&lt;br /&gt;
8.&lt;br /&gt;
9.&lt;br /&gt;
10.&lt;br /&gt;
11.&lt;br /&gt;
12.&lt;br /&gt;
13.&lt;br /&gt;
14.&lt;br /&gt;
15.&lt;br /&gt;
16.&lt;br /&gt;
17.&lt;br /&gt;
18.&lt;br /&gt;
19.&lt;br /&gt;
20.&lt;br /&gt;
&lt;br /&gt;
SECTION B&lt;br /&gt;
21.&lt;br /&gt;
22.&lt;br /&gt;
23.&lt;br /&gt;
24.&lt;br /&gt;
25.&lt;br /&gt;
26.&lt;br /&gt;
27.&lt;br /&gt;
28.&lt;br /&gt;
29.&lt;br /&gt;
30.&lt;br /&gt;
&lt;br /&gt;
SECTION C&lt;br /&gt;
31.&lt;br /&gt;
32.&lt;br /&gt;
33.&lt;br /&gt;
34.&lt;br /&gt;
35.&lt;br /&gt;
&lt;br /&gt;
SECTION D1&lt;br /&gt;
36.&lt;br /&gt;
37.&lt;br /&gt;
38.&lt;br /&gt;
39.&lt;br /&gt;
40.&lt;br /&gt;
41.&lt;br /&gt;
42.&lt;br /&gt;
43.&lt;br /&gt;
44.&lt;br /&gt;
45.&lt;br /&gt;
&lt;br /&gt;
SECTION D2&lt;br /&gt;
46.&lt;br /&gt;
47.&lt;br /&gt;
48.&lt;br /&gt;
49.&lt;br /&gt;
50.&lt;br /&gt;
&lt;br /&gt;
Candidate declaration:&lt;br /&gt;
&lt;br /&gt;
I confirm that I completed this examination independently and did not use&lt;br /&gt;
unauthorized assistance, another candidate’s answers, production staff access,&lt;br /&gt;
or confidential examination material.&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 12. Next Step =&lt;br /&gt;
&lt;br /&gt;
Candidates who pass the written examination may proceed to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Practical Assessment|DarkWorld IRC Staff Final Practical Assessment]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Examinations]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Final_Examination&amp;diff=403</id>
		<title>DWIRC:Staff Training/Final Examination</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Final_Examination&amp;diff=403"/>
		<updated>2026-08-08T18:17:42Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Staff Final Written Examination}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Final Written Examination&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Assessm...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Final Written Examination}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Final Written Examination&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Final Written Examination&lt;br /&gt;
|-&lt;br /&gt;
! Maximum score&lt;br /&gt;
| 100 points&lt;br /&gt;
|-&lt;br /&gt;
! Overall passing score&lt;br /&gt;
| 75 points&lt;br /&gt;
|-&lt;br /&gt;
! Ethics and security requirement&lt;br /&gt;
| At least 26 of 30 points&lt;br /&gt;
|-&lt;br /&gt;
! Recommended duration&lt;br /&gt;
| 120 minutes&lt;br /&gt;
|-&lt;br /&gt;
! Attempts&lt;br /&gt;
| Two attempts unless management authorizes otherwise&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisites&lt;br /&gt;
| Modules 1–10 and acceptance of the [[DWIRC:Staff Training/Code of Conduct|Staff Code of Conduct]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The Final Written Examination evaluates whether a candidate understands the knowledge, policies, responsibilities, security requirements, and judgment expected from potential DarkWorld IRC staff.&lt;br /&gt;
&lt;br /&gt;
Passing the written examination does not grant staff access.&lt;br /&gt;
&lt;br /&gt;
Candidates must also pass the:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
* [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
* [[DWIRC:Staff Training/Probation|Probationary Staff Period]]&lt;br /&gt;
&lt;br /&gt;
= 2. Examination Rules =&lt;br /&gt;
&lt;br /&gt;
Unless the examiner states otherwise:&lt;br /&gt;
&lt;br /&gt;
* The examination is supervised.&lt;br /&gt;
* It is completed individually.&lt;br /&gt;
* It is closed-book.&lt;br /&gt;
* Candidates must answer in their own words.&lt;br /&gt;
* Candidates may not receive answers from another person.&lt;br /&gt;
* Candidates may not use another candidate’s submission.&lt;br /&gt;
* Candidates may not alter examination records.&lt;br /&gt;
* Candidates must not perform commands against production users.&lt;br /&gt;
* Practical commands must be written or simulated only.&lt;br /&gt;
* Sensitive credentials must never be included.&lt;br /&gt;
* Questions may be clarified, but examiners must not provide answers.&lt;br /&gt;
* All answers must be submitted through the approved process.&lt;br /&gt;
&lt;br /&gt;
Cheating, impersonation, falsification, or unauthorized assistance may result in failure or removal from the training program.&lt;br /&gt;
&lt;br /&gt;
= 3. Examination Structure =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Section&lt;br /&gt;
! Subject&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| A&lt;br /&gt;
| IRC and network fundamentals&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| B&lt;br /&gt;
| Short-answer operational knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| C&lt;br /&gt;
| Policy and incident scenarios&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
| D&lt;br /&gt;
| Ethics and security&lt;br /&gt;
| 30&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The candidate must achieve:&lt;br /&gt;
&lt;br /&gt;
* At least &#039;&#039;&#039;75/100 overall&#039;&#039;&#039;.&lt;br /&gt;
* At least &#039;&#039;&#039;26/30 in Section D&#039;&#039;&#039;.&lt;br /&gt;
* No automatic-failure condition.&lt;br /&gt;
* Acceptable judgment in all high-risk scenarios.&lt;br /&gt;
&lt;br /&gt;
= 4. Candidate Information =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Candidate reference:&lt;br /&gt;
Exam version:&lt;br /&gt;
Exam date:&lt;br /&gt;
Start time:&lt;br /&gt;
End time:&lt;br /&gt;
Timezone:&lt;br /&gt;
Examiner:&lt;br /&gt;
Submission method:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Section A — IRC and Network Fundamentals =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Select the best answer. Each question is worth &#039;&#039;&#039;1 point&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Question 1 ==&lt;br /&gt;
&lt;br /&gt;
What is the relationship between DarkWorld Network and DarkWorld IRC?&lt;br /&gt;
&lt;br /&gt;
A. They are unrelated organizations.  &lt;br /&gt;
B. DarkWorld IRC is one project under the DarkWorld Network umbrella.  &lt;br /&gt;
C. DarkWorld IRC controls every DarkWorld project.  &lt;br /&gt;
D. DarkWorld Network is an IRC channel.&lt;br /&gt;
&lt;br /&gt;
== Question 2 ==&lt;br /&gt;
&lt;br /&gt;
Which setting is recommended for a secure DarkWorld IRC connection?&lt;br /&gt;
&lt;br /&gt;
A. `irc.darkworld.network`, port 6697, TLS enabled  &lt;br /&gt;
B. `irc.darkworld.network`, port 21, TLS disabled  &lt;br /&gt;
C. A direct IP address with certificate verification disabled  &lt;br /&gt;
D. Any server and any open port&lt;br /&gt;
&lt;br /&gt;
== Question 3 ==&lt;br /&gt;
&lt;br /&gt;
Which part of this mask is the ident?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon!student@User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A. Falcon  &lt;br /&gt;
B. student  &lt;br /&gt;
C. User.DarkWorld.Network  &lt;br /&gt;
D. DarkWorld&lt;br /&gt;
&lt;br /&gt;
== Question 4 ==&lt;br /&gt;
&lt;br /&gt;
What does SASL normally provide?&lt;br /&gt;
&lt;br /&gt;
A. Channel encryption between users  &lt;br /&gt;
B. Authentication to a registered IRC account during connection  &lt;br /&gt;
C. Automatic network bans  &lt;br /&gt;
D. IRC server administration&lt;br /&gt;
&lt;br /&gt;
== Question 5 ==&lt;br /&gt;
&lt;br /&gt;
What is the primary purpose of TLS?&lt;br /&gt;
&lt;br /&gt;
A. To give channel operator status  &lt;br /&gt;
B. To register a nickname  &lt;br /&gt;
C. To encrypt the connection between the client and IRC server  &lt;br /&gt;
D. To hide messages from other channel members&lt;br /&gt;
&lt;br /&gt;
== Question 6 ==&lt;br /&gt;
&lt;br /&gt;
Which command normally displays information about a connected user?&lt;br /&gt;
&lt;br /&gt;
A. `/WHOIS nickname`  &lt;br /&gt;
B. `/TOPIC nickname`  &lt;br /&gt;
C. `/PART nickname`  &lt;br /&gt;
D. `/MOTD nickname`&lt;br /&gt;
&lt;br /&gt;
== Question 7 ==&lt;br /&gt;
&lt;br /&gt;
What is a netsplit?&lt;br /&gt;
&lt;br /&gt;
A. A user changing nicknames  &lt;br /&gt;
B. A loss of communication between linked IRC servers  &lt;br /&gt;
C. A channel ban  &lt;br /&gt;
D. A failed NickServ registration&lt;br /&gt;
&lt;br /&gt;
== Question 8 ==&lt;br /&gt;
&lt;br /&gt;
Which channel status commonly represents voice?&lt;br /&gt;
&lt;br /&gt;
A. `+o`  &lt;br /&gt;
B. `+q`  &lt;br /&gt;
C. `+v`  &lt;br /&gt;
D. `+a`&lt;br /&gt;
&lt;br /&gt;
== Question 9 ==&lt;br /&gt;
&lt;br /&gt;
What does channel mode `+m` generally do?&lt;br /&gt;
&lt;br /&gt;
A. Deletes the channel  &lt;br /&gt;
B. Makes the channel moderated  &lt;br /&gt;
C. Registers the channel  &lt;br /&gt;
D. Hides every user&lt;br /&gt;
&lt;br /&gt;
== Question 10 ==&lt;br /&gt;
&lt;br /&gt;
Which command normally views a channel’s ban list?&lt;br /&gt;
&lt;br /&gt;
A. `/MODE #channel +b`  &lt;br /&gt;
B. `/BANLIST nickname`  &lt;br /&gt;
C. `/WHOIS #channel`  &lt;br /&gt;
D. `/LISTBAN server`&lt;br /&gt;
&lt;br /&gt;
== Question 11 ==&lt;br /&gt;
&lt;br /&gt;
What does ChanServ access normally provide?&lt;br /&gt;
&lt;br /&gt;
A. Persistent channel permissions associated with an account or access entry  &lt;br /&gt;
B. A permanent IRC operator account  &lt;br /&gt;
C. Server shell access  &lt;br /&gt;
D. Authority over every registered channel&lt;br /&gt;
&lt;br /&gt;
== Question 12 ==&lt;br /&gt;
&lt;br /&gt;
What is the difference between live `+o` and ChanServ access?&lt;br /&gt;
&lt;br /&gt;
A. There is no difference.  &lt;br /&gt;
B. Live `+o` is current channel status; ChanServ access is persistent authorization.  &lt;br /&gt;
C. ChanServ access grants root access.  &lt;br /&gt;
D. Live `+o` registers an account.&lt;br /&gt;
&lt;br /&gt;
== Question 13 ==&lt;br /&gt;
&lt;br /&gt;
What should staff do when a user posts a password publicly?&lt;br /&gt;
&lt;br /&gt;
A. Quote it so the user can confirm it.  &lt;br /&gt;
B. Test it.  &lt;br /&gt;
C. Tell the user to change it immediately without repeating it.  &lt;br /&gt;
D. Save it in the incident report.&lt;br /&gt;
&lt;br /&gt;
== Question 14 ==&lt;br /&gt;
&lt;br /&gt;
Which issue normally belongs to DWShells rather than DWIRC staff?&lt;br /&gt;
&lt;br /&gt;
A. NickServ authentication  &lt;br /&gt;
B. Increasing a Linux shell account’s disk quota  &lt;br /&gt;
C. An IRC channel mode  &lt;br /&gt;
D. A netsplit&lt;br /&gt;
&lt;br /&gt;
== Question 15 ==&lt;br /&gt;
&lt;br /&gt;
What is the least-privilege principle?&lt;br /&gt;
&lt;br /&gt;
A. Every staff member receives every permission.  &lt;br /&gt;
B. Access is limited to what is required for the assigned role.  &lt;br /&gt;
C. Only founders may use IRC.  &lt;br /&gt;
D. Staff may share access when busy.&lt;br /&gt;
&lt;br /&gt;
== Question 16 ==&lt;br /&gt;
&lt;br /&gt;
What does a KILL normally do?&lt;br /&gt;
&lt;br /&gt;
A. Deletes a registered account  &lt;br /&gt;
B. Disconnects a user’s current IRC connection  &lt;br /&gt;
C. Deletes an IRC channel  &lt;br /&gt;
D. Restarts an IRC server&lt;br /&gt;
&lt;br /&gt;
== Question 17 ==&lt;br /&gt;
&lt;br /&gt;
What is a serious risk of banning a shared VPN or bouncer hostname?&lt;br /&gt;
&lt;br /&gt;
A. It may affect many unrelated users.  &lt;br /&gt;
B. It improves authentication.  &lt;br /&gt;
C. It registers all matching accounts.  &lt;br /&gt;
D. It removes channel topics.&lt;br /&gt;
&lt;br /&gt;
== Question 18 ==&lt;br /&gt;
&lt;br /&gt;
What is the correct response to conflicting official policy information?&lt;br /&gt;
&lt;br /&gt;
A. Choose whichever policy permits the strongest action.  &lt;br /&gt;
B. Ignore both sources.  &lt;br /&gt;
C. Verify the current authoritative policy and escalate uncertainty.  &lt;br /&gt;
D. Ask a random channel user.&lt;br /&gt;
&lt;br /&gt;
== Question 19 ==&lt;br /&gt;
&lt;br /&gt;
Does completing the training program automatically grant IRC operator access?&lt;br /&gt;
&lt;br /&gt;
A. Yes  &lt;br /&gt;
B. Only if the candidate requests it  &lt;br /&gt;
C. No; access requires a role, approval, and successful evaluation  &lt;br /&gt;
D. Only during weekends&lt;br /&gt;
&lt;br /&gt;
== Question 20 ==&lt;br /&gt;
&lt;br /&gt;
Which statement about WHOIS is correct?&lt;br /&gt;
&lt;br /&gt;
A. WHOIS proves a user’s legal identity.  &lt;br /&gt;
B. WHOIS may show connection and account information but does not prove legal identity.  &lt;br /&gt;
C. WHOIS reveals every password.  &lt;br /&gt;
D. WHOIS provides server root access.&lt;br /&gt;
&lt;br /&gt;
= Section B — Short-Answer Operational Knowledge =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Answer each question in approximately 50–100 words. Each question is worth &#039;&#039;&#039;2 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Question 21 ==&lt;br /&gt;
&lt;br /&gt;
Explain the difference between a nickname, ident, displayed hostname, and registered Services account.&lt;br /&gt;
&lt;br /&gt;
== Question 22 ==&lt;br /&gt;
&lt;br /&gt;
Explain why staff should not advise users to disable TLS certificate verification when a warning appears.&lt;br /&gt;
&lt;br /&gt;
== Question 23 ==&lt;br /&gt;
&lt;br /&gt;
Describe the safe procedure for helping a user who cannot identify to NickServ.&lt;br /&gt;
&lt;br /&gt;
== Question 24 ==&lt;br /&gt;
&lt;br /&gt;
Explain the difference between a channel ban, ban exception, and invite exception.&lt;br /&gt;
&lt;br /&gt;
== Question 25 ==&lt;br /&gt;
&lt;br /&gt;
Describe the steps staff should take before applying a significant channel restriction.&lt;br /&gt;
&lt;br /&gt;
== Question 26 ==&lt;br /&gt;
&lt;br /&gt;
Explain why a shared hostname, VPN, shell server, or bouncer does not prove that multiple connections belong to the same person.&lt;br /&gt;
&lt;br /&gt;
== Question 27 ==&lt;br /&gt;
&lt;br /&gt;
Describe the information that should be included in a support-case escalation.&lt;br /&gt;
&lt;br /&gt;
== Question 28 ==&lt;br /&gt;
&lt;br /&gt;
Explain when a channel problem should be escalated to network staff.&lt;br /&gt;
&lt;br /&gt;
== Question 29 ==&lt;br /&gt;
&lt;br /&gt;
Describe what an incident timeline should contain and why UTC should normally be used.&lt;br /&gt;
&lt;br /&gt;
== Question 30 ==&lt;br /&gt;
&lt;br /&gt;
Explain what an IRC operator should verify before applying a network-wide restriction.&lt;br /&gt;
&lt;br /&gt;
= Section C — Policy and Incident Scenarios =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Answer each scenario in approximately 200–350 words. Each scenario is worth &#039;&#039;&#039;6 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Each answer should address:&lt;br /&gt;
&lt;br /&gt;
* Applicable policy or responsibility.&lt;br /&gt;
* Confirmed facts.&lt;br /&gt;
* Missing information.&lt;br /&gt;
* Immediate action.&lt;br /&gt;
* Authority boundaries.&lt;br /&gt;
* Evidence.&lt;br /&gt;
* Escalation.&lt;br /&gt;
* Documentation.&lt;br /&gt;
* Review or recovery.&lt;br /&gt;
&lt;br /&gt;
== Question 31 — Advertising ==&lt;br /&gt;
&lt;br /&gt;
A user mentions another IRC client’s website once after being asked where it can be downloaded. A trainee immediately accuses the user of prohibited advertising and issues a channel ban.&lt;br /&gt;
&lt;br /&gt;
Explain whether the response was proportionate and what should happen next.&lt;br /&gt;
&lt;br /&gt;
== Question 32 — Relay Compliance ==&lt;br /&gt;
&lt;br /&gt;
A bot relays messages from an external network into a DarkWorld channel. Some messages invite users to join the external network. The channel founder says they approved the bot, but no official relay registration is found.&lt;br /&gt;
&lt;br /&gt;
Explain how the case should be handled.&lt;br /&gt;
&lt;br /&gt;
== Question 33 — Shared Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
One abusive connection and fifteen legitimate DWBouncers users share the same displayed hostname. An operator proposes a permanent global ban of the hostname.&lt;br /&gt;
&lt;br /&gt;
Explain the risks and recommend a safer response.&lt;br /&gt;
&lt;br /&gt;
== Question 34 — Services Ownership ==&lt;br /&gt;
&lt;br /&gt;
A user says they previously owned a registered project channel. They provide an old screenshot and ask a trainee to replace the current founder immediately.&lt;br /&gt;
&lt;br /&gt;
Explain what the trainee should do.&lt;br /&gt;
&lt;br /&gt;
== Question 35 — Coordinated Incident ==&lt;br /&gt;
&lt;br /&gt;
Several new accounts begin posting malicious login links in `#DarkWorld`, `#Help`, and `#Support`. Two users say they entered their NickServ passwords.&lt;br /&gt;
&lt;br /&gt;
Explain the immediate response, escalation, evidence handling, user communication, and recovery requirements.&lt;br /&gt;
&lt;br /&gt;
= Section D — Ethics and Security =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mandatory minimum: 26 of 30 points.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Failure in this section cannot be compensated for by a higher score elsewhere.&lt;br /&gt;
&lt;br /&gt;
== Part D1 — Ethical Decisions ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Select the best answer. Each question is worth &#039;&#039;&#039;1 point&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Question 36 ===&lt;br /&gt;
&lt;br /&gt;
A close friend asks a staff member to remove their ban privately. What should the staff member do?&lt;br /&gt;
&lt;br /&gt;
A. Remove it immediately.  &lt;br /&gt;
B. Disclose the conflict and direct the appeal to an independent reviewer.  &lt;br /&gt;
C. Share the ban system password.  &lt;br /&gt;
D. Delete the original action record.&lt;br /&gt;
&lt;br /&gt;
=== Question 37 ===&lt;br /&gt;
&lt;br /&gt;
A staff member receives a complaint about their own action. Who should make the final review where independence is required?&lt;br /&gt;
&lt;br /&gt;
A. The same staff member alone  &lt;br /&gt;
B. Their closest friend  &lt;br /&gt;
C. A neutral authorized reviewer  &lt;br /&gt;
D. The complainant&lt;br /&gt;
&lt;br /&gt;
=== Question 38 ===&lt;br /&gt;
&lt;br /&gt;
Which action is retaliation?&lt;br /&gt;
&lt;br /&gt;
A. Correcting an incorrect restriction  &lt;br /&gt;
B. Banning a user because they submitted a staff complaint  &lt;br /&gt;
C. Recording an incident  &lt;br /&gt;
D. Asking for an exact error message&lt;br /&gt;
&lt;br /&gt;
=== Question 39 ===&lt;br /&gt;
&lt;br /&gt;
When may staff access private user information?&lt;br /&gt;
&lt;br /&gt;
A. Whenever they are curious  &lt;br /&gt;
B. When a friend asks  &lt;br /&gt;
C. When required for an authorized operational duty  &lt;br /&gt;
D. Whenever the user is offline&lt;br /&gt;
&lt;br /&gt;
=== Question 40 ===&lt;br /&gt;
&lt;br /&gt;
What should happen after an operator password is exposed?&lt;br /&gt;
&lt;br /&gt;
A. Continue using it because only staff saw it  &lt;br /&gt;
B. Delete the message and say nothing  &lt;br /&gt;
C. Treat it as compromised, report it, and rotate it  &lt;br /&gt;
D. Share it with other operators&lt;br /&gt;
&lt;br /&gt;
=== Question 41 ===&lt;br /&gt;
&lt;br /&gt;
May a DWIRC operator use IRC authority to modify a DWShells account?&lt;br /&gt;
&lt;br /&gt;
A. Yes, because both use the DarkWorld name  &lt;br /&gt;
B. Only with separate DWShells authorization and role-appropriate access  &lt;br /&gt;
C. Yes, if the user is a friend  &lt;br /&gt;
D. Yes, without recording it&lt;br /&gt;
&lt;br /&gt;
=== Question 42 ===&lt;br /&gt;
&lt;br /&gt;
A staff member is offered free hosting in exchange for approving an application. What should they do?&lt;br /&gt;
&lt;br /&gt;
A. Accept quietly  &lt;br /&gt;
B. Approve the application first  &lt;br /&gt;
C. Decline, preserve the offer, disclose it, and transfer the decision  &lt;br /&gt;
D. Ask for a larger benefit&lt;br /&gt;
&lt;br /&gt;
=== Question 43 ===&lt;br /&gt;
&lt;br /&gt;
What should staff do after banning the wrong user?&lt;br /&gt;
&lt;br /&gt;
A. Hide the mistake  &lt;br /&gt;
B. Correct it, report it, preserve the record, and inform the affected user appropriately  &lt;br /&gt;
C. Blame another operator  &lt;br /&gt;
D. Add a broader ban&lt;br /&gt;
&lt;br /&gt;
=== Question 44 ===&lt;br /&gt;
&lt;br /&gt;
Does access to a restricted staff channel permit sharing its contents publicly?&lt;br /&gt;
&lt;br /&gt;
A. Yes  &lt;br /&gt;
B. Only when it proves the staff member was correct  &lt;br /&gt;
C. No, unless specifically authorized for an operational purpose  &lt;br /&gt;
D. Yes, after leaving staff&lt;br /&gt;
&lt;br /&gt;
=== Question 45 ===&lt;br /&gt;
&lt;br /&gt;
When do confidentiality obligations end?&lt;br /&gt;
&lt;br /&gt;
A. When a shift ends  &lt;br /&gt;
B. After resignation  &lt;br /&gt;
C. After access removal  &lt;br /&gt;
D. They continue after staff service ends&lt;br /&gt;
&lt;br /&gt;
== Part D2 — Ethics and Security Responses ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Instructions:&#039;&#039;&#039; Answer each question in approximately 100–200 words. Each question is worth &#039;&#039;&#039;4 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Question 46 — Conflict of Interest ===&lt;br /&gt;
&lt;br /&gt;
You are assigned to investigate a user with whom you recently had a serious personal argument. Explain how you should handle the assignment.&lt;br /&gt;
&lt;br /&gt;
=== Question 47 — Credential Security ===&lt;br /&gt;
&lt;br /&gt;
Describe the security controls you would use to protect NickServ, IRC operator, Services, website, API, and server credentials.&lt;br /&gt;
&lt;br /&gt;
=== Question 48 — Staff Misconduct ===&lt;br /&gt;
&lt;br /&gt;
A user reports that an operator exposed their IP address publicly. The accused operator asks you to send the complaint directly to them and take no further action.&lt;br /&gt;
&lt;br /&gt;
Explain the correct process.&lt;br /&gt;
&lt;br /&gt;
=== Question 49 — Evidence Integrity ===&lt;br /&gt;
&lt;br /&gt;
An operator deletes part of an action log after discovering that their ban affected innocent users.&lt;br /&gt;
&lt;br /&gt;
Explain why this is serious and what should happen.&lt;br /&gt;
&lt;br /&gt;
=== Question 50 — Access Lifecycle ===&lt;br /&gt;
&lt;br /&gt;
Describe the access actions required when a staff member resigns while holding IRC operator, Services, PolicyServ, RelayServ, bot, and restricted-channel access.&lt;br /&gt;
&lt;br /&gt;
= 5. Scoring Guide =&lt;br /&gt;
&lt;br /&gt;
== Section A ==&lt;br /&gt;
&lt;br /&gt;
* 1 point for each correct answer.&lt;br /&gt;
* Maximum: 20 points.&lt;br /&gt;
&lt;br /&gt;
== Section B ==&lt;br /&gt;
&lt;br /&gt;
Each answer receives:&lt;br /&gt;
&lt;br /&gt;
* 0 points — Missing, unsafe, or incorrect.&lt;br /&gt;
* 1 point — Partially correct but incomplete.&lt;br /&gt;
* 2 points — Correct, safe, and clearly explained.&lt;br /&gt;
&lt;br /&gt;
Maximum: 20 points.&lt;br /&gt;
&lt;br /&gt;
== Section C ==&lt;br /&gt;
&lt;br /&gt;
Each scenario receives:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Area&lt;br /&gt;
! Points&lt;br /&gt;
|-&lt;br /&gt;
| Correct policy and problem identification&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Immediate protection&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Proportionate action&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Evidence and privacy&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Authority and escalation&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| Documentation and review&lt;br /&gt;
| 1&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Maximum: 30 points.&lt;br /&gt;
&lt;br /&gt;
== Section D ==&lt;br /&gt;
&lt;br /&gt;
Part D1:&lt;br /&gt;
&lt;br /&gt;
* 1 point for each correct answer.&lt;br /&gt;
* Maximum: 10 points.&lt;br /&gt;
&lt;br /&gt;
Part D2:&lt;br /&gt;
&lt;br /&gt;
* 0 points — Unsafe, missing, or seriously incorrect.&lt;br /&gt;
* 1 point — Limited understanding.&lt;br /&gt;
* 2 points — Partially correct.&lt;br /&gt;
* 3 points — Correct with minor omissions.&lt;br /&gt;
* 4 points — Complete, secure, ethical, and well reasoned.&lt;br /&gt;
&lt;br /&gt;
Maximum: 20 points.&lt;br /&gt;
&lt;br /&gt;
Section D maximum: 30 points.  &lt;br /&gt;
Mandatory minimum: &#039;&#039;&#039;26 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
= 6. Automatic-Failure Conditions =&lt;br /&gt;
&lt;br /&gt;
The examination may be failed automatically if the candidate:&lt;br /&gt;
&lt;br /&gt;
* Requests or includes a real password.&lt;br /&gt;
* Attempts unauthorized production commands.&lt;br /&gt;
* Supports retaliation against a complainant.&lt;br /&gt;
* Recommends deliberate evidence destruction.&lt;br /&gt;
* Recommends exposing private user information publicly.&lt;br /&gt;
* Approves using staff powers for a personal dispute.&lt;br /&gt;
* Supports credential sharing.&lt;br /&gt;
* Intentionally confuses DWIRC authority with another project’s authority.&lt;br /&gt;
* Attempts to obtain examination answers dishonestly.&lt;br /&gt;
* Impersonates another candidate.&lt;br /&gt;
* Falsifies their submission.&lt;br /&gt;
&lt;br /&gt;
An automatic failure should be reviewed and documented by at least two authorized reviewers where practical.&lt;br /&gt;
&lt;br /&gt;
= 7. Examiner Review =&lt;br /&gt;
&lt;br /&gt;
The examiner should record:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Candidate:&lt;br /&gt;
Exam version:&lt;br /&gt;
Section A score:       /20&lt;br /&gt;
Section B score:       /20&lt;br /&gt;
Section C score:       /30&lt;br /&gt;
Section D1 score:      /10&lt;br /&gt;
Section D2 score:      /20&lt;br /&gt;
Section D total:       /30&lt;br /&gt;
Overall score:         /100&lt;br /&gt;
&lt;br /&gt;
Overall threshold met: Yes / No&lt;br /&gt;
Ethics threshold met: Yes / No&lt;br /&gt;
Automatic-failure issue: Yes / No&lt;br /&gt;
Further review required: Yes / No&lt;br /&gt;
&lt;br /&gt;
Strong areas:&lt;br /&gt;
Areas requiring improvement:&lt;br /&gt;
Security concerns:&lt;br /&gt;
Judgment concerns:&lt;br /&gt;
Recommended remediation:&lt;br /&gt;
Exam result:&lt;br /&gt;
Reviewer:&lt;br /&gt;
Second reviewer, if required:&lt;br /&gt;
Review date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 8. Examination Results =&lt;br /&gt;
&lt;br /&gt;
Possible results are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Result&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PASS&#039;&#039;&#039;&lt;br /&gt;
| Overall and ethics requirements met&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;CONDITIONAL PASS&#039;&#039;&#039;&lt;br /&gt;
| Minor remediation required before practical assessment&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REVISION REQUIRED&#039;&#039;&#039;&lt;br /&gt;
| Candidate must review assigned modules before re-examination&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;FAIL&#039;&#039;&#039;&lt;br /&gt;
| Requirements not met&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DISQUALIFIED&#039;&#039;&#039;&lt;br /&gt;
| Serious integrity, security, or conduct violation occurred&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A conditional pass must not be used to excuse failure of the mandatory ethics threshold.&lt;br /&gt;
&lt;br /&gt;
= 9. Re-Examination =&lt;br /&gt;
&lt;br /&gt;
A candidate who does not pass may normally receive:&lt;br /&gt;
&lt;br /&gt;
* A feedback summary.&lt;br /&gt;
* Assigned modules for revision.&lt;br /&gt;
* A waiting or study period.&lt;br /&gt;
* A different examination version.&lt;br /&gt;
* One supervised re-attempt.&lt;br /&gt;
&lt;br /&gt;
The same question set should not be reused where memorization would undermine the assessment.&lt;br /&gt;
&lt;br /&gt;
A third attempt should require specific management approval.&lt;br /&gt;
&lt;br /&gt;
= 10. Examination Security =&lt;br /&gt;
&lt;br /&gt;
The examiner answer key should be stored separately from this candidate-facing page.&lt;br /&gt;
&lt;br /&gt;
It must not be:&lt;br /&gt;
&lt;br /&gt;
* Published on the public wiki.&lt;br /&gt;
* Shared in candidate channels.&lt;br /&gt;
* Sent to candidates.&lt;br /&gt;
* Stored in an unrestricted paste.&lt;br /&gt;
* Included in public source code.&lt;br /&gt;
* Provided to unauthorized staff.&lt;br /&gt;
&lt;br /&gt;
Examiners should use a restricted page or approved private assessment system.&lt;br /&gt;
&lt;br /&gt;
= 11. Candidate Answer Sheet =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DARKWORLD IRC STAFF FINAL WRITTEN EXAMINATION&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Registered account:&lt;br /&gt;
Candidate reference:&lt;br /&gt;
Exam version:&lt;br /&gt;
Date:&lt;br /&gt;
Examiner:&lt;br /&gt;
&lt;br /&gt;
SECTION A&lt;br /&gt;
1.&lt;br /&gt;
2.&lt;br /&gt;
3.&lt;br /&gt;
4.&lt;br /&gt;
5.&lt;br /&gt;
6.&lt;br /&gt;
7.&lt;br /&gt;
8.&lt;br /&gt;
9.&lt;br /&gt;
10.&lt;br /&gt;
11.&lt;br /&gt;
12.&lt;br /&gt;
13.&lt;br /&gt;
14.&lt;br /&gt;
15.&lt;br /&gt;
16.&lt;br /&gt;
17.&lt;br /&gt;
18.&lt;br /&gt;
19.&lt;br /&gt;
20.&lt;br /&gt;
&lt;br /&gt;
SECTION B&lt;br /&gt;
21.&lt;br /&gt;
22.&lt;br /&gt;
23.&lt;br /&gt;
24.&lt;br /&gt;
25.&lt;br /&gt;
26.&lt;br /&gt;
27.&lt;br /&gt;
28.&lt;br /&gt;
29.&lt;br /&gt;
30.&lt;br /&gt;
&lt;br /&gt;
SECTION C&lt;br /&gt;
31.&lt;br /&gt;
32.&lt;br /&gt;
33.&lt;br /&gt;
34.&lt;br /&gt;
35.&lt;br /&gt;
&lt;br /&gt;
SECTION D1&lt;br /&gt;
36.&lt;br /&gt;
37.&lt;br /&gt;
38.&lt;br /&gt;
39.&lt;br /&gt;
40.&lt;br /&gt;
41.&lt;br /&gt;
42.&lt;br /&gt;
43.&lt;br /&gt;
44.&lt;br /&gt;
45.&lt;br /&gt;
&lt;br /&gt;
SECTION D2&lt;br /&gt;
46.&lt;br /&gt;
47.&lt;br /&gt;
48.&lt;br /&gt;
49.&lt;br /&gt;
50.&lt;br /&gt;
&lt;br /&gt;
Candidate declaration:&lt;br /&gt;
&lt;br /&gt;
I confirm that I completed this examination independently and did not use&lt;br /&gt;
unauthorized assistance, another candidate’s answers, production staff access,&lt;br /&gt;
or confidential examination material.&lt;br /&gt;
&lt;br /&gt;
Candidate:&lt;br /&gt;
Date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 12. Next Step =&lt;br /&gt;
&lt;br /&gt;
Candidates who pass the written examination may proceed to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Practical Assessment|DarkWorld IRC Staff Final Practical Assessment]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Examinations]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Code_of_Conduct&amp;diff=402</id>
		<title>DWIRC:Staff Training/Code of Conduct</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Code_of_Conduct&amp;diff=402"/>
		<updated>2026-08-08T18:14:43Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Code of Conduct&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Code of Conduct}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Network&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Staff Code of Conduct&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Applies to&lt;br /&gt;
| IRC staff candidates, trainees, probationary staff, permanent staff, operators, Services staff, and administrators&lt;br /&gt;
|-&lt;br /&gt;
! Scope&lt;br /&gt;
| DarkWorld IRC Network&lt;br /&gt;
|-&lt;br /&gt;
! Acceptance&lt;br /&gt;
| Mandatory before final assessment and probation&lt;br /&gt;
|-&lt;br /&gt;
! Enforcement&lt;br /&gt;
| DarkWorld IRC management and authorized reviewers&lt;br /&gt;
|-&lt;br /&gt;
! Related program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Staff Code of Conduct&#039;&#039;&#039; establishes the standards of behavior, integrity, security, and accountability required from everyone serving or training to serve within the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff may receive trusted access to:&lt;br /&gt;
&lt;br /&gt;
* IRC users and channels.&lt;br /&gt;
* Restricted staff channels.&lt;br /&gt;
* IRC operator commands.&lt;br /&gt;
* IRC Services.&lt;br /&gt;
* Account and channel information.&lt;br /&gt;
* Abuse reports.&lt;br /&gt;
* Policy and approval systems.&lt;br /&gt;
* Logs and operational information.&lt;br /&gt;
* Network servers and infrastructure, where separately authorized.&lt;br /&gt;
&lt;br /&gt;
This access must be used only to support, protect, and operate the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
= 2. Scope =&lt;br /&gt;
&lt;br /&gt;
This Code applies to:&lt;br /&gt;
&lt;br /&gt;
* Staff applicants where relevant.&lt;br /&gt;
* IRC students and trainees.&lt;br /&gt;
* Probationary IRC staff.&lt;br /&gt;
* Support staff.&lt;br /&gt;
* Channel-support staff.&lt;br /&gt;
* IRC operators.&lt;br /&gt;
* Global IRC operators.&lt;br /&gt;
* Services staff.&lt;br /&gt;
* Services administrators.&lt;br /&gt;
* Policy and compliance staff.&lt;br /&gt;
* Abuse and security staff.&lt;br /&gt;
* IRCd and network administrators.&lt;br /&gt;
* Root administrators.&lt;br /&gt;
* Management personnel exercising DWIRC authority.&lt;br /&gt;
* Temporary or emergency staff appointments.&lt;br /&gt;
&lt;br /&gt;
The Code applies whenever a person:&lt;br /&gt;
&lt;br /&gt;
* Uses DarkWorld IRC staff access.&lt;br /&gt;
* Represents DarkWorld IRC officially.&lt;br /&gt;
* Handles DarkWorld IRC information.&lt;br /&gt;
* Participates in a DWIRC investigation.&lt;br /&gt;
* Uses a staff bot, website, API, or administrative system.&lt;br /&gt;
* Performs a task on behalf of the IRC network.&lt;br /&gt;
&lt;br /&gt;
= 3. Relationship to DarkWorld Network =&lt;br /&gt;
&lt;br /&gt;
DarkWorld Network is the wider umbrella under which DarkWorld IRC and other projects operate.&lt;br /&gt;
&lt;br /&gt;
DWIRC staff authority does not automatically grant authority over:&lt;br /&gt;
&lt;br /&gt;
* DWShells.&lt;br /&gt;
* DWBouncers.&lt;br /&gt;
* DWBots.&lt;br /&gt;
* DWGames.&lt;br /&gt;
* DWVPN.&lt;br /&gt;
* Websites.&lt;br /&gt;
* Hosting systems.&lt;br /&gt;
* Other DarkWorld projects.&lt;br /&gt;
* Registered external projects.&lt;br /&gt;
&lt;br /&gt;
Any role in another project requires separate authorization, training, and access.&lt;br /&gt;
&lt;br /&gt;
= 4. Commitment to Service =&lt;br /&gt;
&lt;br /&gt;
Staff members shall:&lt;br /&gt;
&lt;br /&gt;
* Act in the interests of the IRC network and its community.&lt;br /&gt;
* Help users patiently and professionally.&lt;br /&gt;
* Protect users from abuse.&lt;br /&gt;
* Maintain network stability.&lt;br /&gt;
* Apply policies fairly.&lt;br /&gt;
* Cooperate with other authorized staff.&lt;br /&gt;
* Respect legitimate channel autonomy.&lt;br /&gt;
* Escalate matters outside their authority.&lt;br /&gt;
* Place operational responsibility above personal status.&lt;br /&gt;
&lt;br /&gt;
Staff access is a responsibility, not a personal entitlement.&lt;br /&gt;
&lt;br /&gt;
= 5. Respectful Conduct =&lt;br /&gt;
&lt;br /&gt;
Staff members shall:&lt;br /&gt;
&lt;br /&gt;
* Treat users and staff respectfully.&lt;br /&gt;
* Communicate clearly and professionally.&lt;br /&gt;
* Avoid insults, ridicule, humiliation, and intimidation.&lt;br /&gt;
* Avoid discriminatory treatment.&lt;br /&gt;
* Remain calm during disagreements.&lt;br /&gt;
* Recognize language and accessibility barriers.&lt;br /&gt;
* Avoid unnecessary public confrontation.&lt;br /&gt;
* Correct misinformation without attacking the person.&lt;br /&gt;
* Set appropriate boundaries when users become abusive.&lt;br /&gt;
&lt;br /&gt;
Staff members remain entitled to protection from harassment and are not required to tolerate threats or sustained abuse.&lt;br /&gt;
&lt;br /&gt;
= 6. Neutrality and Fairness =&lt;br /&gt;
&lt;br /&gt;
Staff members shall:&lt;br /&gt;
&lt;br /&gt;
* Apply rules consistently.&lt;br /&gt;
* Base decisions on policy and evidence.&lt;br /&gt;
* Judge conduct rather than personal popularity.&lt;br /&gt;
* Avoid favoritism.&lt;br /&gt;
* Avoid harsher treatment of personal rivals.&lt;br /&gt;
* Avoid special treatment for friends.&lt;br /&gt;
* Respect the right to appeal.&lt;br /&gt;
* Correct inconsistent enforcement.&lt;br /&gt;
* Avoid prejudging cases publicly.&lt;br /&gt;
&lt;br /&gt;
Nationality, race, religion, gender, disability, language, age, political view, technical ability, or social status must not be used as a basis for unfair treatment.&lt;br /&gt;
&lt;br /&gt;
= 7. Proportionate Use of Authority =&lt;br /&gt;
&lt;br /&gt;
Staff shall use the least severe effective action.&lt;br /&gt;
&lt;br /&gt;
Before significant enforcement, staff should consider:&lt;br /&gt;
&lt;br /&gt;
* What happened.&lt;br /&gt;
* Which policy applies.&lt;br /&gt;
* Whether the incident is ongoing.&lt;br /&gt;
* The severity and impact.&lt;br /&gt;
* The reliability of the evidence.&lt;br /&gt;
* Previous relevant conduct, where authorized.&lt;br /&gt;
* Whether a warning is appropriate.&lt;br /&gt;
* Whether innocent users may be affected.&lt;br /&gt;
* Whether escalation is required.&lt;br /&gt;
* Whether the action can be safely reversed.&lt;br /&gt;
&lt;br /&gt;
Emergency protective action may be taken when delay would cause further harm, but it must be reviewed and documented afterward.&lt;br /&gt;
&lt;br /&gt;
= 8. Prohibited Abuse of Authority =&lt;br /&gt;
&lt;br /&gt;
Staff members must not:&lt;br /&gt;
&lt;br /&gt;
* Use access to win a personal dispute.&lt;br /&gt;
* Threaten users with staff powers.&lt;br /&gt;
* Ban users for respectful criticism.&lt;br /&gt;
* Remove access as retaliation.&lt;br /&gt;
* Investigate users out of curiosity.&lt;br /&gt;
* Enter restricted channels without an operational reason.&lt;br /&gt;
* Use OperOverride for personal purposes.&lt;br /&gt;
* Use forced mode commands for convenience.&lt;br /&gt;
* Disconnect users as a joke.&lt;br /&gt;
* Grant unauthorized access to friends.&lt;br /&gt;
* Take over channels.&lt;br /&gt;
* Manipulate project approvals.&lt;br /&gt;
* Override another team without authority.&lt;br /&gt;
* Conceal or falsify staff actions.&lt;br /&gt;
* Use private information for personal advantage.&lt;br /&gt;
&lt;br /&gt;
= 9. Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
Staff must disclose a meaningful conflict when:&lt;br /&gt;
&lt;br /&gt;
* A friend or family member is involved.&lt;br /&gt;
* A personal rival is involved.&lt;br /&gt;
* The staff member’s own project is involved.&lt;br /&gt;
* A competing project is involved.&lt;br /&gt;
* The staff member may receive a benefit.&lt;br /&gt;
* The staff member previously participated in the dispute.&lt;br /&gt;
* Their own action is being appealed.&lt;br /&gt;
* Their neutrality may reasonably be questioned.&lt;br /&gt;
&lt;br /&gt;
When a conflict exists, the staff member shall:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm if required.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Disclose the conflict internally.&lt;br /&gt;
# Transfer the final decision to a neutral reviewer.&lt;br /&gt;
# Avoid improperly influencing the review.&lt;br /&gt;
# Record the reassignment.&lt;br /&gt;
&lt;br /&gt;
= 10. No Retaliation =&lt;br /&gt;
&lt;br /&gt;
Staff must not retaliate against anyone for:&lt;br /&gt;
&lt;br /&gt;
* Submitting a complaint.&lt;br /&gt;
* Appealing an action.&lt;br /&gt;
* Reporting a security concern.&lt;br /&gt;
* Providing evidence.&lt;br /&gt;
* Reporting staff misconduct.&lt;br /&gt;
* Refusing an unauthorized request.&lt;br /&gt;
* Respectfully criticizing a decision.&lt;br /&gt;
* Participating in an investigation.&lt;br /&gt;
&lt;br /&gt;
Retaliation is considered a serious breach of staff trust.&lt;br /&gt;
&lt;br /&gt;
= 11. Privacy and Confidentiality =&lt;br /&gt;
&lt;br /&gt;
Staff shall protect:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hidden host information.&lt;br /&gt;
* Email addresses.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Private logs.&lt;br /&gt;
* Abuse reports.&lt;br /&gt;
* Staff discussions.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Security details.&lt;br /&gt;
* Application records.&lt;br /&gt;
* Bot and API information.&lt;br /&gt;
* Credentials.&lt;br /&gt;
* Other restricted data.&lt;br /&gt;
&lt;br /&gt;
Confidential information may be accessed only when required for an authorized duty.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Post private evidence publicly.&lt;br /&gt;
* Share restricted information with friends.&lt;br /&gt;
* Relay staff-channel content externally.&lt;br /&gt;
* Publish private information on social media.&lt;br /&gt;
* Keep unnecessary personal copies.&lt;br /&gt;
* Access private information from curiosity.&lt;br /&gt;
* Use confidential information after leaving staff.&lt;br /&gt;
* Reveal security controls without authorization.&lt;br /&gt;
&lt;br /&gt;
Confidentiality obligations continue after resignation, inactivity, suspension, or removal.&lt;br /&gt;
&lt;br /&gt;
= 12. Credential Security =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Use strong and unique passwords.&lt;br /&gt;
* Keep NickServ and operator passwords separate.&lt;br /&gt;
* Use verified TLS.&lt;br /&gt;
* Use SASL where appropriate.&lt;br /&gt;
* Enable additional authentication where supported.&lt;br /&gt;
* Protect recovery codes.&lt;br /&gt;
* Secure IRC clients and devices.&lt;br /&gt;
* Protect SSH keys, API tokens, and certificates.&lt;br /&gt;
* Remove credentials from retired devices.&lt;br /&gt;
* Report exposure immediately.&lt;br /&gt;
* Follow credential-rotation instructions.&lt;br /&gt;
&lt;br /&gt;
Staff must never:&lt;br /&gt;
&lt;br /&gt;
* Share passwords.&lt;br /&gt;
* Send credentials through IRC.&lt;br /&gt;
* Store secrets in public paste services.&lt;br /&gt;
* Commit secrets to public repositories.&lt;br /&gt;
* Post screenshots containing credentials.&lt;br /&gt;
* Ask another staff member to share their access.&lt;br /&gt;
* Permit another person to use their staff identity.&lt;br /&gt;
&lt;br /&gt;
Every action performed through a staff account is presumed to be the responsibility of its assigned holder unless a compromise is properly reported and investigated.&lt;br /&gt;
&lt;br /&gt;
= 13. Device and Client Security =&lt;br /&gt;
&lt;br /&gt;
Devices used for staff duties should:&lt;br /&gt;
&lt;br /&gt;
* Receive security updates.&lt;br /&gt;
* Use screen locking.&lt;br /&gt;
* Use secure user accounts.&lt;br /&gt;
* Use device encryption where practical.&lt;br /&gt;
* Avoid untrusted software.&lt;br /&gt;
* Protect log files.&lt;br /&gt;
* Restrict remote access.&lt;br /&gt;
* Be reported if lost or stolen.&lt;br /&gt;
&lt;br /&gt;
Privileged sessions must not be left open on public or shared computers.&lt;br /&gt;
&lt;br /&gt;
Unreviewed IRC scripts, plugins, bots, or automation must not be used with privileged access when they could expose credentials or send administrative commands.&lt;br /&gt;
&lt;br /&gt;
= 14. Evidence Integrity =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Preserve relevant evidence accurately.&lt;br /&gt;
* Keep original evidence where possible.&lt;br /&gt;
* Use clear timestamps.&lt;br /&gt;
* Distinguish facts from reports and inferences.&lt;br /&gt;
* Identify evidence sources.&lt;br /&gt;
* Protect restricted evidence.&lt;br /&gt;
* Record corrections.&lt;br /&gt;
* Preserve records of staff actions.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Fabricate messages.&lt;br /&gt;
* Alter logs dishonestly.&lt;br /&gt;
* Delete records to hide mistakes.&lt;br /&gt;
* Present partial evidence as complete.&lt;br /&gt;
* Add false timestamps.&lt;br /&gt;
* Misrepresent allegations as confirmed facts.&lt;br /&gt;
* Collect unrelated personal information.&lt;br /&gt;
* Obstruct an authorized investigation.&lt;br /&gt;
&lt;br /&gt;
Intentional evidence falsification may result in immediate access suspension or removal.&lt;br /&gt;
&lt;br /&gt;
= 15. Staff Action Records =&lt;br /&gt;
&lt;br /&gt;
Significant actions should record:&lt;br /&gt;
&lt;br /&gt;
* Date and time.&lt;br /&gt;
* Staff member.&lt;br /&gt;
* Target.&lt;br /&gt;
* Relevant account or channel.&lt;br /&gt;
* Action performed.&lt;br /&gt;
* Reason.&lt;br /&gt;
* Policy.&lt;br /&gt;
* Scope.&lt;br /&gt;
* Duration.&lt;br /&gt;
* Evidence reference.&lt;br /&gt;
* Authorization where required.&lt;br /&gt;
* Impact on other users.&lt;br /&gt;
* Review date.&lt;br /&gt;
* Final outcome.&lt;br /&gt;
&lt;br /&gt;
Staff must not falsely claim that:&lt;br /&gt;
&lt;br /&gt;
* A warning was delivered.&lt;br /&gt;
* Management approved an action.&lt;br /&gt;
* Evidence was reviewed.&lt;br /&gt;
* A user admitted an allegation.&lt;br /&gt;
* An action was technically required.&lt;br /&gt;
&lt;br /&gt;
= 16. User and Channel Information =&lt;br /&gt;
&lt;br /&gt;
Staff must recognize that:&lt;br /&gt;
&lt;br /&gt;
* A nickname is not proof of legal identity.&lt;br /&gt;
* A displayed real name may be false.&lt;br /&gt;
* A shared host does not prove users are the same person.&lt;br /&gt;
* VPNs, bouncers, shells, gateways, and relays may serve many users.&lt;br /&gt;
* Similar behavior is not conclusive identity evidence.&lt;br /&gt;
* Registered-account data must be handled appropriately.&lt;br /&gt;
* Channel ownership disputes require authorized review.&lt;br /&gt;
&lt;br /&gt;
Staff must avoid applying broad restrictions without considering innocent users.&lt;br /&gt;
&lt;br /&gt;
= 17. Channel Autonomy =&lt;br /&gt;
&lt;br /&gt;
Registered channel founders and authorized channel staff generally manage their channels.&lt;br /&gt;
&lt;br /&gt;
IRC network staff shall not override channel management merely because:&lt;br /&gt;
&lt;br /&gt;
* They dislike a channel rule.&lt;br /&gt;
* A friend was removed.&lt;br /&gt;
* They want channel access.&lt;br /&gt;
* They disagree personally with the founder.&lt;br /&gt;
* They hold IRC operator status.&lt;br /&gt;
&lt;br /&gt;
Network intervention may occur when:&lt;br /&gt;
&lt;br /&gt;
* A network policy is violated.&lt;br /&gt;
* Serious abuse is occurring.&lt;br /&gt;
* Network infrastructure is threatened.&lt;br /&gt;
* An authorized appeal requires review.&lt;br /&gt;
* Management directs intervention.&lt;br /&gt;
&lt;br /&gt;
= 18. Services Administration =&lt;br /&gt;
&lt;br /&gt;
Account and channel administration must follow authorized Services procedures.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Ask for NickServ passwords.&lt;br /&gt;
* Identify to a user’s account.&lt;br /&gt;
* Change a founder based on friendship.&lt;br /&gt;
* Drop a channel casually.&lt;br /&gt;
* Transfer account ownership without verification.&lt;br /&gt;
* Use OperServ to avoid normal procedures.&lt;br /&gt;
* Reveal restricted Services information.&lt;br /&gt;
* Suspend accounts for personal reasons.&lt;br /&gt;
* Change vhosts to impersonate staff or projects.&lt;br /&gt;
&lt;br /&gt;
High-risk Services actions require the appropriate role, evidence, authorization, and documentation.&lt;br /&gt;
&lt;br /&gt;
= 19. Operator Conduct =&lt;br /&gt;
&lt;br /&gt;
IRC operators shall:&lt;br /&gt;
&lt;br /&gt;
* Use operator access only for network duties.&lt;br /&gt;
* Confirm command targets.&lt;br /&gt;
* Check restriction scope and duration.&lt;br /&gt;
* Consider shared-host effects.&lt;br /&gt;
* Use professional reasons.&lt;br /&gt;
* Coordinate during incidents.&lt;br /&gt;
* Protect server notices.&lt;br /&gt;
* Record significant actions.&lt;br /&gt;
* Correct mistakes promptly.&lt;br /&gt;
* Avoid dangerous server commands without authorization.&lt;br /&gt;
&lt;br /&gt;
Operator access does not place a staff member above the rules.&lt;br /&gt;
&lt;br /&gt;
= 20. Staff Communication =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Keep operational communication factual.&lt;br /&gt;
* Avoid public arguments with other staff.&lt;br /&gt;
* Move internal disagreements to approved staff channels.&lt;br /&gt;
* Follow the incident lead during active emergencies.&lt;br /&gt;
* Avoid unsupported public claims.&lt;br /&gt;
* Distinguish personal views from official statements.&lt;br /&gt;
* Protect private evidence.&lt;br /&gt;
* Correct inaccurate information.&lt;br /&gt;
&lt;br /&gt;
Restricted staff channels must not be treated as spaces where harassment, discrimination, or dishonest conduct is acceptable.&lt;br /&gt;
&lt;br /&gt;
= 21. Public Representation =&lt;br /&gt;
&lt;br /&gt;
When representing DarkWorld IRC, staff must:&lt;br /&gt;
&lt;br /&gt;
* Use approved information.&lt;br /&gt;
* Avoid making unauthorized promises.&lt;br /&gt;
* Avoid speaking for unrelated DarkWorld projects.&lt;br /&gt;
* Avoid disclosing confidential investigations.&lt;br /&gt;
* Avoid announcing unconfirmed incidents.&lt;br /&gt;
* Direct users to official documentation.&lt;br /&gt;
* Follow authorized announcement procedures.&lt;br /&gt;
* Correct errors transparently.&lt;br /&gt;
&lt;br /&gt;
Staff should not create unofficial “staff notices” that may be confused with formal network policy.&lt;br /&gt;
&lt;br /&gt;
= 22. External Roles and Communities =&lt;br /&gt;
&lt;br /&gt;
Relevant positions on other IRC networks or projects should be disclosed when they may create a conflict.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Share DarkWorld operational information externally.&lt;br /&gt;
* Recruit DarkWorld users for another network.&lt;br /&gt;
* Transfer private reports between networks without authority.&lt;br /&gt;
* Use DarkWorld information to benefit a competing project.&lt;br /&gt;
* Give external administrators access to DarkWorld systems.&lt;br /&gt;
* Coordinate external retaliation against a user.&lt;br /&gt;
&lt;br /&gt;
An external role is not automatically prohibited, but strict separation is required.&lt;br /&gt;
&lt;br /&gt;
= 23. Gifts and Personal Benefits =&lt;br /&gt;
&lt;br /&gt;
Staff shall not accept money, services, access, hosting, accounts, subscriptions, favors, or other benefits in exchange for:&lt;br /&gt;
&lt;br /&gt;
* Approving an application.&lt;br /&gt;
* Removing a restriction.&lt;br /&gt;
* Changing channel ownership.&lt;br /&gt;
* Granting staff access.&lt;br /&gt;
* Ignoring a violation.&lt;br /&gt;
* Sharing private information.&lt;br /&gt;
* Granting verified presence.&lt;br /&gt;
* Influencing an investigation.&lt;br /&gt;
&lt;br /&gt;
Any attempt to improperly influence a decision should be disclosed.&lt;br /&gt;
&lt;br /&gt;
= 24. Bots, APIs, and Automation =&lt;br /&gt;
&lt;br /&gt;
Staff using PolicyServ, RelayServ, Services, bots, APIs, or administrative websites shall:&lt;br /&gt;
&lt;br /&gt;
* Protect authentication tokens.&lt;br /&gt;
* Use only assigned permissions.&lt;br /&gt;
* Verify targets and statuses.&lt;br /&gt;
* Record administrative actions.&lt;br /&gt;
* Investigate unexpected responses.&lt;br /&gt;
* Avoid using bots outside approved channels.&lt;br /&gt;
* Verify high-impact results.&lt;br /&gt;
* Report failed or unauthorized operations.&lt;br /&gt;
* Revoke access when no longer required.&lt;br /&gt;
&lt;br /&gt;
Automation assists staff; it does not remove human responsibility.&lt;br /&gt;
&lt;br /&gt;
= 25. Staff Mistakes =&lt;br /&gt;
&lt;br /&gt;
When a staff member makes a mistake, they shall:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct the action where authorized.&lt;br /&gt;
# Report the mistake.&lt;br /&gt;
# Preserve the original record.&lt;br /&gt;
# Document the correction.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Cooperate with review.&lt;br /&gt;
# Complete additional training where required.&lt;br /&gt;
&lt;br /&gt;
Honest reporting and correction will be considered during review.&lt;br /&gt;
&lt;br /&gt;
Concealment, evidence deletion, dishonesty, or retaliation will be treated as separate violations.&lt;br /&gt;
&lt;br /&gt;
= 26. Security and Privacy Incidents =&lt;br /&gt;
&lt;br /&gt;
Staff must immediately report:&lt;br /&gt;
&lt;br /&gt;
* Compromised credentials.&lt;br /&gt;
* Lost or stolen devices.&lt;br /&gt;
* Unauthorized staff access.&lt;br /&gt;
* Exposure of private user information.&lt;br /&gt;
* Suspicious operator actions.&lt;br /&gt;
* Leaked tokens or keys.&lt;br /&gt;
* Malware on a privileged device.&lt;br /&gt;
* Serious vulnerabilities.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Staff-account takeover.&lt;br /&gt;
&lt;br /&gt;
Staff must not continue using credentials believed to be compromised.&lt;br /&gt;
&lt;br /&gt;
= 27. Vulnerability Handling =&lt;br /&gt;
&lt;br /&gt;
Staff discovering a possible vulnerability shall:&lt;br /&gt;
&lt;br /&gt;
* Avoid unnecessary exploitation.&lt;br /&gt;
* Avoid accessing unrelated data.&lt;br /&gt;
* Preserve minimal evidence.&lt;br /&gt;
* Report privately to authorized technical staff.&lt;br /&gt;
* Avoid premature public disclosure.&lt;br /&gt;
* Follow the responsible investigation process.&lt;br /&gt;
* Assist with testing only when authorized.&lt;br /&gt;
&lt;br /&gt;
No staff role automatically authorizes penetration testing against production systems.&lt;br /&gt;
&lt;br /&gt;
= 28. Staff Cooperation =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Respect defined responsibilities.&lt;br /&gt;
* Share necessary operational information.&lt;br /&gt;
* Support incident leadership.&lt;br /&gt;
* Avoid duplicate or conflicting commands.&lt;br /&gt;
* Hand over active cases properly.&lt;br /&gt;
* Respond to authorized reviews.&lt;br /&gt;
* Assist with documentation.&lt;br /&gt;
* Accept corrections professionally.&lt;br /&gt;
* Report unresolved procedural problems.&lt;br /&gt;
&lt;br /&gt;
Staff must not obstruct another authorized team’s investigation or deliberately interfere with network recovery.&lt;br /&gt;
&lt;br /&gt;
= 29. Activity and Reliability =&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Meet reasonable activity expectations.&lt;br /&gt;
* Inform the team about extended absence.&lt;br /&gt;
* Hand over active cases.&lt;br /&gt;
* Review temporary restrictions before leaving.&lt;br /&gt;
* Secure privileged sessions.&lt;br /&gt;
* Respond to important access reviews.&lt;br /&gt;
* Keep contact information current through approved systems.&lt;br /&gt;
&lt;br /&gt;
Inactivity may result in access reduction or removal for security purposes.&lt;br /&gt;
&lt;br /&gt;
= 30. Staff Access Review =&lt;br /&gt;
&lt;br /&gt;
Staff access may be reviewed when:&lt;br /&gt;
&lt;br /&gt;
* A role changes.&lt;br /&gt;
* A staff member becomes inactive.&lt;br /&gt;
* A credential is exposed.&lt;br /&gt;
* An incident occurs.&lt;br /&gt;
* A complaint is received.&lt;br /&gt;
* New permissions are requested.&lt;br /&gt;
* A project relationship changes.&lt;br /&gt;
* A staff member resigns.&lt;br /&gt;
* Management performs a periodic security review.&lt;br /&gt;
&lt;br /&gt;
Staff shall cooperate with access reviews.&lt;br /&gt;
&lt;br /&gt;
= 31. Suspension of Access =&lt;br /&gt;
&lt;br /&gt;
Access may be temporarily suspended to protect the network when:&lt;br /&gt;
&lt;br /&gt;
* An account may be compromised.&lt;br /&gt;
* A device is lost.&lt;br /&gt;
* Serious misuse is alleged.&lt;br /&gt;
* A staff member repeatedly acts unsafely.&lt;br /&gt;
* An independent investigation is required.&lt;br /&gt;
* Continued access creates operational risk.&lt;br /&gt;
* A role no longer requires the access.&lt;br /&gt;
&lt;br /&gt;
Temporary suspension does not by itself prove misconduct.&lt;br /&gt;
&lt;br /&gt;
Staff must not evade a suspension by using another account.&lt;br /&gt;
&lt;br /&gt;
= 32. Resignation and Removal =&lt;br /&gt;
&lt;br /&gt;
When staff service ends:&lt;br /&gt;
&lt;br /&gt;
* Operator access must be removed.&lt;br /&gt;
* Services permissions must be reviewed.&lt;br /&gt;
* Staff-channel access must be removed.&lt;br /&gt;
* Tokens and keys must be revoked or rotated.&lt;br /&gt;
* Active cases must be transferred.&lt;br /&gt;
* Restricted documents must remain protected.&lt;br /&gt;
* Project-specific roles must be reviewed separately.&lt;br /&gt;
* The offboarding process must be documented.&lt;br /&gt;
&lt;br /&gt;
Former staff must not retain, publish, or misuse confidential information.&lt;br /&gt;
&lt;br /&gt;
= 33. Reporting Violations =&lt;br /&gt;
&lt;br /&gt;
Suspected violations of this Code should be reported through an approved confidential process.&lt;br /&gt;
&lt;br /&gt;
A report should include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Reporting person:&lt;br /&gt;
Staff member involved:&lt;br /&gt;
Location:&lt;br /&gt;
Conduct reported:&lt;br /&gt;
Evidence available:&lt;br /&gt;
Immediate risk:&lt;br /&gt;
Actions already taken:&lt;br /&gt;
Potential conflict of interest:&lt;br /&gt;
Requested review:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reports should be handled by an appropriate and, where necessary, independent reviewer.&lt;br /&gt;
&lt;br /&gt;
Knowingly false reports may themselves violate policy, but an unproven good-faith report is not automatically a false report.&lt;br /&gt;
&lt;br /&gt;
= 34. Protection of Reporters =&lt;br /&gt;
&lt;br /&gt;
Anyone submitting a good-faith report should be protected from retaliation.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Reveal a reporter unnecessarily.&lt;br /&gt;
* Threaten the reporter.&lt;br /&gt;
* Deny support in retaliation.&lt;br /&gt;
* Manufacture a sanction.&lt;br /&gt;
* Pressure the reporter to withdraw.&lt;br /&gt;
* Destroy the report.&lt;br /&gt;
* Send the complaint only to the accused person where independent review is required.&lt;br /&gt;
&lt;br /&gt;
= 35. Investigation Principles =&lt;br /&gt;
&lt;br /&gt;
A staff-conduct investigation should be:&lt;br /&gt;
&lt;br /&gt;
* Authorized.&lt;br /&gt;
* Confidential.&lt;br /&gt;
* Evidence-based.&lt;br /&gt;
* Proportionate.&lt;br /&gt;
* Independent where required.&lt;br /&gt;
* Documented.&lt;br /&gt;
* Free from retaliation.&lt;br /&gt;
* Completed within a reasonable operational period.&lt;br /&gt;
* Open to correction if new evidence appears.&lt;br /&gt;
&lt;br /&gt;
The investigator should distinguish:&lt;br /&gt;
&lt;br /&gt;
* Confirmed facts.&lt;br /&gt;
* Reports.&lt;br /&gt;
* Inferences.&lt;br /&gt;
* Disputed claims.&lt;br /&gt;
* Missing evidence.&lt;br /&gt;
&lt;br /&gt;
= 36. Possible Outcomes =&lt;br /&gt;
&lt;br /&gt;
Depending on severity and evidence, outcomes may include:&lt;br /&gt;
&lt;br /&gt;
* No violation found.&lt;br /&gt;
* Guidance.&lt;br /&gt;
* Informal correction.&lt;br /&gt;
* Formal warning.&lt;br /&gt;
* Additional training.&lt;br /&gt;
* Increased supervision.&lt;br /&gt;
* Reduced permissions.&lt;br /&gt;
* Temporary suspension.&lt;br /&gt;
* Role reassignment.&lt;br /&gt;
* Removal from a specific team.&lt;br /&gt;
* Removal from DWIRC staff.&lt;br /&gt;
* Permanent revocation of privileged access.&lt;br /&gt;
* Network action for separate user-policy violations.&lt;br /&gt;
&lt;br /&gt;
Serious intentional misconduct may justify immediate removal.&lt;br /&gt;
&lt;br /&gt;
= 37. Factors in Staff Discipline =&lt;br /&gt;
&lt;br /&gt;
Reviewers may consider:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Intent.&lt;br /&gt;
* Harm caused.&lt;br /&gt;
* Number of users affected.&lt;br /&gt;
* Whether private information was exposed.&lt;br /&gt;
* Whether credentials were compromised.&lt;br /&gt;
* Previous relevant conduct.&lt;br /&gt;
* Cooperation with the investigation.&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Corrective action.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Evidence concealment.&lt;br /&gt;
* Risk of recurrence.&lt;br /&gt;
* Position and level of trust.&lt;br /&gt;
&lt;br /&gt;
Senior access creates greater responsibility, not greater immunity.&lt;br /&gt;
&lt;br /&gt;
= 38. Appeals =&lt;br /&gt;
&lt;br /&gt;
Where an appeal process is available, the affected staff member may request review.&lt;br /&gt;
&lt;br /&gt;
An appeal should:&lt;br /&gt;
&lt;br /&gt;
* Identify the decision.&lt;br /&gt;
* State the reason for disagreement.&lt;br /&gt;
* Provide relevant evidence.&lt;br /&gt;
* Avoid retaliation or disruption.&lt;br /&gt;
* Follow the approved process.&lt;br /&gt;
&lt;br /&gt;
An appeal does not automatically restore suspended access.&lt;br /&gt;
&lt;br /&gt;
= 39. Code Acceptance =&lt;br /&gt;
&lt;br /&gt;
Before final assessment or probation, each candidate must affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I have read and understood the DarkWorld IRC Staff Code of Conduct.&lt;br /&gt;
&lt;br /&gt;
I understand that staff access exists only for authorized DarkWorld IRC&lt;br /&gt;
responsibilities and does not automatically extend to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
I agree to protect credentials, user information, incident evidence, staff&lt;br /&gt;
communications, and all other confidential information.&lt;br /&gt;
&lt;br /&gt;
I will not use staff authority for personal disputes, favoritism, retaliation,&lt;br /&gt;
financial benefit, curiosity, or unauthorized access.&lt;br /&gt;
&lt;br /&gt;
I will disclose relevant conflicts of interest and will request independent&lt;br /&gt;
review when my neutrality may reasonably be questioned.&lt;br /&gt;
&lt;br /&gt;
I will use the least severe effective action, document significant actions,&lt;br /&gt;
report mistakes honestly, and cooperate with authorized investigations.&lt;br /&gt;
&lt;br /&gt;
I understand that training completion does not guarantee appointment and that&lt;br /&gt;
staff access may be limited, reviewed, suspended, or removed to protect the&lt;br /&gt;
DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
I understand that my confidentiality obligations continue after I leave the&lt;br /&gt;
staff team.&lt;br /&gt;
&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Candidate status:&lt;br /&gt;
Date accepted:&lt;br /&gt;
Method of acceptance:&lt;br /&gt;
Witness or trainer:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 40. Acceptance Methods =&lt;br /&gt;
&lt;br /&gt;
Management may accept the Code through:&lt;br /&gt;
&lt;br /&gt;
* A staff-training website.&lt;br /&gt;
* A wiki-linked application system.&lt;br /&gt;
* An authenticated IRC bot command.&lt;br /&gt;
* A signed digital form.&lt;br /&gt;
* A recorded staff-channel procedure.&lt;br /&gt;
* Another approved method.&lt;br /&gt;
&lt;br /&gt;
Acceptance should record:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Current version of the Code.&lt;br /&gt;
* Date and time.&lt;br /&gt;
* Acceptance method.&lt;br /&gt;
* Candidate status.&lt;br /&gt;
* Reviewing staff member.&lt;br /&gt;
* Any declared conflicts or external roles.&lt;br /&gt;
&lt;br /&gt;
= 41. Code Versioning =&lt;br /&gt;
&lt;br /&gt;
This Code should include a version and revision date when formally adopted.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code version&lt;br /&gt;
| 1.0&lt;br /&gt;
|-&lt;br /&gt;
! Effective date&lt;br /&gt;
| To be approved&lt;br /&gt;
|-&lt;br /&gt;
! Last reviewed&lt;br /&gt;
| To be recorded&lt;br /&gt;
|-&lt;br /&gt;
! Approved by&lt;br /&gt;
| DarkWorld IRC Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When material changes are made:&lt;br /&gt;
&lt;br /&gt;
* Staff should be notified.&lt;br /&gt;
* The revision should be recorded.&lt;br /&gt;
* Significant changes should be explained.&lt;br /&gt;
* Re-acceptance may be required.&lt;br /&gt;
* Previous versions should be preserved for audit purposes.&lt;br /&gt;
&lt;br /&gt;
= 42. Candidate Review Questions =&lt;br /&gt;
&lt;br /&gt;
Before accepting this Code, answer:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of staff authority?&lt;br /&gt;
# Does DWIRC staff access extend automatically to DWShells or DWBouncers?&lt;br /&gt;
# When must a conflict of interest be disclosed?&lt;br /&gt;
# What is retaliation?&lt;br /&gt;
# May staff reveal a hidden IP address to prove a point?&lt;br /&gt;
# What should happen after a credential leak?&lt;br /&gt;
# May OperOverride be used to enter a private channel out of curiosity?&lt;br /&gt;
# How should a staff mistake be handled?&lt;br /&gt;
# What is the difference between suspension and a finding of misconduct?&lt;br /&gt;
# Why must significant actions be recorded?&lt;br /&gt;
# How should a complaint against a staff member be reviewed?&lt;br /&gt;
# Do confidentiality obligations continue after resignation?&lt;br /&gt;
# Can a staff member accept free hosting in exchange for an approval?&lt;br /&gt;
# What should happen when a user is affected by an incorrect ban?&lt;br /&gt;
# Does completing training guarantee a staff appointment?&lt;br /&gt;
&lt;br /&gt;
= 43. Completion Requirement =&lt;br /&gt;
&lt;br /&gt;
To complete this page, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the entire Code.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;13 of the 15&#039;&#039;&#039; review questions.&lt;br /&gt;
* Disclose relevant external roles and conflicts.&lt;br /&gt;
* Accept the Code through an approved method.&lt;br /&gt;
* Receive trainer confirmation.&lt;br /&gt;
* Agree to comply throughout training, probation, and staff service.&lt;br /&gt;
&lt;br /&gt;
Refusal to accept the Code makes the candidate ineligible for staff access.&lt;br /&gt;
&lt;br /&gt;
= 44. Next Step =&lt;br /&gt;
&lt;br /&gt;
After accepting the Code, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Final Examination|DarkWorld IRC Staff Final Written Examination]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Module 10 — Staff Ethics and Security]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Final Examination|Final Written Examination]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Code of Conduct]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Code_of_Conduct&amp;diff=401</id>
		<title>DWIRC:Staff Training/Code of Conduct</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Code_of_Conduct&amp;diff=401"/>
		<updated>2026-08-08T18:14:24Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Staff Code of Conduct}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Network&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Staff Code of Conduct&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Applies to | IRC staff candidates, trainees, probationary staff, permanent staff, operators, Services staff, and...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Code of Conduct}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Network&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Staff Code of Conduct&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Applies to&lt;br /&gt;
| IRC staff candidates, trainees, probationary staff, permanent staff, operators, Services staff, and administrators&lt;br /&gt;
|-&lt;br /&gt;
! Scope&lt;br /&gt;
| DarkWorld IRC Network&lt;br /&gt;
|-&lt;br /&gt;
! Acceptance&lt;br /&gt;
| Mandatory before final assessment and probation&lt;br /&gt;
|-&lt;br /&gt;
! Enforcement&lt;br /&gt;
| DarkWorld IRC management and authorized reviewers&lt;br /&gt;
|-&lt;br /&gt;
! Related program&lt;br /&gt;
| [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Staff Code of Conduct&#039;&#039;&#039; establishes the standards of behavior, integrity, security, and accountability required from everyone serving or training to serve within the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff may receive trusted access to:&lt;br /&gt;
&lt;br /&gt;
* IRC users and channels.&lt;br /&gt;
* Restricted staff channels.&lt;br /&gt;
* IRC operator commands.&lt;br /&gt;
* IRC Services.&lt;br /&gt;
* Account and channel information.&lt;br /&gt;
* Abuse reports.&lt;br /&gt;
* Policy and approval systems.&lt;br /&gt;
* Logs and operational information.&lt;br /&gt;
* Network servers and infrastructure, where separately authorized.&lt;br /&gt;
&lt;br /&gt;
This access must be used only to support, protect, and operate the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
= 2. Scope =&lt;br /&gt;
&lt;br /&gt;
This Code applies to:&lt;br /&gt;
&lt;br /&gt;
* Staff applicants where relevant.&lt;br /&gt;
* IRC students and trainees.&lt;br /&gt;
* Probationary IRC staff.&lt;br /&gt;
* Support staff.&lt;br /&gt;
* Channel-support staff.&lt;br /&gt;
* IRC operators.&lt;br /&gt;
* Global IRC operators.&lt;br /&gt;
* Services staff.&lt;br /&gt;
* Services administrators.&lt;br /&gt;
* Policy and compliance staff.&lt;br /&gt;
* Abuse and security staff.&lt;br /&gt;
* IRCd and network administrators.&lt;br /&gt;
* Root administrators.&lt;br /&gt;
* Management personnel exercising DWIRC authority.&lt;br /&gt;
* Temporary or emergency staff appointments.&lt;br /&gt;
&lt;br /&gt;
The Code applies whenever a person:&lt;br /&gt;
&lt;br /&gt;
* Uses DarkWorld IRC staff access.&lt;br /&gt;
* Represents DarkWorld IRC officially.&lt;br /&gt;
* Handles DarkWorld IRC information.&lt;br /&gt;
* Participates in a DWIRC investigation.&lt;br /&gt;
* Uses a staff bot, website, API, or administrative system.&lt;br /&gt;
* Performs a task on behalf of the IRC network.&lt;br /&gt;
&lt;br /&gt;
= 3. Relationship to DarkWorld Network =&lt;br /&gt;
&lt;br /&gt;
DarkWorld Network is the wider umbrella under which DarkWorld IRC and other projects operate.&lt;br /&gt;
&lt;br /&gt;
DWIRC staff authority does not automatically grant authority over:&lt;br /&gt;
&lt;br /&gt;
* DWShells.&lt;br /&gt;
* DWBouncers.&lt;br /&gt;
* DWBots.&lt;br /&gt;
* DWGames.&lt;br /&gt;
* DWVPN.&lt;br /&gt;
* Websites.&lt;br /&gt;
* Hosting systems.&lt;br /&gt;
* Other DarkWorld projects.&lt;br /&gt;
* Registered external projects.&lt;br /&gt;
&lt;br /&gt;
Any role in another project requires separate authorization, training, and access.&lt;br /&gt;
&lt;br /&gt;
= 4. Commitment to Service =&lt;br /&gt;
&lt;br /&gt;
Staff members shall:&lt;br /&gt;
&lt;br /&gt;
* Act in the interests of the IRC network and its community.&lt;br /&gt;
* Help users patiently and professionally.&lt;br /&gt;
* Protect users from abuse.&lt;br /&gt;
* Maintain network stability.&lt;br /&gt;
* Apply policies fairly.&lt;br /&gt;
* Cooperate with other authorized staff.&lt;br /&gt;
* Respect legitimate channel autonomy.&lt;br /&gt;
* Escalate matters outside their authority.&lt;br /&gt;
* Place operational responsibility above personal status.&lt;br /&gt;
&lt;br /&gt;
Staff access is a responsibility, not a personal entitlement.&lt;br /&gt;
&lt;br /&gt;
= 5. Respectful Conduct =&lt;br /&gt;
&lt;br /&gt;
Staff members shall:&lt;br /&gt;
&lt;br /&gt;
* Treat users and staff respectfully.&lt;br /&gt;
* Communicate clearly and professionally.&lt;br /&gt;
* Avoid insults, ridicule, humiliation, and intimidation.&lt;br /&gt;
* Avoid discriminatory treatment.&lt;br /&gt;
* Remain calm during disagreements.&lt;br /&gt;
* Recognize language and accessibility barriers.&lt;br /&gt;
* Avoid unnecessary public confrontation.&lt;br /&gt;
* Correct misinformation without attacking the person.&lt;br /&gt;
* Set appropriate boundaries when users become abusive.&lt;br /&gt;
&lt;br /&gt;
Staff members remain entitled to protection from harassment and are not required to tolerate threats or sustained abuse.&lt;br /&gt;
&lt;br /&gt;
= 6. Neutrality and Fairness =&lt;br /&gt;
&lt;br /&gt;
Staff members shall:&lt;br /&gt;
&lt;br /&gt;
* Apply rules consistently.&lt;br /&gt;
* Base decisions on policy and evidence.&lt;br /&gt;
* Judge conduct rather than personal popularity.&lt;br /&gt;
* Avoid favoritism.&lt;br /&gt;
* Avoid harsher treatment of personal rivals.&lt;br /&gt;
* Avoid special treatment for friends.&lt;br /&gt;
* Respect the right to appeal.&lt;br /&gt;
* Correct inconsistent enforcement.&lt;br /&gt;
* Avoid prejudging cases publicly.&lt;br /&gt;
&lt;br /&gt;
Nationality, race, religion, gender, disability, language, age, political view, technical ability, or social status must not be used as a basis for unfair treatment.&lt;br /&gt;
&lt;br /&gt;
= 7. Proportionate Use of Authority =&lt;br /&gt;
&lt;br /&gt;
Staff shall use the least severe effective action.&lt;br /&gt;
&lt;br /&gt;
Before significant enforcement, staff should consider:&lt;br /&gt;
&lt;br /&gt;
* What happened.&lt;br /&gt;
* Which policy applies.&lt;br /&gt;
* Whether the incident is ongoing.&lt;br /&gt;
* The severity and impact.&lt;br /&gt;
* The reliability of the evidence.&lt;br /&gt;
* Previous relevant conduct, where authorized.&lt;br /&gt;
* Whether a warning is appropriate.&lt;br /&gt;
* Whether innocent users may be affected.&lt;br /&gt;
* Whether escalation is required.&lt;br /&gt;
* Whether the action can be safely reversed.&lt;br /&gt;
&lt;br /&gt;
Emergency protective action may be taken when delay would cause further harm, but it must be reviewed and documented afterward.&lt;br /&gt;
&lt;br /&gt;
= 8. Prohibited Abuse of Authority =&lt;br /&gt;
&lt;br /&gt;
Staff members must not:&lt;br /&gt;
&lt;br /&gt;
* Use access to win a personal dispute.&lt;br /&gt;
* Threaten users with staff powers.&lt;br /&gt;
* Ban users for respectful criticism.&lt;br /&gt;
* Remove access as retaliation.&lt;br /&gt;
* Investigate users out of curiosity.&lt;br /&gt;
* Enter restricted channels without an operational reason.&lt;br /&gt;
* Use OperOverride for personal purposes.&lt;br /&gt;
* Use forced mode commands for convenience.&lt;br /&gt;
* Disconnect users as a joke.&lt;br /&gt;
* Grant unauthorized access to friends.&lt;br /&gt;
* Take over channels.&lt;br /&gt;
* Manipulate project approvals.&lt;br /&gt;
* Override another team without authority.&lt;br /&gt;
* Conceal or falsify staff actions.&lt;br /&gt;
* Use private information for personal advantage.&lt;br /&gt;
&lt;br /&gt;
= 9. Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
Staff must disclose a meaningful conflict when:&lt;br /&gt;
&lt;br /&gt;
* A friend or family member is involved.&lt;br /&gt;
* A personal rival is involved.&lt;br /&gt;
* The staff member’s own project is involved.&lt;br /&gt;
* A competing project is involved.&lt;br /&gt;
* The staff member may receive a benefit.&lt;br /&gt;
* The staff member previously participated in the dispute.&lt;br /&gt;
* Their own action is being appealed.&lt;br /&gt;
* Their neutrality may reasonably be questioned.&lt;br /&gt;
&lt;br /&gt;
When a conflict exists, the staff member shall:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm if required.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Disclose the conflict internally.&lt;br /&gt;
# Transfer the final decision to a neutral reviewer.&lt;br /&gt;
# Avoid improperly influencing the review.&lt;br /&gt;
# Record the reassignment.&lt;br /&gt;
&lt;br /&gt;
= 10. No Retaliation =&lt;br /&gt;
&lt;br /&gt;
Staff must not retaliate against anyone for:&lt;br /&gt;
&lt;br /&gt;
* Submitting a complaint.&lt;br /&gt;
* Appealing an action.&lt;br /&gt;
* Reporting a security concern.&lt;br /&gt;
* Providing evidence.&lt;br /&gt;
* Reporting staff misconduct.&lt;br /&gt;
* Refusing an unauthorized request.&lt;br /&gt;
* Respectfully criticizing a decision.&lt;br /&gt;
* Participating in an investigation.&lt;br /&gt;
&lt;br /&gt;
Retaliation is considered a serious breach of staff trust.&lt;br /&gt;
&lt;br /&gt;
= 11. Privacy and Confidentiality =&lt;br /&gt;
&lt;br /&gt;
Staff shall protect:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hidden host information.&lt;br /&gt;
* Email addresses.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Private logs.&lt;br /&gt;
* Abuse reports.&lt;br /&gt;
* Staff discussions.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Security details.&lt;br /&gt;
* Application records.&lt;br /&gt;
* Bot and API information.&lt;br /&gt;
* Credentials.&lt;br /&gt;
* Other restricted data.&lt;br /&gt;
&lt;br /&gt;
Confidential information may be accessed only when required for an authorized duty.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Post private evidence publicly.&lt;br /&gt;
* Share restricted information with friends.&lt;br /&gt;
* Relay staff-channel content externally.&lt;br /&gt;
* Publish private information on social media.&lt;br /&gt;
* Keep unnecessary personal copies.&lt;br /&gt;
* Access private information from curiosity.&lt;br /&gt;
* Use confidential information after leaving staff.&lt;br /&gt;
* Reveal security controls without authorization.&lt;br /&gt;
&lt;br /&gt;
Confidentiality obligations continue after resignation, inactivity, suspension, or removal.&lt;br /&gt;
&lt;br /&gt;
= 12. Credential Security =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Use strong and unique passwords.&lt;br /&gt;
* Keep NickServ and operator passwords separate.&lt;br /&gt;
* Use verified TLS.&lt;br /&gt;
* Use SASL where appropriate.&lt;br /&gt;
* Enable additional authentication where supported.&lt;br /&gt;
* Protect recovery codes.&lt;br /&gt;
* Secure IRC clients and devices.&lt;br /&gt;
* Protect SSH keys, API tokens, and certificates.&lt;br /&gt;
* Remove credentials from retired devices.&lt;br /&gt;
* Report exposure immediately.&lt;br /&gt;
* Follow credential-rotation instructions.&lt;br /&gt;
&lt;br /&gt;
Staff must never:&lt;br /&gt;
&lt;br /&gt;
* Share passwords.&lt;br /&gt;
* Send credentials through IRC.&lt;br /&gt;
* Store secrets in public paste services.&lt;br /&gt;
* Commit secrets to public repositories.&lt;br /&gt;
* Post screenshots containing credentials.&lt;br /&gt;
* Ask another staff member to share their access.&lt;br /&gt;
* Permit another person to use their staff identity.&lt;br /&gt;
&lt;br /&gt;
Every action performed through a staff account is presumed to be the responsibility of its assigned holder unless a compromise is properly reported and investigated.&lt;br /&gt;
&lt;br /&gt;
= 13. Device and Client Security =&lt;br /&gt;
&lt;br /&gt;
Devices used for staff duties should:&lt;br /&gt;
&lt;br /&gt;
* Receive security updates.&lt;br /&gt;
* Use screen locking.&lt;br /&gt;
* Use secure user accounts.&lt;br /&gt;
* Use device encryption where practical.&lt;br /&gt;
* Avoid untrusted software.&lt;br /&gt;
* Protect log files.&lt;br /&gt;
* Restrict remote access.&lt;br /&gt;
* Be reported if lost or stolen.&lt;br /&gt;
&lt;br /&gt;
Privileged sessions must not be left open on public or shared computers.&lt;br /&gt;
&lt;br /&gt;
Unreviewed IRC scripts, plugins, bots, or automation must not be used with privileged access when they could expose credentials or send administrative commands.&lt;br /&gt;
&lt;br /&gt;
= 14. Evidence Integrity =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Preserve relevant evidence accurately.&lt;br /&gt;
* Keep original evidence where possible.&lt;br /&gt;
* Use clear timestamps.&lt;br /&gt;
* Distinguish facts from reports and inferences.&lt;br /&gt;
* Identify evidence sources.&lt;br /&gt;
* Protect restricted evidence.&lt;br /&gt;
* Record corrections.&lt;br /&gt;
* Preserve records of staff actions.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Fabricate messages.&lt;br /&gt;
* Alter logs dishonestly.&lt;br /&gt;
* Delete records to hide mistakes.&lt;br /&gt;
* Present partial evidence as complete.&lt;br /&gt;
* Add false timestamps.&lt;br /&gt;
* Misrepresent allegations as confirmed facts.&lt;br /&gt;
* Collect unrelated personal information.&lt;br /&gt;
* Obstruct an authorized investigation.&lt;br /&gt;
&lt;br /&gt;
Intentional evidence falsification may result in immediate access suspension or removal.&lt;br /&gt;
&lt;br /&gt;
= 15. Staff Action Records =&lt;br /&gt;
&lt;br /&gt;
Significant actions should record:&lt;br /&gt;
&lt;br /&gt;
* Date and time.&lt;br /&gt;
* Staff member.&lt;br /&gt;
* Target.&lt;br /&gt;
* Relevant account or channel.&lt;br /&gt;
* Action performed.&lt;br /&gt;
* Reason.&lt;br /&gt;
* Policy.&lt;br /&gt;
* Scope.&lt;br /&gt;
* Duration.&lt;br /&gt;
* Evidence reference.&lt;br /&gt;
* Authorization where required.&lt;br /&gt;
* Impact on other users.&lt;br /&gt;
* Review date.&lt;br /&gt;
* Final outcome.&lt;br /&gt;
&lt;br /&gt;
Staff must not falsely claim that:&lt;br /&gt;
&lt;br /&gt;
* A warning was delivered.&lt;br /&gt;
* Management approved an action.&lt;br /&gt;
* Evidence was reviewed.&lt;br /&gt;
* A user admitted an allegation.&lt;br /&gt;
* An action was technically required.&lt;br /&gt;
&lt;br /&gt;
= 16. User and Channel Information =&lt;br /&gt;
&lt;br /&gt;
Staff must recognize that:&lt;br /&gt;
&lt;br /&gt;
* A nickname is not proof of legal identity.&lt;br /&gt;
* A displayed real name may be false.&lt;br /&gt;
* A shared host does not prove users are the same person.&lt;br /&gt;
* VPNs, bouncers, shells, gateways, and relays may serve many users.&lt;br /&gt;
* Similar behavior is not conclusive identity evidence.&lt;br /&gt;
* Registered-account data must be handled appropriately.&lt;br /&gt;
* Channel ownership disputes require authorized review.&lt;br /&gt;
&lt;br /&gt;
Staff must avoid applying broad restrictions without considering innocent users.&lt;br /&gt;
&lt;br /&gt;
= 17. Channel Autonomy =&lt;br /&gt;
&lt;br /&gt;
Registered channel founders and authorized channel staff generally manage their channels.&lt;br /&gt;
&lt;br /&gt;
IRC network staff shall not override channel management merely because:&lt;br /&gt;
&lt;br /&gt;
* They dislike a channel rule.&lt;br /&gt;
* A friend was removed.&lt;br /&gt;
* They want channel access.&lt;br /&gt;
* They disagree personally with the founder.&lt;br /&gt;
* They hold IRC operator status.&lt;br /&gt;
&lt;br /&gt;
Network intervention may occur when:&lt;br /&gt;
&lt;br /&gt;
* A network policy is violated.&lt;br /&gt;
* Serious abuse is occurring.&lt;br /&gt;
* Network infrastructure is threatened.&lt;br /&gt;
* An authorized appeal requires review.&lt;br /&gt;
* Management directs intervention.&lt;br /&gt;
&lt;br /&gt;
= 18. Services Administration =&lt;br /&gt;
&lt;br /&gt;
Account and channel administration must follow authorized Services procedures.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Ask for NickServ passwords.&lt;br /&gt;
* Identify to a user’s account.&lt;br /&gt;
* Change a founder based on friendship.&lt;br /&gt;
* Drop a channel casually.&lt;br /&gt;
* Transfer account ownership without verification.&lt;br /&gt;
* Use OperServ to avoid normal procedures.&lt;br /&gt;
* Reveal restricted Services information.&lt;br /&gt;
* Suspend accounts for personal reasons.&lt;br /&gt;
* Change vhosts to impersonate staff or projects.&lt;br /&gt;
&lt;br /&gt;
High-risk Services actions require the appropriate role, evidence, authorization, and documentation.&lt;br /&gt;
&lt;br /&gt;
= 19. Operator Conduct =&lt;br /&gt;
&lt;br /&gt;
IRC operators shall:&lt;br /&gt;
&lt;br /&gt;
* Use operator access only for network duties.&lt;br /&gt;
* Confirm command targets.&lt;br /&gt;
* Check restriction scope and duration.&lt;br /&gt;
* Consider shared-host effects.&lt;br /&gt;
* Use professional reasons.&lt;br /&gt;
* Coordinate during incidents.&lt;br /&gt;
* Protect server notices.&lt;br /&gt;
* Record significant actions.&lt;br /&gt;
* Correct mistakes promptly.&lt;br /&gt;
* Avoid dangerous server commands without authorization.&lt;br /&gt;
&lt;br /&gt;
Operator access does not place a staff member above the rules.&lt;br /&gt;
&lt;br /&gt;
= 20. Staff Communication =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Keep operational communication factual.&lt;br /&gt;
* Avoid public arguments with other staff.&lt;br /&gt;
* Move internal disagreements to approved staff channels.&lt;br /&gt;
* Follow the incident lead during active emergencies.&lt;br /&gt;
* Avoid unsupported public claims.&lt;br /&gt;
* Distinguish personal views from official statements.&lt;br /&gt;
* Protect private evidence.&lt;br /&gt;
* Correct inaccurate information.&lt;br /&gt;
&lt;br /&gt;
Restricted staff channels must not be treated as spaces where harassment, discrimination, or dishonest conduct is acceptable.&lt;br /&gt;
&lt;br /&gt;
= 21. Public Representation =&lt;br /&gt;
&lt;br /&gt;
When representing DarkWorld IRC, staff must:&lt;br /&gt;
&lt;br /&gt;
* Use approved information.&lt;br /&gt;
* Avoid making unauthorized promises.&lt;br /&gt;
* Avoid speaking for unrelated DarkWorld projects.&lt;br /&gt;
* Avoid disclosing confidential investigations.&lt;br /&gt;
* Avoid announcing unconfirmed incidents.&lt;br /&gt;
* Direct users to official documentation.&lt;br /&gt;
* Follow authorized announcement procedures.&lt;br /&gt;
* Correct errors transparently.&lt;br /&gt;
&lt;br /&gt;
Staff should not create unofficial “staff notices” that may be confused with formal network policy.&lt;br /&gt;
&lt;br /&gt;
= 22. External Roles and Communities =&lt;br /&gt;
&lt;br /&gt;
Relevant positions on other IRC networks or projects should be disclosed when they may create a conflict.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Share DarkWorld operational information externally.&lt;br /&gt;
* Recruit DarkWorld users for another network.&lt;br /&gt;
* Transfer private reports between networks without authority.&lt;br /&gt;
* Use DarkWorld information to benefit a competing project.&lt;br /&gt;
* Give external administrators access to DarkWorld systems.&lt;br /&gt;
* Coordinate external retaliation against a user.&lt;br /&gt;
&lt;br /&gt;
An external role is not automatically prohibited, but strict separation is required.&lt;br /&gt;
&lt;br /&gt;
= 23. Gifts and Personal Benefits =&lt;br /&gt;
&lt;br /&gt;
Staff shall not accept money, services, access, hosting, accounts, subscriptions, favors, or other benefits in exchange for:&lt;br /&gt;
&lt;br /&gt;
* Approving an application.&lt;br /&gt;
* Removing a restriction.&lt;br /&gt;
* Changing channel ownership.&lt;br /&gt;
* Granting staff access.&lt;br /&gt;
* Ignoring a violation.&lt;br /&gt;
* Sharing private information.&lt;br /&gt;
* Granting verified presence.&lt;br /&gt;
* Influencing an investigation.&lt;br /&gt;
&lt;br /&gt;
Any attempt to improperly influence a decision should be disclosed.&lt;br /&gt;
&lt;br /&gt;
= 24. Bots, APIs, and Automation =&lt;br /&gt;
&lt;br /&gt;
Staff using PolicyServ, RelayServ, Services, bots, APIs, or administrative websites shall:&lt;br /&gt;
&lt;br /&gt;
* Protect authentication tokens.&lt;br /&gt;
* Use only assigned permissions.&lt;br /&gt;
* Verify targets and statuses.&lt;br /&gt;
* Record administrative actions.&lt;br /&gt;
* Investigate unexpected responses.&lt;br /&gt;
* Avoid using bots outside approved channels.&lt;br /&gt;
* Verify high-impact results.&lt;br /&gt;
* Report failed or unauthorized operations.&lt;br /&gt;
* Revoke access when no longer required.&lt;br /&gt;
&lt;br /&gt;
Automation assists staff; it does not remove human responsibility.&lt;br /&gt;
&lt;br /&gt;
= 25. Staff Mistakes =&lt;br /&gt;
&lt;br /&gt;
When a staff member makes a mistake, they shall:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct the action where authorized.&lt;br /&gt;
# Report the mistake.&lt;br /&gt;
# Preserve the original record.&lt;br /&gt;
# Document the correction.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Cooperate with review.&lt;br /&gt;
# Complete additional training where required.&lt;br /&gt;
&lt;br /&gt;
Honest reporting and correction will be considered during review.&lt;br /&gt;
&lt;br /&gt;
Concealment, evidence deletion, dishonesty, or retaliation will be treated as separate violations.&lt;br /&gt;
&lt;br /&gt;
= 26. Security and Privacy Incidents =&lt;br /&gt;
&lt;br /&gt;
Staff must immediately report:&lt;br /&gt;
&lt;br /&gt;
* Compromised credentials.&lt;br /&gt;
* Lost or stolen devices.&lt;br /&gt;
* Unauthorized staff access.&lt;br /&gt;
* Exposure of private user information.&lt;br /&gt;
* Suspicious operator actions.&lt;br /&gt;
* Leaked tokens or keys.&lt;br /&gt;
* Malware on a privileged device.&lt;br /&gt;
* Serious vulnerabilities.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Staff-account takeover.&lt;br /&gt;
&lt;br /&gt;
Staff must not continue using credentials believed to be compromised.&lt;br /&gt;
&lt;br /&gt;
= 27. Vulnerability Handling =&lt;br /&gt;
&lt;br /&gt;
Staff discovering a possible vulnerability shall:&lt;br /&gt;
&lt;br /&gt;
* Avoid unnecessary exploitation.&lt;br /&gt;
* Avoid accessing unrelated data.&lt;br /&gt;
* Preserve minimal evidence.&lt;br /&gt;
* Report privately to authorized technical staff.&lt;br /&gt;
* Avoid premature public disclosure.&lt;br /&gt;
* Follow the responsible investigation process.&lt;br /&gt;
* Assist with testing only when authorized.&lt;br /&gt;
&lt;br /&gt;
No staff role automatically authorizes penetration testing against production systems.&lt;br /&gt;
&lt;br /&gt;
= 28. Staff Cooperation =&lt;br /&gt;
&lt;br /&gt;
Staff shall:&lt;br /&gt;
&lt;br /&gt;
* Respect defined responsibilities.&lt;br /&gt;
* Share necessary operational information.&lt;br /&gt;
* Support incident leadership.&lt;br /&gt;
* Avoid duplicate or conflicting commands.&lt;br /&gt;
* Hand over active cases properly.&lt;br /&gt;
* Respond to authorized reviews.&lt;br /&gt;
* Assist with documentation.&lt;br /&gt;
* Accept corrections professionally.&lt;br /&gt;
* Report unresolved procedural problems.&lt;br /&gt;
&lt;br /&gt;
Staff must not obstruct another authorized team’s investigation or deliberately interfere with network recovery.&lt;br /&gt;
&lt;br /&gt;
= 29. Activity and Reliability =&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Meet reasonable activity expectations.&lt;br /&gt;
* Inform the team about extended absence.&lt;br /&gt;
* Hand over active cases.&lt;br /&gt;
* Review temporary restrictions before leaving.&lt;br /&gt;
* Secure privileged sessions.&lt;br /&gt;
* Respond to important access reviews.&lt;br /&gt;
* Keep contact information current through approved systems.&lt;br /&gt;
&lt;br /&gt;
Inactivity may result in access reduction or removal for security purposes.&lt;br /&gt;
&lt;br /&gt;
= 30. Staff Access Review =&lt;br /&gt;
&lt;br /&gt;
Staff access may be reviewed when:&lt;br /&gt;
&lt;br /&gt;
* A role changes.&lt;br /&gt;
* A staff member becomes inactive.&lt;br /&gt;
* A credential is exposed.&lt;br /&gt;
* An incident occurs.&lt;br /&gt;
* A complaint is received.&lt;br /&gt;
* New permissions are requested.&lt;br /&gt;
* A project relationship changes.&lt;br /&gt;
* A staff member resigns.&lt;br /&gt;
* Management performs a periodic security review.&lt;br /&gt;
&lt;br /&gt;
Staff shall cooperate with access reviews.&lt;br /&gt;
&lt;br /&gt;
= 31. Suspension of Access =&lt;br /&gt;
&lt;br /&gt;
Access may be temporarily suspended to protect the network when:&lt;br /&gt;
&lt;br /&gt;
* An account may be compromised.&lt;br /&gt;
* A device is lost.&lt;br /&gt;
* Serious misuse is alleged.&lt;br /&gt;
* A staff member repeatedly acts unsafely.&lt;br /&gt;
* An independent investigation is required.&lt;br /&gt;
* Continued access creates operational risk.&lt;br /&gt;
* A role no longer requires the access.&lt;br /&gt;
&lt;br /&gt;
Temporary suspension does not by itself prove misconduct.&lt;br /&gt;
&lt;br /&gt;
Staff must not evade a suspension by using another account.&lt;br /&gt;
&lt;br /&gt;
= 32. Resignation and Removal =&lt;br /&gt;
&lt;br /&gt;
When staff service ends:&lt;br /&gt;
&lt;br /&gt;
* Operator access must be removed.&lt;br /&gt;
* Services permissions must be reviewed.&lt;br /&gt;
* Staff-channel access must be removed.&lt;br /&gt;
* Tokens and keys must be revoked or rotated.&lt;br /&gt;
* Active cases must be transferred.&lt;br /&gt;
* Restricted documents must remain protected.&lt;br /&gt;
* Project-specific roles must be reviewed separately.&lt;br /&gt;
* The offboarding process must be documented.&lt;br /&gt;
&lt;br /&gt;
Former staff must not retain, publish, or misuse confidential information.&lt;br /&gt;
&lt;br /&gt;
= 33. Reporting Violations =&lt;br /&gt;
&lt;br /&gt;
Suspected violations of this Code should be reported through an approved confidential process.&lt;br /&gt;
&lt;br /&gt;
A report should include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Reporting person:&lt;br /&gt;
Staff member involved:&lt;br /&gt;
Location:&lt;br /&gt;
Conduct reported:&lt;br /&gt;
Evidence available:&lt;br /&gt;
Immediate risk:&lt;br /&gt;
Actions already taken:&lt;br /&gt;
Potential conflict of interest:&lt;br /&gt;
Requested review:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Reports should be handled by an appropriate and, where necessary, independent reviewer.&lt;br /&gt;
&lt;br /&gt;
Knowingly false reports may themselves violate policy, but an unproven good-faith report is not automatically a false report.&lt;br /&gt;
&lt;br /&gt;
= 34. Protection of Reporters =&lt;br /&gt;
&lt;br /&gt;
Anyone submitting a good-faith report should be protected from retaliation.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Reveal a reporter unnecessarily.&lt;br /&gt;
* Threaten the reporter.&lt;br /&gt;
* Deny support in retaliation.&lt;br /&gt;
* Manufacture a sanction.&lt;br /&gt;
* Pressure the reporter to withdraw.&lt;br /&gt;
* Destroy the report.&lt;br /&gt;
* Send the complaint only to the accused person where independent review is required.&lt;br /&gt;
&lt;br /&gt;
= 35. Investigation Principles =&lt;br /&gt;
&lt;br /&gt;
A staff-conduct investigation should be:&lt;br /&gt;
&lt;br /&gt;
* Authorized.&lt;br /&gt;
* Confidential.&lt;br /&gt;
* Evidence-based.&lt;br /&gt;
* Proportionate.&lt;br /&gt;
* Independent where required.&lt;br /&gt;
* Documented.&lt;br /&gt;
* Free from retaliation.&lt;br /&gt;
* Completed within a reasonable operational period.&lt;br /&gt;
* Open to correction if new evidence appears.&lt;br /&gt;
&lt;br /&gt;
The investigator should distinguish:&lt;br /&gt;
&lt;br /&gt;
* Confirmed facts.&lt;br /&gt;
* Reports.&lt;br /&gt;
* Inferences.&lt;br /&gt;
* Disputed claims.&lt;br /&gt;
* Missing evidence.&lt;br /&gt;
&lt;br /&gt;
= 36. Possible Outcomes =&lt;br /&gt;
&lt;br /&gt;
Depending on severity and evidence, outcomes may include:&lt;br /&gt;
&lt;br /&gt;
* No violation found.&lt;br /&gt;
* Guidance.&lt;br /&gt;
* Informal correction.&lt;br /&gt;
* Formal warning.&lt;br /&gt;
* Additional training.&lt;br /&gt;
* Increased supervision.&lt;br /&gt;
* Reduced permissions.&lt;br /&gt;
* Temporary suspension.&lt;br /&gt;
* Role reassignment.&lt;br /&gt;
* Removal from a specific team.&lt;br /&gt;
* Removal from DWIRC staff.&lt;br /&gt;
* Permanent revocation of privileged access.&lt;br /&gt;
* Network action for separate user-policy violations.&lt;br /&gt;
&lt;br /&gt;
Serious intentional misconduct may justify immediate removal.&lt;br /&gt;
&lt;br /&gt;
= 37. Factors in Staff Discipline =&lt;br /&gt;
&lt;br /&gt;
Reviewers may consider:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Intent.&lt;br /&gt;
* Harm caused.&lt;br /&gt;
* Number of users affected.&lt;br /&gt;
* Whether private information was exposed.&lt;br /&gt;
* Whether credentials were compromised.&lt;br /&gt;
* Previous relevant conduct.&lt;br /&gt;
* Cooperation with the investigation.&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Corrective action.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Evidence concealment.&lt;br /&gt;
* Risk of recurrence.&lt;br /&gt;
* Position and level of trust.&lt;br /&gt;
&lt;br /&gt;
Senior access creates greater responsibility, not greater immunity.&lt;br /&gt;
&lt;br /&gt;
= 38. Appeals =&lt;br /&gt;
&lt;br /&gt;
Where an appeal process is available, the affected staff member may request review.&lt;br /&gt;
&lt;br /&gt;
An appeal should:&lt;br /&gt;
&lt;br /&gt;
* Identify the decision.&lt;br /&gt;
* State the reason for disagreement.&lt;br /&gt;
* Provide relevant evidence.&lt;br /&gt;
* Avoid retaliation or disruption.&lt;br /&gt;
* Follow the approved process.&lt;br /&gt;
&lt;br /&gt;
An appeal does not automatically restore suspended access.&lt;br /&gt;
&lt;br /&gt;
= 39. Code Acceptance =&lt;br /&gt;
&lt;br /&gt;
Before final assessment or probation, each candidate must affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I have read and understood the DarkWorld IRC Staff Code of Conduct.&lt;br /&gt;
&lt;br /&gt;
I understand that staff access exists only for authorized DarkWorld IRC&lt;br /&gt;
responsibilities and does not automatically extend to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
I agree to protect credentials, user information, incident evidence, staff&lt;br /&gt;
communications, and all other confidential information.&lt;br /&gt;
&lt;br /&gt;
I will not use staff authority for personal disputes, favoritism, retaliation,&lt;br /&gt;
financial benefit, curiosity, or unauthorized access.&lt;br /&gt;
&lt;br /&gt;
I will disclose relevant conflicts of interest and will request independent&lt;br /&gt;
review when my neutrality may reasonably be questioned.&lt;br /&gt;
&lt;br /&gt;
I will use the least severe effective action, document significant actions,&lt;br /&gt;
report mistakes honestly, and cooperate with authorized investigations.&lt;br /&gt;
&lt;br /&gt;
I understand that training completion does not guarantee appointment and that&lt;br /&gt;
staff access may be limited, reviewed, suspended, or removed to protect the&lt;br /&gt;
DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
I understand that my confidentiality obligations continue after I leave the&lt;br /&gt;
staff team.&lt;br /&gt;
&lt;br /&gt;
Registered account:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Candidate status:&lt;br /&gt;
Date accepted:&lt;br /&gt;
Method of acceptance:&lt;br /&gt;
Witness or trainer:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 40. Acceptance Methods =&lt;br /&gt;
&lt;br /&gt;
Management may accept the Code through:&lt;br /&gt;
&lt;br /&gt;
* A staff-training website.&lt;br /&gt;
* A wiki-linked application system.&lt;br /&gt;
* An authenticated IRC bot command.&lt;br /&gt;
* A signed digital form.&lt;br /&gt;
* A recorded staff-channel procedure.&lt;br /&gt;
* Another approved method.&lt;br /&gt;
&lt;br /&gt;
Acceptance should record:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Current version of the Code.&lt;br /&gt;
* Date and time.&lt;br /&gt;
* Acceptance method.&lt;br /&gt;
* Candidate status.&lt;br /&gt;
* Reviewing staff member.&lt;br /&gt;
* Any declared conflicts or external roles.&lt;br /&gt;
&lt;br /&gt;
= 41. Code Versioning =&lt;br /&gt;
&lt;br /&gt;
This Code should include a version and revision date when formally adopted.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Code version&lt;br /&gt;
| 1.0&lt;br /&gt;
|-&lt;br /&gt;
! Effective date&lt;br /&gt;
| To be approved&lt;br /&gt;
|-&lt;br /&gt;
! Last reviewed&lt;br /&gt;
| To be recorded&lt;br /&gt;
|-&lt;br /&gt;
! Approved by&lt;br /&gt;
| DarkWorld IRC Management&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When material changes are made:&lt;br /&gt;
&lt;br /&gt;
* Staff should be notified.&lt;br /&gt;
* The revision should be recorded.&lt;br /&gt;
* Significant changes should be explained.&lt;br /&gt;
* Re-acceptance may be required.&lt;br /&gt;
* Previous versions should be preserved for audit purposes.&lt;br /&gt;
&lt;br /&gt;
= 42. Candidate Review Questions =&lt;br /&gt;
&lt;br /&gt;
Before accepting this Code, answer:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of staff authority?&lt;br /&gt;
# Does DWIRC staff access extend automatically to DWShells or DWBouncers?&lt;br /&gt;
# When must a conflict of interest be disclosed?&lt;br /&gt;
# What is retaliation?&lt;br /&gt;
# May staff reveal a hidden IP address to prove a point?&lt;br /&gt;
# What should happen after a credential leak?&lt;br /&gt;
# May OperOverride be used to enter a private channel out of curiosity?&lt;br /&gt;
# How should a staff mistake be handled?&lt;br /&gt;
# What is the difference between suspension and a finding of misconduct?&lt;br /&gt;
# Why must significant actions be recorded?&lt;br /&gt;
# How should a complaint against a staff member be reviewed?&lt;br /&gt;
# Do confidentiality obligations continue after resignation?&lt;br /&gt;
# Can a staff member accept free hosting in exchange for an approval?&lt;br /&gt;
# What should happen when a user is affected by an incorrect ban?&lt;br /&gt;
# Does completing training guarantee a staff appointment?&lt;br /&gt;
&lt;br /&gt;
= 43. Completion Requirement =&lt;br /&gt;
&lt;br /&gt;
To complete this page, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the entire Code.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;13 of the 15&#039;&#039;&#039; review questions.&lt;br /&gt;
* Disclose relevant external roles and conflicts.&lt;br /&gt;
* Accept the Code through an approved method.&lt;br /&gt;
* Receive trainer confirmation.&lt;br /&gt;
* Agree to comply throughout training, probation, and staff service.&lt;br /&gt;
&lt;br /&gt;
Refusal to accept the Code makes the candidate ineligible for staff access.&lt;br /&gt;
&lt;br /&gt;
= 44. Next Step =&lt;br /&gt;
&lt;br /&gt;
After accepting the Code, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Final Examination|DarkWorld IRC Staff Final Written Examination]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Module 10 — Staff Ethics and Security]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Final Examination|Final Written Examination]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Code of Conduct]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Staff_Ethics&amp;diff=400</id>
		<title>DWIRC:Staff Training/Staff Ethics</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Staff_Ethics&amp;diff=400"/>
		<updated>2026-08-08T18:09:57Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Staff Ethics&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 10 — Staff Ethics and Security}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 10: Staff Ethics and Security&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 10 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–6 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Ethics examination, security review, scenarios, and written declaration&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff may receive access to user information, restricted channels, moderation systems, IRC Services, network commands, documentation, and operational infrastructure.&lt;br /&gt;
&lt;br /&gt;
Technical ability alone is not sufficient for a staff position.&lt;br /&gt;
&lt;br /&gt;
A staff member must also demonstrate:&lt;br /&gt;
&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Neutrality.&lt;br /&gt;
* Restraint.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Respect for privacy.&lt;br /&gt;
* Secure handling of access.&lt;br /&gt;
* Accountability.&lt;br /&gt;
* Willingness to accept review.&lt;br /&gt;
* Respect for project boundaries.&lt;br /&gt;
* Commitment to the community.&lt;br /&gt;
&lt;br /&gt;
This module defines the ethical and security standards expected from every DarkWorld IRC staff candidate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mandatory requirement:&#039;&#039;&#039; Candidates must pass the ethics and security assessment separately. A high score in technical modules cannot compensate for unsafe, dishonest, retaliatory, or abusive conduct.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain why staff authority exists.&lt;br /&gt;
# Apply least-privilege principles.&lt;br /&gt;
# Protect credentials and restricted information.&lt;br /&gt;
# Recognize conflicts of interest.&lt;br /&gt;
# Avoid favoritism and retaliation.&lt;br /&gt;
# Handle staff disagreements professionally.&lt;br /&gt;
# Report mistakes and security incidents honestly.&lt;br /&gt;
# Respect project and role boundaries.&lt;br /&gt;
# Identify social-engineering attempts.&lt;br /&gt;
# Secure their IRC client and devices.&lt;br /&gt;
# Follow proper onboarding and offboarding procedures.&lt;br /&gt;
# Understand when access should be suspended or removed.&lt;br /&gt;
# Accept accountability and independent review.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of Staff Authority =&lt;br /&gt;
&lt;br /&gt;
Staff authority exists to:&lt;br /&gt;
&lt;br /&gt;
* Serve users.&lt;br /&gt;
* Protect the IRC network.&lt;br /&gt;
* Enforce policies fairly.&lt;br /&gt;
* Maintain technical stability.&lt;br /&gt;
* Resolve or escalate incidents.&lt;br /&gt;
* Support channels and communities.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Preserve trust in DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Staff authority does not exist to:&lt;br /&gt;
&lt;br /&gt;
* Give social status.&lt;br /&gt;
* Win arguments.&lt;br /&gt;
* Control personal conversations.&lt;br /&gt;
* Punish criticism.&lt;br /&gt;
* Benefit friends.&lt;br /&gt;
* Monitor users for entertainment.&lt;br /&gt;
* Gain access to other projects.&lt;br /&gt;
* Avoid normal rules.&lt;br /&gt;
* Conceal staff mistakes.&lt;br /&gt;
* Threaten users.&lt;br /&gt;
&lt;br /&gt;
A staff member’s conduct should increase confidence in the network.&lt;br /&gt;
&lt;br /&gt;
= 2. Core Ethical Principles =&lt;br /&gt;
&lt;br /&gt;
Every staff member should follow these principles:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Principle&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Service&lt;br /&gt;
| Use authority to help the network and its users&lt;br /&gt;
|-&lt;br /&gt;
| Legitimacy&lt;br /&gt;
| Act only for an authorized purpose&lt;br /&gt;
|-&lt;br /&gt;
| Least privilege&lt;br /&gt;
| Use only the access required for the role&lt;br /&gt;
|-&lt;br /&gt;
| Proportionality&lt;br /&gt;
| Use the least severe effective action&lt;br /&gt;
|-&lt;br /&gt;
| Neutrality&lt;br /&gt;
| Apply rules without favoritism or retaliation&lt;br /&gt;
|-&lt;br /&gt;
| Confidentiality&lt;br /&gt;
| Protect private and restricted information&lt;br /&gt;
|-&lt;br /&gt;
| Accountability&lt;br /&gt;
| Record actions and accept review&lt;br /&gt;
|-&lt;br /&gt;
| Integrity&lt;br /&gt;
| Tell the truth and preserve evidence accurately&lt;br /&gt;
|-&lt;br /&gt;
| Restraint&lt;br /&gt;
| Avoid unnecessary use of elevated powers&lt;br /&gt;
|-&lt;br /&gt;
| Respect&lt;br /&gt;
| Treat users and staff professionally&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 3. Least Privilege =&lt;br /&gt;
&lt;br /&gt;
Least privilege means that access should be:&lt;br /&gt;
&lt;br /&gt;
* Limited to assigned responsibilities.&lt;br /&gt;
* Granted only after approval.&lt;br /&gt;
* Reviewed periodically.&lt;br /&gt;
* Reduced when duties change.&lt;br /&gt;
* Suspended when security is uncertain.&lt;br /&gt;
* Removed when no longer required.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* A support trainee does not require IRC operator access.&lt;br /&gt;
* An IRC operator does not automatically require OperServ.&lt;br /&gt;
* Services staff do not automatically require server shell access.&lt;br /&gt;
* An IRCd administrator does not automatically require DWShells administration.&lt;br /&gt;
* Membership in a restricted channel does not grant authority to disclose its contents.&lt;br /&gt;
&lt;br /&gt;
Staff should not request additional access merely because it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
= 4. Separation of DarkWorld Projects =&lt;br /&gt;
&lt;br /&gt;
DarkWorld Network is the umbrella organization. DarkWorld IRC is one project under that umbrella.&lt;br /&gt;
&lt;br /&gt;
DWIRC staff authority does not automatically extend to:&lt;br /&gt;
&lt;br /&gt;
* DWShells.&lt;br /&gt;
* DWBouncers.&lt;br /&gt;
* DWGames.&lt;br /&gt;
* DWBots.&lt;br /&gt;
* DWVPN.&lt;br /&gt;
* Websites.&lt;br /&gt;
* Databases.&lt;br /&gt;
* Hosting systems.&lt;br /&gt;
* Other registered projects.&lt;br /&gt;
&lt;br /&gt;
A person may hold separate roles in multiple projects, but each role should have:&lt;br /&gt;
&lt;br /&gt;
* Separate approval.&lt;br /&gt;
* Defined responsibilities.&lt;br /&gt;
* Appropriate training.&lt;br /&gt;
* Role-specific access.&lt;br /&gt;
* Independent access review.&lt;br /&gt;
&lt;br /&gt;
Staff must state clearly which role they are acting under.&lt;br /&gt;
&lt;br /&gt;
= 5. Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
A conflict of interest exists when personal relationships, competing interests, or prior involvement may influence a staff decision.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Moderating a dispute involving a close friend.&lt;br /&gt;
* Investigating a personal rival.&lt;br /&gt;
* Reviewing your own contested action.&lt;br /&gt;
* Deciding a case involving a project you operate.&lt;br /&gt;
* Handling a complaint against a close team member.&lt;br /&gt;
* Reviewing an advertising request from a competing service.&lt;br /&gt;
* Receiving a personal benefit from an approval.&lt;br /&gt;
* Previously making public statements against one party.&lt;br /&gt;
&lt;br /&gt;
== Conflict Procedure ==&lt;br /&gt;
&lt;br /&gt;
When a meaningful conflict exists:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm if necessary.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Disclose the conflict internally.&lt;br /&gt;
# Avoid making the final decision.&lt;br /&gt;
# Transfer the case to a neutral authorized staff member.&lt;br /&gt;
# Do not influence the review improperly.&lt;br /&gt;
# Record the reassignment.&lt;br /&gt;
&lt;br /&gt;
Having a conflict does not automatically mean misconduct. Concealing it and continuing to control the decision may create misconduct.&lt;br /&gt;
&lt;br /&gt;
= 6. Favoritism =&lt;br /&gt;
&lt;br /&gt;
Favoritism includes:&lt;br /&gt;
&lt;br /&gt;
* Ignoring violations by friends.&lt;br /&gt;
* Giving access based on friendship.&lt;br /&gt;
* Accelerating applications for preferred users.&lt;br /&gt;
* Sharing restricted information with associates.&lt;br /&gt;
* Reversing another staff member’s action for a friend.&lt;br /&gt;
* Applying harsher treatment to disliked users.&lt;br /&gt;
* Protecting a staff member from legitimate review.&lt;br /&gt;
* Giving verified status without completing the required process.&lt;br /&gt;
&lt;br /&gt;
Decisions should be based on:&lt;br /&gt;
&lt;br /&gt;
* Current policy.&lt;br /&gt;
* Evidence.&lt;br /&gt;
* Role requirements.&lt;br /&gt;
* Network needs.&lt;br /&gt;
* Consistent procedures.&lt;br /&gt;
* Authorized approval.&lt;br /&gt;
&lt;br /&gt;
= 7. Retaliation =&lt;br /&gt;
&lt;br /&gt;
Retaliation means taking harmful action because someone:&lt;br /&gt;
&lt;br /&gt;
* Criticized staff.&lt;br /&gt;
* Submitted an appeal.&lt;br /&gt;
* Reported misconduct.&lt;br /&gt;
* Refused a personal request.&lt;br /&gt;
* Disagreed respectfully.&lt;br /&gt;
* Provided evidence in an investigation.&lt;br /&gt;
* Participated in an independent review.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Banning a complainant without a separate valid reason.&lt;br /&gt;
* Removing access because someone reported a staff member.&lt;br /&gt;
* Revealing private information about a critic.&lt;br /&gt;
* Encouraging others to harass an appellant.&lt;br /&gt;
* Delaying legitimate support as punishment.&lt;br /&gt;
&lt;br /&gt;
Retaliation is prohibited.&lt;br /&gt;
&lt;br /&gt;
= 8. Staff Impartiality =&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Focus on conduct rather than personality.&lt;br /&gt;
* Apply the same policy to friends and strangers.&lt;br /&gt;
* Separate personal opinions from official decisions.&lt;br /&gt;
* Avoid assumptions based on nationality, language, or community.&lt;br /&gt;
* Avoid prejudging an incident publicly.&lt;br /&gt;
* Seek independent review when personally involved.&lt;br /&gt;
* Correct inconsistent enforcement.&lt;br /&gt;
&lt;br /&gt;
Impartiality does not mean ignoring relevant history. It means using relevant history fairly and through authorized procedures.&lt;br /&gt;
&lt;br /&gt;
= 9. Confidential Information =&lt;br /&gt;
&lt;br /&gt;
Staff may encounter:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hidden host information.&lt;br /&gt;
* Email addresses.&lt;br /&gt;
* Account records.&lt;br /&gt;
* Services information.&lt;br /&gt;
* Private abuse reports.&lt;br /&gt;
* Channel access records.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Security vulnerabilities.&lt;br /&gt;
* Staff discussions.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Passwords.&lt;br /&gt;
* Configuration files.&lt;br /&gt;
* Incident evidence.&lt;br /&gt;
* Application records.&lt;br /&gt;
&lt;br /&gt;
Access to this information is based on operational need.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Share it with friends.&lt;br /&gt;
* Post it publicly.&lt;br /&gt;
* Use it for personal advantage.&lt;br /&gt;
* retain unnecessary copies.&lt;br /&gt;
* Move it to personal systems without authorization.&lt;br /&gt;
* Discuss it in unrelated project channels.&lt;br /&gt;
* Use it to threaten users.&lt;br /&gt;
* disclose it after leaving staff.&lt;br /&gt;
&lt;br /&gt;
Confidentiality obligations continue after resignation or removal.&lt;br /&gt;
&lt;br /&gt;
= 10. Need-to-Know Access =&lt;br /&gt;
&lt;br /&gt;
Being a staff member does not create a right to view every case.&lt;br /&gt;
&lt;br /&gt;
Access should depend on:&lt;br /&gt;
&lt;br /&gt;
* Assigned responsibility.&lt;br /&gt;
* Incident role.&lt;br /&gt;
* Required technical knowledge.&lt;br /&gt;
* Management authorization.&lt;br /&gt;
* Confidentiality classification.&lt;br /&gt;
* Whether the staff member has a conflict.&lt;br /&gt;
&lt;br /&gt;
Curiosity is not a valid operational reason.&lt;br /&gt;
&lt;br /&gt;
= 11. Password and Credential Security =&lt;br /&gt;
&lt;br /&gt;
Staff credentials may include:&lt;br /&gt;
&lt;br /&gt;
* NickServ password.&lt;br /&gt;
* IRC operator password.&lt;br /&gt;
* Services credentials.&lt;br /&gt;
* SSH keys.&lt;br /&gt;
* Website administrator passwords.&lt;br /&gt;
* Database credentials.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Bot tokens.&lt;br /&gt;
* Recovery codes.&lt;br /&gt;
* TLS client certificates.&lt;br /&gt;
&lt;br /&gt;
Every privileged credential should be:&lt;br /&gt;
&lt;br /&gt;
* Unique.&lt;br /&gt;
* Strong.&lt;br /&gt;
* Stored securely.&lt;br /&gt;
* Shared with no one.&lt;br /&gt;
* Rotated when exposed.&lt;br /&gt;
* Removed from retired devices.&lt;br /&gt;
* Limited to its intended system.&lt;br /&gt;
* Protected by additional authentication where supported.&lt;br /&gt;
&lt;br /&gt;
Do not reuse one password across NickServ, IRC operator, email, websites, shells, or other projects.&lt;br /&gt;
&lt;br /&gt;
= 12. Password Managers =&lt;br /&gt;
&lt;br /&gt;
An approved password manager can help staff:&lt;br /&gt;
&lt;br /&gt;
* Generate unique passwords.&lt;br /&gt;
* Avoid password reuse.&lt;br /&gt;
* Store credentials securely.&lt;br /&gt;
* identify weak or duplicated passwords.&lt;br /&gt;
* Update credentials after rotation.&lt;br /&gt;
&lt;br /&gt;
Staff should protect the password manager with:&lt;br /&gt;
&lt;br /&gt;
* A strong master password.&lt;br /&gt;
* Multi-factor authentication where available.&lt;br /&gt;
* Secure recovery methods.&lt;br /&gt;
* Device encryption.&lt;br /&gt;
* Updated software.&lt;br /&gt;
&lt;br /&gt;
Credentials must not be stored in:&lt;br /&gt;
&lt;br /&gt;
* Public paste services.&lt;br /&gt;
* IRC channels.&lt;br /&gt;
* Plaintext notes.&lt;br /&gt;
* Unprotected scripts.&lt;br /&gt;
* Screenshots.&lt;br /&gt;
* Shared documents.&lt;br /&gt;
* Public source repositories.&lt;br /&gt;
&lt;br /&gt;
= 13. Multi-Factor Authentication =&lt;br /&gt;
&lt;br /&gt;
Where supported, privileged accounts should use multi-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Possible methods include:&lt;br /&gt;
&lt;br /&gt;
* Authenticator applications.&lt;br /&gt;
* Hardware security keys.&lt;br /&gt;
* Device-bound credentials.&lt;br /&gt;
* Secure recovery codes.&lt;br /&gt;
&lt;br /&gt;
Recovery codes should be stored securely and separately from the primary device.&lt;br /&gt;
&lt;br /&gt;
SMS-based authentication may be better than no additional protection but can carry account-recovery and SIM-related risks.&lt;br /&gt;
&lt;br /&gt;
= 14. IRC Client Security =&lt;br /&gt;
&lt;br /&gt;
A privileged IRC client should:&lt;br /&gt;
&lt;br /&gt;
* Be obtained from a trusted source.&lt;br /&gt;
* Receive security updates.&lt;br /&gt;
* Use verified TLS.&lt;br /&gt;
* Use SASL securely.&lt;br /&gt;
* Avoid unknown scripts and plugins.&lt;br /&gt;
* Protect stored passwords.&lt;br /&gt;
* Protect log files.&lt;br /&gt;
* Lock the device when unattended.&lt;br /&gt;
* Disable unnecessary automatic commands.&lt;br /&gt;
* Use separate profiles where appropriate.&lt;br /&gt;
&lt;br /&gt;
IRC scripts may:&lt;br /&gt;
&lt;br /&gt;
* Read messages.&lt;br /&gt;
* Send commands.&lt;br /&gt;
* Access stored data.&lt;br /&gt;
* Automatically respond to events.&lt;br /&gt;
* Execute external commands.&lt;br /&gt;
* Leak credentials.&lt;br /&gt;
&lt;br /&gt;
Staff must not install unreviewed scripts into a privileged client.&lt;br /&gt;
&lt;br /&gt;
= 15. Device Security =&lt;br /&gt;
&lt;br /&gt;
Devices used for staff duties should have:&lt;br /&gt;
&lt;br /&gt;
* Current security updates.&lt;br /&gt;
* Screen locking.&lt;br /&gt;
* Disk encryption where practical.&lt;br /&gt;
* Malware protection appropriate to the platform.&lt;br /&gt;
* Secure user accounts.&lt;br /&gt;
* Limited administrative access.&lt;br /&gt;
* Protected backups.&lt;br /&gt;
* Trusted network connections.&lt;br /&gt;
* Remote-access controls.&lt;br /&gt;
* A procedure for lost or stolen devices.&lt;br /&gt;
&lt;br /&gt;
Public or shared computers should not be used for privileged staff sessions.&lt;br /&gt;
&lt;br /&gt;
= 16. Secure Connections =&lt;br /&gt;
&lt;br /&gt;
Staff should use:&lt;br /&gt;
&lt;br /&gt;
* Verified TLS for IRC.&lt;br /&gt;
* Secure authentication.&lt;br /&gt;
* Approved VPN or management paths where required.&lt;br /&gt;
* SSH keys instead of passwords where appropriate.&lt;br /&gt;
* Host-key verification.&lt;br /&gt;
* Trusted DNS and network configuration.&lt;br /&gt;
* Authorized administrative interfaces.&lt;br /&gt;
&lt;br /&gt;
Staff must not disable security checks merely to make a connection work.&lt;br /&gt;
&lt;br /&gt;
Certificate or host-key warnings should be investigated.&lt;br /&gt;
&lt;br /&gt;
= 17. Social Engineering =&lt;br /&gt;
&lt;br /&gt;
Social engineering attempts manipulate people into revealing information or taking unsafe action.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* “The founder asked me to get the password.”&lt;br /&gt;
* “This is urgent; skip verification.”&lt;br /&gt;
* “Send me the operator configuration so I can fix it.”&lt;br /&gt;
* “I lost my account, but everyone knows me.”&lt;br /&gt;
* “Give my friend temporary access.”&lt;br /&gt;
* “Run this script to check your IRC client.”&lt;br /&gt;
* “Paste the token so I can test the bot.”&lt;br /&gt;
* “Do not tell the other staff.”&lt;br /&gt;
&lt;br /&gt;
Warning signs include:&lt;br /&gt;
&lt;br /&gt;
* Artificial urgency.&lt;br /&gt;
* Requests to bypass normal procedures.&lt;br /&gt;
* Secrecy.&lt;br /&gt;
* Pressure based on authority or friendship.&lt;br /&gt;
* Requests for credentials.&lt;br /&gt;
* Unexpected files or links.&lt;br /&gt;
* Refusal to use official processes.&lt;br /&gt;
* Inconsistent identity information.&lt;br /&gt;
&lt;br /&gt;
== Response ==&lt;br /&gt;
&lt;br /&gt;
# Stop and verify independently.&lt;br /&gt;
# Use an official communication channel.&lt;br /&gt;
# Contact the claimed authority directly.&lt;br /&gt;
# Do not open unknown files.&lt;br /&gt;
# Do not reveal credentials.&lt;br /&gt;
# Preserve suspicious messages.&lt;br /&gt;
# Report the attempt.&lt;br /&gt;
&lt;br /&gt;
= 18. Phishing and Impersonation =&lt;br /&gt;
&lt;br /&gt;
Staff may be targeted by:&lt;br /&gt;
&lt;br /&gt;
* Fake NickServ messages.&lt;br /&gt;
* Fake staff accounts.&lt;br /&gt;
* Imitation login pages.&lt;br /&gt;
* Malicious email.&lt;br /&gt;
* Compromised project accounts.&lt;br /&gt;
* Lookalike domains.&lt;br /&gt;
* Fake support requests.&lt;br /&gt;
* QR codes leading to credential pages.&lt;br /&gt;
&lt;br /&gt;
Before entering credentials:&lt;br /&gt;
&lt;br /&gt;
* Check the service name.&lt;br /&gt;
* Check the domain.&lt;br /&gt;
* Check TLS validation.&lt;br /&gt;
* Confirm why authentication is required.&lt;br /&gt;
* Avoid following unexpected links.&lt;br /&gt;
* Use a known bookmark or official address.&lt;br /&gt;
* Contact authorized administration if uncertain.&lt;br /&gt;
&lt;br /&gt;
= 19. Security Incident Reporting =&lt;br /&gt;
&lt;br /&gt;
Staff must promptly report:&lt;br /&gt;
&lt;br /&gt;
* Credential exposure.&lt;br /&gt;
* Lost or stolen devices.&lt;br /&gt;
* Suspicious logins.&lt;br /&gt;
* Unexpected operator actions.&lt;br /&gt;
* Unauthorized access.&lt;br /&gt;
* Malware on a staff device.&lt;br /&gt;
* Leaked API tokens.&lt;br /&gt;
* Compromised email.&lt;br /&gt;
* Unapproved configuration changes.&lt;br /&gt;
* Exposure of private user information.&lt;br /&gt;
* Vulnerabilities affecting DarkWorld.&lt;br /&gt;
&lt;br /&gt;
A report should include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Affected account or system:&lt;br /&gt;
How the issue was discovered:&lt;br /&gt;
Possible exposure:&lt;br /&gt;
Actions already taken:&lt;br /&gt;
Last known legitimate access:&lt;br /&gt;
Suspicious activity:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Immediate assistance required:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include active passwords or private keys.&lt;br /&gt;
&lt;br /&gt;
= 20. Responsible Vulnerability Handling =&lt;br /&gt;
&lt;br /&gt;
If staff discover a vulnerability:&lt;br /&gt;
&lt;br /&gt;
# Do not exploit it beyond what is necessary to confirm safely.&lt;br /&gt;
# Do not access unrelated user data.&lt;br /&gt;
# Preserve minimal evidence.&lt;br /&gt;
# Report it privately to authorized technical staff.&lt;br /&gt;
# Avoid public disclosure before mitigation.&lt;br /&gt;
# Follow management instructions.&lt;br /&gt;
# Assist with verification only when authorized.&lt;br /&gt;
# Document the resolution.&lt;br /&gt;
&lt;br /&gt;
A trainee must not perform penetration testing against production systems without explicit authorization.&lt;br /&gt;
&lt;br /&gt;
= 21. Staff Channels and Internal Discussions =&lt;br /&gt;
&lt;br /&gt;
Restricted staff channels may contain:&lt;br /&gt;
&lt;br /&gt;
* Incident coordination.&lt;br /&gt;
* User reports.&lt;br /&gt;
* Policy discussions.&lt;br /&gt;
* Server information.&lt;br /&gt;
* Staff evaluations.&lt;br /&gt;
* Application details.&lt;br /&gt;
* Security concerns.&lt;br /&gt;
&lt;br /&gt;
Staff-channel content must not be:&lt;br /&gt;
&lt;br /&gt;
* Copied to public channels.&lt;br /&gt;
* Shared with friends.&lt;br /&gt;
* Used as gossip.&lt;br /&gt;
* Posted on social media.&lt;br /&gt;
* Relayed to external networks.&lt;br /&gt;
* Used for personal retaliation.&lt;br /&gt;
* Disclosed after resignation.&lt;br /&gt;
&lt;br /&gt;
Staff should still communicate professionally in restricted channels. Confidentiality does not make abusive conduct acceptable.&lt;br /&gt;
&lt;br /&gt;
= 22. Public Staff Conduct =&lt;br /&gt;
&lt;br /&gt;
When acting publicly, staff should:&lt;br /&gt;
&lt;br /&gt;
* Be calm and professional.&lt;br /&gt;
* Avoid public arguments with other staff.&lt;br /&gt;
* Avoid insulting users.&lt;br /&gt;
* Avoid unsupported technical claims.&lt;br /&gt;
* State when information is not yet confirmed.&lt;br /&gt;
* Use official policy links.&lt;br /&gt;
* Avoid discussing confidential cases.&lt;br /&gt;
* Distinguish personal opinion from official decisions.&lt;br /&gt;
* Correct inaccurate statements.&lt;br /&gt;
&lt;br /&gt;
Staff should not claim to speak for all DarkWorld projects unless authorized.&lt;br /&gt;
&lt;br /&gt;
= 23. Personal Accounts and Social Media =&lt;br /&gt;
&lt;br /&gt;
Staff members may have personal accounts and opinions.&lt;br /&gt;
&lt;br /&gt;
However, they should not:&lt;br /&gt;
&lt;br /&gt;
* Publish confidential DarkWorld information.&lt;br /&gt;
* Threaten users off-network.&lt;br /&gt;
* Coordinate harassment.&lt;br /&gt;
* Impersonate official DarkWorld accounts.&lt;br /&gt;
* Misrepresent personal statements as official announcements.&lt;br /&gt;
* Use private user data on external platforms.&lt;br /&gt;
* Damage an active investigation.&lt;br /&gt;
* Reveal security controls.&lt;br /&gt;
&lt;br /&gt;
Where practical, official announcements should use official channels and identities.&lt;br /&gt;
&lt;br /&gt;
= 24. External IRC Networks and Projects =&lt;br /&gt;
&lt;br /&gt;
A candidate should disclose relevant positions on other IRC networks or competing services when they may create:&lt;br /&gt;
&lt;br /&gt;
* A conflict of interest.&lt;br /&gt;
* An advertising concern.&lt;br /&gt;
* Access to confidential information on both sides.&lt;br /&gt;
* Divided incident responsibilities.&lt;br /&gt;
* Recruitment concerns.&lt;br /&gt;
* A risk of sharing operational data.&lt;br /&gt;
&lt;br /&gt;
Holding another role is not automatically prohibited. Transparency and proper separation are required.&lt;br /&gt;
&lt;br /&gt;
DarkWorld information must not be transferred to another network without authorization.&lt;br /&gt;
&lt;br /&gt;
= 25. Gifts, Payments, and Personal Benefits =&lt;br /&gt;
&lt;br /&gt;
Staff must not accept benefits in exchange for:&lt;br /&gt;
&lt;br /&gt;
* Approving an application.&lt;br /&gt;
* Removing a restriction.&lt;br /&gt;
* Changing channel ownership.&lt;br /&gt;
* Granting verified presence.&lt;br /&gt;
* Sharing private information.&lt;br /&gt;
* Ignoring violations.&lt;br /&gt;
* Providing unauthorized access.&lt;br /&gt;
* Favoring a project.&lt;br /&gt;
&lt;br /&gt;
Possible benefits include:&lt;br /&gt;
&lt;br /&gt;
* Money.&lt;br /&gt;
* Services.&lt;br /&gt;
* Free accounts.&lt;br /&gt;
* Hosting.&lt;br /&gt;
* Game items.&lt;br /&gt;
* Subscriptions.&lt;br /&gt;
* Personal favors.&lt;br /&gt;
* Staff positions elsewhere.&lt;br /&gt;
&lt;br /&gt;
Any offer intended to influence a decision should be reported.&lt;br /&gt;
&lt;br /&gt;
= 26. Use of Bots and Automation =&lt;br /&gt;
&lt;br /&gt;
Staff may use authorized systems such as:&lt;br /&gt;
&lt;br /&gt;
* PolicyServ.&lt;br /&gt;
* RelayServ.&lt;br /&gt;
* Services.&lt;br /&gt;
* Monitoring bots.&lt;br /&gt;
* Support tools.&lt;br /&gt;
* Logging systems.&lt;br /&gt;
&lt;br /&gt;
Automation may assist with:&lt;br /&gt;
&lt;br /&gt;
* Retrieving policy links.&lt;br /&gt;
* Listing applications.&lt;br /&gt;
* Reporting statistics.&lt;br /&gt;
* Recording actions.&lt;br /&gt;
* Detecting possible violations.&lt;br /&gt;
&lt;br /&gt;
Automation must not replace human judgment where a decision affects users.&lt;br /&gt;
&lt;br /&gt;
Staff must:&lt;br /&gt;
&lt;br /&gt;
* Verify high-impact bot results.&lt;br /&gt;
* Protect bot credentials.&lt;br /&gt;
* Restrict administrative commands.&lt;br /&gt;
* Review failed or unexpected actions.&lt;br /&gt;
* Avoid treating every alert as confirmed abuse.&lt;br /&gt;
* Log administrative bot operations.&lt;br /&gt;
&lt;br /&gt;
= 27. Accuracy and Honesty =&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Fabricate evidence.&lt;br /&gt;
* Alter logs dishonestly.&lt;br /&gt;
* Claim an action was authorized when it was not.&lt;br /&gt;
* Invent a policy.&lt;br /&gt;
* Misrepresent an incident.&lt;br /&gt;
* Hide a mistake.&lt;br /&gt;
* Blame another staff member falsely.&lt;br /&gt;
* Claim technical certainty without evidence.&lt;br /&gt;
* Record a warning that was never delivered.&lt;br /&gt;
&lt;br /&gt;
When uncertain, say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This has not yet been confirmed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I do not have enough information to make that decision. I will escalate it.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 28. Reporting Staff Mistakes =&lt;br /&gt;
&lt;br /&gt;
If a staff member makes an error:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct the error where authorized.&lt;br /&gt;
# Report it honestly.&lt;br /&gt;
# Preserve the original record.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Participate in review.&lt;br /&gt;
# Follow any additional training requirement.&lt;br /&gt;
# Improve the relevant procedure or documentation.&lt;br /&gt;
&lt;br /&gt;
Honest mistakes can often be corrected. Concealment, falsification, or retaliation creates a separate and more serious issue.&lt;br /&gt;
&lt;br /&gt;
= 29. Staff Accountability =&lt;br /&gt;
&lt;br /&gt;
Staff members may be required to explain:&lt;br /&gt;
&lt;br /&gt;
* What action they took.&lt;br /&gt;
* Why they took it.&lt;br /&gt;
* What evidence they used.&lt;br /&gt;
* Which policy applied.&lt;br /&gt;
* Who authorized it.&lt;br /&gt;
* Who was affected.&lt;br /&gt;
* How it was reviewed.&lt;br /&gt;
* Whether it was corrected.&lt;br /&gt;
&lt;br /&gt;
Accountability protects:&lt;br /&gt;
&lt;br /&gt;
* Users.&lt;br /&gt;
* The IRC network.&lt;br /&gt;
* Other staff.&lt;br /&gt;
* The staff member who acted properly.&lt;br /&gt;
* The integrity of investigations.&lt;br /&gt;
&lt;br /&gt;
= 30. Staff Complaints =&lt;br /&gt;
&lt;br /&gt;
Complaints against staff should receive:&lt;br /&gt;
&lt;br /&gt;
* Acknowledgement.&lt;br /&gt;
* Confidential handling.&lt;br /&gt;
* Evidence preservation.&lt;br /&gt;
* Independent review where necessary.&lt;br /&gt;
* Protection from retaliation.&lt;br /&gt;
* A recorded outcome.&lt;br /&gt;
* Corrective action where justified.&lt;br /&gt;
&lt;br /&gt;
A complaint is not proof of misconduct, but it must not be dismissed merely because the subject is a staff member.&lt;br /&gt;
&lt;br /&gt;
= 31. Staff Disagreements =&lt;br /&gt;
&lt;br /&gt;
Staff may disagree about:&lt;br /&gt;
&lt;br /&gt;
* Policy interpretation.&lt;br /&gt;
* Incident severity.&lt;br /&gt;
* Appropriate sanctions.&lt;br /&gt;
* Technical causes.&lt;br /&gt;
* Access decisions.&lt;br /&gt;
* Project responsibilities.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
# Avoid arguing publicly.&lt;br /&gt;
# Protect users from immediate harm.&lt;br /&gt;
# State verified facts.&lt;br /&gt;
# Use internal escalation.&lt;br /&gt;
# Follow the incident lead during emergencies.&lt;br /&gt;
# Request policy or management review.&lt;br /&gt;
# Accept the final authorized decision.&lt;br /&gt;
# Record unresolved procedural concerns.&lt;br /&gt;
&lt;br /&gt;
Repeatedly reversing another staff member’s actions without coordination may endanger the network.&lt;br /&gt;
&lt;br /&gt;
= 32. Inactivity and Availability =&lt;br /&gt;
&lt;br /&gt;
Staff roles should have reasonable activity expectations.&lt;br /&gt;
&lt;br /&gt;
When a staff member will be unavailable, they should:&lt;br /&gt;
&lt;br /&gt;
* Inform the appropriate team.&lt;br /&gt;
* Hand over active cases.&lt;br /&gt;
* Avoid leaving temporary restrictions without review.&lt;br /&gt;
* Secure or disconnect privileged sessions.&lt;br /&gt;
* Identify pending tasks.&lt;br /&gt;
* Follow leave or inactivity procedures.&lt;br /&gt;
&lt;br /&gt;
Extended inactivity may result in temporary access reduction or removal.&lt;br /&gt;
&lt;br /&gt;
This protects the network and does not necessarily represent disciplinary action.&lt;br /&gt;
&lt;br /&gt;
= 33. Onboarding =&lt;br /&gt;
&lt;br /&gt;
Before receiving access, a staff member should:&lt;br /&gt;
&lt;br /&gt;
* Complete required training.&lt;br /&gt;
* Accept the Staff Code of Conduct.&lt;br /&gt;
* Receive a defined role.&lt;br /&gt;
* Receive an assigned mentor.&lt;br /&gt;
* Complete account-security checks.&lt;br /&gt;
* Use verified TLS and SASL.&lt;br /&gt;
* Receive only necessary permissions.&lt;br /&gt;
* Learn reporting and escalation channels.&lt;br /&gt;
* Understand logging requirements.&lt;br /&gt;
* Confirm emergency contacts.&lt;br /&gt;
* Complete a recorded access approval.&lt;br /&gt;
&lt;br /&gt;
Access should not be granted informally in a public channel.&lt;br /&gt;
&lt;br /&gt;
= 34. Role Changes =&lt;br /&gt;
&lt;br /&gt;
When a staff member changes roles:&lt;br /&gt;
&lt;br /&gt;
* Review existing access.&lt;br /&gt;
* Remove permissions no longer required.&lt;br /&gt;
* Add only approved new permissions.&lt;br /&gt;
* Update documentation.&lt;br /&gt;
* Update team-channel access.&lt;br /&gt;
* Reassign active cases.&lt;br /&gt;
* Review conflicts of interest.&lt;br /&gt;
* Confirm any new training requirements.&lt;br /&gt;
&lt;br /&gt;
Access should not accumulate indefinitely.&lt;br /&gt;
&lt;br /&gt;
= 35. Resignation and Offboarding =&lt;br /&gt;
&lt;br /&gt;
When a staff member resigns or is removed:&lt;br /&gt;
&lt;br /&gt;
* IRC operator access should be removed.&lt;br /&gt;
* Services permissions should be reviewed.&lt;br /&gt;
* Restricted channel access should be removed.&lt;br /&gt;
* Shared credentials should be rotated where applicable.&lt;br /&gt;
* API or bot tokens should be revoked.&lt;br /&gt;
* Server and website access should be reviewed.&lt;br /&gt;
* Active cases should be transferred.&lt;br /&gt;
* Project roles should be handled separately.&lt;br /&gt;
* Devices or files containing restricted information should be addressed.&lt;br /&gt;
* The access-removal process should be recorded.&lt;br /&gt;
&lt;br /&gt;
The former staff member remains responsible for protecting information learned during service.&lt;br /&gt;
&lt;br /&gt;
= 36. Emergency Access Removal =&lt;br /&gt;
&lt;br /&gt;
Immediate access suspension may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* Credentials are exposed.&lt;br /&gt;
* A staff account is compromised.&lt;br /&gt;
* A device is stolen.&lt;br /&gt;
* Serious access abuse is occurring.&lt;br /&gt;
* Private information is being exposed.&lt;br /&gt;
* A staff member is actively obstructing incident response.&lt;br /&gt;
* Continued access creates a serious network risk.&lt;br /&gt;
&lt;br /&gt;
Emergency suspension is a protective action.&lt;br /&gt;
&lt;br /&gt;
A later review should determine:&lt;br /&gt;
&lt;br /&gt;
* What happened.&lt;br /&gt;
* Whether misconduct occurred.&lt;br /&gt;
* Whether access can be restored.&lt;br /&gt;
* Whether credentials must be replaced.&lt;br /&gt;
* Whether further training is required.&lt;br /&gt;
* Whether permanent removal is appropriate.&lt;br /&gt;
&lt;br /&gt;
= 37. Staff Discipline Principles =&lt;br /&gt;
&lt;br /&gt;
Staff discipline should be:&lt;br /&gt;
&lt;br /&gt;
* Based on evidence.&lt;br /&gt;
* Proportionate.&lt;br /&gt;
* Documented.&lt;br /&gt;
* Free from retaliation.&lt;br /&gt;
* Reviewed by appropriate authority.&lt;br /&gt;
* Consistent with policy.&lt;br /&gt;
* Protective of confidentiality.&lt;br /&gt;
* Open to correction where facts change.&lt;br /&gt;
&lt;br /&gt;
Possible outcomes include:&lt;br /&gt;
&lt;br /&gt;
* Guidance.&lt;br /&gt;
* Formal warning.&lt;br /&gt;
* Additional training.&lt;br /&gt;
* Reduced permissions.&lt;br /&gt;
* Temporary suspension.&lt;br /&gt;
* Role reassignment.&lt;br /&gt;
* Removal from staff.&lt;br /&gt;
* Permanent access revocation.&lt;br /&gt;
&lt;br /&gt;
Serious intentional abuse may justify immediate removal.&lt;br /&gt;
&lt;br /&gt;
= 38. Ethical Decision Test =&lt;br /&gt;
&lt;br /&gt;
Before a sensitive staff action, ask:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Is this within my assigned role?&lt;br /&gt;
2. What legitimate network purpose does it serve?&lt;br /&gt;
3. Which policy authorizes it?&lt;br /&gt;
4. Is the evidence sufficient?&lt;br /&gt;
5. Am I personally involved?&lt;br /&gt;
6. Would I take the same action for a friend or stranger?&lt;br /&gt;
7. Is this the least severe effective response?&lt;br /&gt;
8. Am I accessing only the information I need?&lt;br /&gt;
9. Could I explain this decision in a formal review?&lt;br /&gt;
10. Have I documented it correctly?&lt;br /&gt;
11. Does another person need to approve it?&lt;br /&gt;
12. What harm could occur if I am wrong?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the action cannot withstand this review, pause and escalate.&lt;br /&gt;
&lt;br /&gt;
= 39. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Conflict of Interest ==&lt;br /&gt;
&lt;br /&gt;
The trainer presents a dispute involving the candidate’s friend.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the conflict.&lt;br /&gt;
* Protect against immediate harm.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Transfer the final decision.&lt;br /&gt;
* Record the reassignment.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Credential Exposure ==&lt;br /&gt;
&lt;br /&gt;
A simulated IRC operator credential is posted in a staff channel.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Treat it as compromised.&lt;br /&gt;
* Avoid repeating it.&lt;br /&gt;
* Notify authorized staff.&lt;br /&gt;
* Recommend rotation.&lt;br /&gt;
* Identify related systems requiring review.&lt;br /&gt;
* Complete a security report.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Social Engineering ==&lt;br /&gt;
&lt;br /&gt;
A person claiming to be senior management asks the trainee to send an API token privately.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Refuse to share the token.&lt;br /&gt;
* Verify the request through an official method.&lt;br /&gt;
* Preserve the request.&lt;br /&gt;
* Report the attempt.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Staff Complaint ==&lt;br /&gt;
&lt;br /&gt;
A user reports that an operator exposed their IP address after an argument.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Protect the report.&lt;br /&gt;
* Avoid sending it only to the accused operator.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Escalate to an independent reviewer.&lt;br /&gt;
* Prevent retaliation.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Project Boundary ==&lt;br /&gt;
&lt;br /&gt;
The trainer asks a DWIRC operator to use unrelated DWShells administrative access.&lt;br /&gt;
&lt;br /&gt;
The candidate must explain:&lt;br /&gt;
&lt;br /&gt;
* Which role is being requested.&lt;br /&gt;
* Why DWIRC authority is insufficient.&lt;br /&gt;
* Which approval and training are required.&lt;br /&gt;
* How to redirect the request.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Offboarding ==&lt;br /&gt;
&lt;br /&gt;
Prepare an access-removal checklist for a departing IRC operator who also had:&lt;br /&gt;
&lt;br /&gt;
* Services access.&lt;br /&gt;
* Policy-team access.&lt;br /&gt;
* Relay-team access.&lt;br /&gt;
* Bot credentials.&lt;br /&gt;
* Restricted documentation.&lt;br /&gt;
* Active incident assignments.&lt;br /&gt;
&lt;br /&gt;
= 40. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Friend Requests Ban Removal ==&lt;br /&gt;
&lt;br /&gt;
A close friend asks a staff member to remove their network ban privately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not remove the ban based on friendship. Disclose the conflict and direct the appeal to an independent authorized reviewer.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Unattended Operator Client ==&lt;br /&gt;
&lt;br /&gt;
An operator leaves an authenticated IRC client open on a shared computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Secure or disconnect the session, report the exposure, review actions and logs, rotate credentials if compromise is possible, and address the device-security failure.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Private Staff Log Shared Publicly ==&lt;br /&gt;
&lt;br /&gt;
A staff member posts a screenshot from a restricted channel to prove they were correct.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stop further disclosure, preserve the incident, assess the exposed information, notify management, and conduct an independent review.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Vulnerability Discovered ==&lt;br /&gt;
&lt;br /&gt;
A trainee discovers that an administrative page may allow unauthorized access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not explore unrelated data. Preserve minimal evidence, report privately to authorized technical staff, and avoid public disclosure before mitigation.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Gift for Approval ==&lt;br /&gt;
&lt;br /&gt;
A project owner offers free hosting if their advertising application is approved.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Decline the offer, preserve the communication, disclose the conflict, and transfer or escalate the application review.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Operator Hides Mistake ==&lt;br /&gt;
&lt;br /&gt;
An operator removes an action record after discovering that they banned the wrong host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Restore or preserve available evidence, correct the restriction, notify management, and investigate both the original mistake and the deliberate concealment.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: External Network Role ==&lt;br /&gt;
&lt;br /&gt;
A candidate is also an administrator on another IRC network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The role is not automatically disqualifying, but it should be disclosed. Confidential information, recruitment activity, and decision conflicts must be carefully separated.&lt;br /&gt;
&lt;br /&gt;
= 41. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# Why does staff authority exist?&lt;br /&gt;
# Name the ten core ethical principles in this module.&lt;br /&gt;
# What is least privilege?&lt;br /&gt;
# Why should access not accumulate indefinitely?&lt;br /&gt;
# Does DWIRC authority provide DWShells authority?&lt;br /&gt;
# What is a conflict of interest?&lt;br /&gt;
# How should a conflict be handled?&lt;br /&gt;
# What is favoritism?&lt;br /&gt;
# What is retaliation?&lt;br /&gt;
# Is criticism of staff automatically abuse?&lt;br /&gt;
# What does staff impartiality require?&lt;br /&gt;
# What types of information may be confidential?&lt;br /&gt;
# What is need-to-know access?&lt;br /&gt;
# Why must privileged credentials be unique?&lt;br /&gt;
# Where must credentials not be stored?&lt;br /&gt;
# Why is multi-factor authentication useful?&lt;br /&gt;
# What risks can IRC scripts create?&lt;br /&gt;
# Why should shared computers not be used for privileged sessions?&lt;br /&gt;
# What is social engineering?&lt;br /&gt;
# Name five warning signs of social engineering.&lt;br /&gt;
# How should an unexpected credential request be verified?&lt;br /&gt;
# What must be reported as a security incident?&lt;br /&gt;
# How should a vulnerability be handled?&lt;br /&gt;
# May staff-channel content be shared with friends?&lt;br /&gt;
# How should staff distinguish personal opinions from official statements?&lt;br /&gt;
# Why should relevant external network roles be disclosed?&lt;br /&gt;
# What should happen when someone offers a benefit for an approval?&lt;br /&gt;
# Why must automated bot results be verified?&lt;br /&gt;
# What does honesty require during an incident?&lt;br /&gt;
# What should staff do after making a mistake?&lt;br /&gt;
# Why is accountability important?&lt;br /&gt;
# How should a complaint against staff be reviewed?&lt;br /&gt;
# How should staff disagreements be handled?&lt;br /&gt;
# What should happen before a staff member takes extended leave?&lt;br /&gt;
# What are the principal onboarding requirements?&lt;br /&gt;
# What must happen during a role change?&lt;br /&gt;
# What access should be reviewed during offboarding?&lt;br /&gt;
# When may emergency access suspension be justified?&lt;br /&gt;
# Is suspension by itself proof of misconduct?&lt;br /&gt;
# What principles should govern staff discipline?&lt;br /&gt;
# What questions belong in the ethical decision test?&lt;br /&gt;
# Why do confidentiality obligations continue after staff service ends?&lt;br /&gt;
&lt;br /&gt;
= 42. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;900–1,200 words&#039;&#039;&#039; analyzing this case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A DWIRC operator is involved in a personal disagreement with a channel founder. The operator uses override access to enter the founder’s private channel, copies staff and user messages, and shares them with a friend who works on another IRC network. The friend then offers the operator free hosting. When a complaint is submitted, the operator removes part of the action log and globally bans the complainant for “staff harassment.”&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Every potential ethical and security violation.&lt;br /&gt;
* The conflict of interest.&lt;br /&gt;
* The misuse of override access.&lt;br /&gt;
* The confidentiality breach.&lt;br /&gt;
* The external-network disclosure.&lt;br /&gt;
* The offered personal benefit.&lt;br /&gt;
* The retaliation.&lt;br /&gt;
* The evidence-integrity problem.&lt;br /&gt;
* Immediate protective actions.&lt;br /&gt;
* Access that should be suspended or reviewed.&lt;br /&gt;
* How the complaint should be investigated.&lt;br /&gt;
* How affected users should be handled.&lt;br /&gt;
* Appropriate disciplinary considerations.&lt;br /&gt;
* Improvements needed to prevent recurrence.&lt;br /&gt;
&lt;br /&gt;
= 43. Candidate Security Declaration =&lt;br /&gt;
&lt;br /&gt;
Before completing this module, the candidate should affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that DarkWorld IRC staff access exists only for authorized&lt;br /&gt;
network responsibilities.&lt;br /&gt;
&lt;br /&gt;
I will not share passwords, tokens, private keys, operator credentials,&lt;br /&gt;
restricted logs, or confidential staff information.&lt;br /&gt;
&lt;br /&gt;
I will use secure and updated devices, verified TLS, unique credentials,&lt;br /&gt;
and additional authentication where available.&lt;br /&gt;
&lt;br /&gt;
I will disclose relevant conflicts of interest and will not use staff&lt;br /&gt;
authority for personal disputes, favoritism, retaliation, or personal benefit.&lt;br /&gt;
&lt;br /&gt;
I will report mistakes, compromised access, privacy incidents, and security&lt;br /&gt;
concerns honestly and promptly.&lt;br /&gt;
&lt;br /&gt;
I understand that my access may be limited, suspended, reviewed, or removed&lt;br /&gt;
when required to protect DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
I understand that confidentiality obligations continue after I leave the&lt;br /&gt;
staff team.&lt;br /&gt;
&lt;br /&gt;
Candidate account:&lt;br /&gt;
Candidate nickname:&lt;br /&gt;
Date:&lt;br /&gt;
Accepted through:&lt;br /&gt;
Trainer or reviewer:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 44. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;34 of the 42&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Achieve at least &#039;&#039;&#039;85%&#039;&#039;&#039; in the ethics and security assessment.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Accept the Candidate Security Declaration.&lt;br /&gt;
* Demonstrate safe credential handling.&lt;br /&gt;
* Demonstrate correct conflict-of-interest handling.&lt;br /&gt;
* Complete an offboarding checklist.&lt;br /&gt;
* Receive trainer and management approval.&lt;br /&gt;
&lt;br /&gt;
A candidate who fails the ethics and security assessment must not receive privileged access, even if their overall program score is above the normal passing requirement.&lt;br /&gt;
&lt;br /&gt;
= 45. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Ethical principles and judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Conflicts, neutrality, and retaliation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Confidentiality and privacy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Credential and device security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Social engineering and incident reporting&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Accountability and evidence integrity&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Access lifecycle and project boundaries&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Written declaration and professionalism&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Required passing score: &#039;&#039;&#039;85 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Automatic failure conditions may include:&lt;br /&gt;
&lt;br /&gt;
* Intentional credential sharing.&lt;br /&gt;
* Deliberate evidence falsification.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Unauthorized disclosure of private information.&lt;br /&gt;
* Use of access for personal benefit.&lt;br /&gt;
* Serious undisclosed conflict of interest.&lt;br /&gt;
* Unauthorized production-system testing.&lt;br /&gt;
* Refusal to report compromised access.&lt;br /&gt;
* Deliberate impersonation.&lt;br /&gt;
* Intentional abuse of elevated commands.&lt;br /&gt;
&lt;br /&gt;
= 46. Core Program Completion =&lt;br /&gt;
&lt;br /&gt;
After passing this module, the candidate has completed the ten educational modules of the DarkWorld IRC Staff Training Program.&lt;br /&gt;
&lt;br /&gt;
The candidate must still complete:&lt;br /&gt;
&lt;br /&gt;
# [[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&lt;br /&gt;
# [[DWIRC:Staff Training/Final Examination|Final Written Examination]]&lt;br /&gt;
# [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
# [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
# [[DWIRC:Staff Training/Probation|Probationary Staff Period]]&lt;br /&gt;
&lt;br /&gt;
Completion of the educational modules does not guarantee appointment.&lt;br /&gt;
&lt;br /&gt;
= 47. Next Step =&lt;br /&gt;
&lt;br /&gt;
Continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Ethics]]&lt;br /&gt;
[[Category:Staff Security]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Staff_Ethics&amp;diff=399</id>
		<title>DWIRC:Staff Training/Staff Ethics</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Staff_Ethics&amp;diff=399"/>
		<updated>2026-08-08T18:09:49Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 10 — Staff Ethics and Security}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 10: Staff Ethics and Security&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 10 of 10 |- ! Difficulty |...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 10 — Staff Ethics and Security}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 10: Staff Ethics and Security&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 10 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–6 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Ethics examination, security review, scenarios, and written declaration&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff may receive access to user information, restricted channels, moderation systems, IRC Services, network commands, documentation, and operational infrastructure.&lt;br /&gt;
&lt;br /&gt;
Technical ability alone is not sufficient for a staff position.&lt;br /&gt;
&lt;br /&gt;
A staff member must also demonstrate:&lt;br /&gt;
&lt;br /&gt;
* Honesty.&lt;br /&gt;
* Neutrality.&lt;br /&gt;
* Restraint.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Respect for privacy.&lt;br /&gt;
* Secure handling of access.&lt;br /&gt;
* Accountability.&lt;br /&gt;
* Willingness to accept review.&lt;br /&gt;
* Respect for project boundaries.&lt;br /&gt;
* Commitment to the community.&lt;br /&gt;
&lt;br /&gt;
This module defines the ethical and security standards expected from every DarkWorld IRC staff candidate.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mandatory requirement:&#039;&#039;&#039; Candidates must pass the ethics and security assessment separately. A high score in technical modules cannot compensate for unsafe, dishonest, retaliatory, or abusive conduct.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain why staff authority exists.&lt;br /&gt;
# Apply least-privilege principles.&lt;br /&gt;
# Protect credentials and restricted information.&lt;br /&gt;
# Recognize conflicts of interest.&lt;br /&gt;
# Avoid favoritism and retaliation.&lt;br /&gt;
# Handle staff disagreements professionally.&lt;br /&gt;
# Report mistakes and security incidents honestly.&lt;br /&gt;
# Respect project and role boundaries.&lt;br /&gt;
# Identify social-engineering attempts.&lt;br /&gt;
# Secure their IRC client and devices.&lt;br /&gt;
# Follow proper onboarding and offboarding procedures.&lt;br /&gt;
# Understand when access should be suspended or removed.&lt;br /&gt;
# Accept accountability and independent review.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of Staff Authority =&lt;br /&gt;
&lt;br /&gt;
Staff authority exists to:&lt;br /&gt;
&lt;br /&gt;
* Serve users.&lt;br /&gt;
* Protect the IRC network.&lt;br /&gt;
* Enforce policies fairly.&lt;br /&gt;
* Maintain technical stability.&lt;br /&gt;
* Resolve or escalate incidents.&lt;br /&gt;
* Support channels and communities.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Preserve trust in DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Staff authority does not exist to:&lt;br /&gt;
&lt;br /&gt;
* Give social status.&lt;br /&gt;
* Win arguments.&lt;br /&gt;
* Control personal conversations.&lt;br /&gt;
* Punish criticism.&lt;br /&gt;
* Benefit friends.&lt;br /&gt;
* Monitor users for entertainment.&lt;br /&gt;
* Gain access to other projects.&lt;br /&gt;
* Avoid normal rules.&lt;br /&gt;
* Conceal staff mistakes.&lt;br /&gt;
* Threaten users.&lt;br /&gt;
&lt;br /&gt;
A staff member’s conduct should increase confidence in the network.&lt;br /&gt;
&lt;br /&gt;
= 2. Core Ethical Principles =&lt;br /&gt;
&lt;br /&gt;
Every staff member should follow these principles:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Principle&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Service&lt;br /&gt;
| Use authority to help the network and its users&lt;br /&gt;
|-&lt;br /&gt;
| Legitimacy&lt;br /&gt;
| Act only for an authorized purpose&lt;br /&gt;
|-&lt;br /&gt;
| Least privilege&lt;br /&gt;
| Use only the access required for the role&lt;br /&gt;
|-&lt;br /&gt;
| Proportionality&lt;br /&gt;
| Use the least severe effective action&lt;br /&gt;
|-&lt;br /&gt;
| Neutrality&lt;br /&gt;
| Apply rules without favoritism or retaliation&lt;br /&gt;
|-&lt;br /&gt;
| Confidentiality&lt;br /&gt;
| Protect private and restricted information&lt;br /&gt;
|-&lt;br /&gt;
| Accountability&lt;br /&gt;
| Record actions and accept review&lt;br /&gt;
|-&lt;br /&gt;
| Integrity&lt;br /&gt;
| Tell the truth and preserve evidence accurately&lt;br /&gt;
|-&lt;br /&gt;
| Restraint&lt;br /&gt;
| Avoid unnecessary use of elevated powers&lt;br /&gt;
|-&lt;br /&gt;
| Respect&lt;br /&gt;
| Treat users and staff professionally&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 3. Least Privilege =&lt;br /&gt;
&lt;br /&gt;
Least privilege means that access should be:&lt;br /&gt;
&lt;br /&gt;
* Limited to assigned responsibilities.&lt;br /&gt;
* Granted only after approval.&lt;br /&gt;
* Reviewed periodically.&lt;br /&gt;
* Reduced when duties change.&lt;br /&gt;
* Suspended when security is uncertain.&lt;br /&gt;
* Removed when no longer required.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* A support trainee does not require IRC operator access.&lt;br /&gt;
* An IRC operator does not automatically require OperServ.&lt;br /&gt;
* Services staff do not automatically require server shell access.&lt;br /&gt;
* An IRCd administrator does not automatically require DWShells administration.&lt;br /&gt;
* Membership in a restricted channel does not grant authority to disclose its contents.&lt;br /&gt;
&lt;br /&gt;
Staff should not request additional access merely because it may be useful in the future.&lt;br /&gt;
&lt;br /&gt;
= 4. Separation of DarkWorld Projects =&lt;br /&gt;
&lt;br /&gt;
DarkWorld Network is the umbrella organization. DarkWorld IRC is one project under that umbrella.&lt;br /&gt;
&lt;br /&gt;
DWIRC staff authority does not automatically extend to:&lt;br /&gt;
&lt;br /&gt;
* DWShells.&lt;br /&gt;
* DWBouncers.&lt;br /&gt;
* DWGames.&lt;br /&gt;
* DWBots.&lt;br /&gt;
* DWVPN.&lt;br /&gt;
* Websites.&lt;br /&gt;
* Databases.&lt;br /&gt;
* Hosting systems.&lt;br /&gt;
* Other registered projects.&lt;br /&gt;
&lt;br /&gt;
A person may hold separate roles in multiple projects, but each role should have:&lt;br /&gt;
&lt;br /&gt;
* Separate approval.&lt;br /&gt;
* Defined responsibilities.&lt;br /&gt;
* Appropriate training.&lt;br /&gt;
* Role-specific access.&lt;br /&gt;
* Independent access review.&lt;br /&gt;
&lt;br /&gt;
Staff must state clearly which role they are acting under.&lt;br /&gt;
&lt;br /&gt;
= 5. Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
A conflict of interest exists when personal relationships, competing interests, or prior involvement may influence a staff decision.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Moderating a dispute involving a close friend.&lt;br /&gt;
* Investigating a personal rival.&lt;br /&gt;
* Reviewing your own contested action.&lt;br /&gt;
* Deciding a case involving a project you operate.&lt;br /&gt;
* Handling a complaint against a close team member.&lt;br /&gt;
* Reviewing an advertising request from a competing service.&lt;br /&gt;
* Receiving a personal benefit from an approval.&lt;br /&gt;
* Previously making public statements against one party.&lt;br /&gt;
&lt;br /&gt;
== Conflict Procedure ==&lt;br /&gt;
&lt;br /&gt;
When a meaningful conflict exists:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm if necessary.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Disclose the conflict internally.&lt;br /&gt;
# Avoid making the final decision.&lt;br /&gt;
# Transfer the case to a neutral authorized staff member.&lt;br /&gt;
# Do not influence the review improperly.&lt;br /&gt;
# Record the reassignment.&lt;br /&gt;
&lt;br /&gt;
Having a conflict does not automatically mean misconduct. Concealing it and continuing to control the decision may create misconduct.&lt;br /&gt;
&lt;br /&gt;
= 6. Favoritism =&lt;br /&gt;
&lt;br /&gt;
Favoritism includes:&lt;br /&gt;
&lt;br /&gt;
* Ignoring violations by friends.&lt;br /&gt;
* Giving access based on friendship.&lt;br /&gt;
* Accelerating applications for preferred users.&lt;br /&gt;
* Sharing restricted information with associates.&lt;br /&gt;
* Reversing another staff member’s action for a friend.&lt;br /&gt;
* Applying harsher treatment to disliked users.&lt;br /&gt;
* Protecting a staff member from legitimate review.&lt;br /&gt;
* Giving verified status without completing the required process.&lt;br /&gt;
&lt;br /&gt;
Decisions should be based on:&lt;br /&gt;
&lt;br /&gt;
* Current policy.&lt;br /&gt;
* Evidence.&lt;br /&gt;
* Role requirements.&lt;br /&gt;
* Network needs.&lt;br /&gt;
* Consistent procedures.&lt;br /&gt;
* Authorized approval.&lt;br /&gt;
&lt;br /&gt;
= 7. Retaliation =&lt;br /&gt;
&lt;br /&gt;
Retaliation means taking harmful action because someone:&lt;br /&gt;
&lt;br /&gt;
* Criticized staff.&lt;br /&gt;
* Submitted an appeal.&lt;br /&gt;
* Reported misconduct.&lt;br /&gt;
* Refused a personal request.&lt;br /&gt;
* Disagreed respectfully.&lt;br /&gt;
* Provided evidence in an investigation.&lt;br /&gt;
* Participated in an independent review.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Banning a complainant without a separate valid reason.&lt;br /&gt;
* Removing access because someone reported a staff member.&lt;br /&gt;
* Revealing private information about a critic.&lt;br /&gt;
* Encouraging others to harass an appellant.&lt;br /&gt;
* Delaying legitimate support as punishment.&lt;br /&gt;
&lt;br /&gt;
Retaliation is prohibited.&lt;br /&gt;
&lt;br /&gt;
= 8. Staff Impartiality =&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Focus on conduct rather than personality.&lt;br /&gt;
* Apply the same policy to friends and strangers.&lt;br /&gt;
* Separate personal opinions from official decisions.&lt;br /&gt;
* Avoid assumptions based on nationality, language, or community.&lt;br /&gt;
* Avoid prejudging an incident publicly.&lt;br /&gt;
* Seek independent review when personally involved.&lt;br /&gt;
* Correct inconsistent enforcement.&lt;br /&gt;
&lt;br /&gt;
Impartiality does not mean ignoring relevant history. It means using relevant history fairly and through authorized procedures.&lt;br /&gt;
&lt;br /&gt;
= 9. Confidential Information =&lt;br /&gt;
&lt;br /&gt;
Staff may encounter:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hidden host information.&lt;br /&gt;
* Email addresses.&lt;br /&gt;
* Account records.&lt;br /&gt;
* Services information.&lt;br /&gt;
* Private abuse reports.&lt;br /&gt;
* Channel access records.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Security vulnerabilities.&lt;br /&gt;
* Staff discussions.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Passwords.&lt;br /&gt;
* Configuration files.&lt;br /&gt;
* Incident evidence.&lt;br /&gt;
* Application records.&lt;br /&gt;
&lt;br /&gt;
Access to this information is based on operational need.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Share it with friends.&lt;br /&gt;
* Post it publicly.&lt;br /&gt;
* Use it for personal advantage.&lt;br /&gt;
* retain unnecessary copies.&lt;br /&gt;
* Move it to personal systems without authorization.&lt;br /&gt;
* Discuss it in unrelated project channels.&lt;br /&gt;
* Use it to threaten users.&lt;br /&gt;
* disclose it after leaving staff.&lt;br /&gt;
&lt;br /&gt;
Confidentiality obligations continue after resignation or removal.&lt;br /&gt;
&lt;br /&gt;
= 10. Need-to-Know Access =&lt;br /&gt;
&lt;br /&gt;
Being a staff member does not create a right to view every case.&lt;br /&gt;
&lt;br /&gt;
Access should depend on:&lt;br /&gt;
&lt;br /&gt;
* Assigned responsibility.&lt;br /&gt;
* Incident role.&lt;br /&gt;
* Required technical knowledge.&lt;br /&gt;
* Management authorization.&lt;br /&gt;
* Confidentiality classification.&lt;br /&gt;
* Whether the staff member has a conflict.&lt;br /&gt;
&lt;br /&gt;
Curiosity is not a valid operational reason.&lt;br /&gt;
&lt;br /&gt;
= 11. Password and Credential Security =&lt;br /&gt;
&lt;br /&gt;
Staff credentials may include:&lt;br /&gt;
&lt;br /&gt;
* NickServ password.&lt;br /&gt;
* IRC operator password.&lt;br /&gt;
* Services credentials.&lt;br /&gt;
* SSH keys.&lt;br /&gt;
* Website administrator passwords.&lt;br /&gt;
* Database credentials.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Bot tokens.&lt;br /&gt;
* Recovery codes.&lt;br /&gt;
* TLS client certificates.&lt;br /&gt;
&lt;br /&gt;
Every privileged credential should be:&lt;br /&gt;
&lt;br /&gt;
* Unique.&lt;br /&gt;
* Strong.&lt;br /&gt;
* Stored securely.&lt;br /&gt;
* Shared with no one.&lt;br /&gt;
* Rotated when exposed.&lt;br /&gt;
* Removed from retired devices.&lt;br /&gt;
* Limited to its intended system.&lt;br /&gt;
* Protected by additional authentication where supported.&lt;br /&gt;
&lt;br /&gt;
Do not reuse one password across NickServ, IRC operator, email, websites, shells, or other projects.&lt;br /&gt;
&lt;br /&gt;
= 12. Password Managers =&lt;br /&gt;
&lt;br /&gt;
An approved password manager can help staff:&lt;br /&gt;
&lt;br /&gt;
* Generate unique passwords.&lt;br /&gt;
* Avoid password reuse.&lt;br /&gt;
* Store credentials securely.&lt;br /&gt;
* identify weak or duplicated passwords.&lt;br /&gt;
* Update credentials after rotation.&lt;br /&gt;
&lt;br /&gt;
Staff should protect the password manager with:&lt;br /&gt;
&lt;br /&gt;
* A strong master password.&lt;br /&gt;
* Multi-factor authentication where available.&lt;br /&gt;
* Secure recovery methods.&lt;br /&gt;
* Device encryption.&lt;br /&gt;
* Updated software.&lt;br /&gt;
&lt;br /&gt;
Credentials must not be stored in:&lt;br /&gt;
&lt;br /&gt;
* Public paste services.&lt;br /&gt;
* IRC channels.&lt;br /&gt;
* Plaintext notes.&lt;br /&gt;
* Unprotected scripts.&lt;br /&gt;
* Screenshots.&lt;br /&gt;
* Shared documents.&lt;br /&gt;
* Public source repositories.&lt;br /&gt;
&lt;br /&gt;
= 13. Multi-Factor Authentication =&lt;br /&gt;
&lt;br /&gt;
Where supported, privileged accounts should use multi-factor authentication.&lt;br /&gt;
&lt;br /&gt;
Possible methods include:&lt;br /&gt;
&lt;br /&gt;
* Authenticator applications.&lt;br /&gt;
* Hardware security keys.&lt;br /&gt;
* Device-bound credentials.&lt;br /&gt;
* Secure recovery codes.&lt;br /&gt;
&lt;br /&gt;
Recovery codes should be stored securely and separately from the primary device.&lt;br /&gt;
&lt;br /&gt;
SMS-based authentication may be better than no additional protection but can carry account-recovery and SIM-related risks.&lt;br /&gt;
&lt;br /&gt;
= 14. IRC Client Security =&lt;br /&gt;
&lt;br /&gt;
A privileged IRC client should:&lt;br /&gt;
&lt;br /&gt;
* Be obtained from a trusted source.&lt;br /&gt;
* Receive security updates.&lt;br /&gt;
* Use verified TLS.&lt;br /&gt;
* Use SASL securely.&lt;br /&gt;
* Avoid unknown scripts and plugins.&lt;br /&gt;
* Protect stored passwords.&lt;br /&gt;
* Protect log files.&lt;br /&gt;
* Lock the device when unattended.&lt;br /&gt;
* Disable unnecessary automatic commands.&lt;br /&gt;
* Use separate profiles where appropriate.&lt;br /&gt;
&lt;br /&gt;
IRC scripts may:&lt;br /&gt;
&lt;br /&gt;
* Read messages.&lt;br /&gt;
* Send commands.&lt;br /&gt;
* Access stored data.&lt;br /&gt;
* Automatically respond to events.&lt;br /&gt;
* Execute external commands.&lt;br /&gt;
* Leak credentials.&lt;br /&gt;
&lt;br /&gt;
Staff must not install unreviewed scripts into a privileged client.&lt;br /&gt;
&lt;br /&gt;
= 15. Device Security =&lt;br /&gt;
&lt;br /&gt;
Devices used for staff duties should have:&lt;br /&gt;
&lt;br /&gt;
* Current security updates.&lt;br /&gt;
* Screen locking.&lt;br /&gt;
* Disk encryption where practical.&lt;br /&gt;
* Malware protection appropriate to the platform.&lt;br /&gt;
* Secure user accounts.&lt;br /&gt;
* Limited administrative access.&lt;br /&gt;
* Protected backups.&lt;br /&gt;
* Trusted network connections.&lt;br /&gt;
* Remote-access controls.&lt;br /&gt;
* A procedure for lost or stolen devices.&lt;br /&gt;
&lt;br /&gt;
Public or shared computers should not be used for privileged staff sessions.&lt;br /&gt;
&lt;br /&gt;
= 16. Secure Connections =&lt;br /&gt;
&lt;br /&gt;
Staff should use:&lt;br /&gt;
&lt;br /&gt;
* Verified TLS for IRC.&lt;br /&gt;
* Secure authentication.&lt;br /&gt;
* Approved VPN or management paths where required.&lt;br /&gt;
* SSH keys instead of passwords where appropriate.&lt;br /&gt;
* Host-key verification.&lt;br /&gt;
* Trusted DNS and network configuration.&lt;br /&gt;
* Authorized administrative interfaces.&lt;br /&gt;
&lt;br /&gt;
Staff must not disable security checks merely to make a connection work.&lt;br /&gt;
&lt;br /&gt;
Certificate or host-key warnings should be investigated.&lt;br /&gt;
&lt;br /&gt;
= 17. Social Engineering =&lt;br /&gt;
&lt;br /&gt;
Social engineering attempts manipulate people into revealing information or taking unsafe action.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* “The founder asked me to get the password.”&lt;br /&gt;
* “This is urgent; skip verification.”&lt;br /&gt;
* “Send me the operator configuration so I can fix it.”&lt;br /&gt;
* “I lost my account, but everyone knows me.”&lt;br /&gt;
* “Give my friend temporary access.”&lt;br /&gt;
* “Run this script to check your IRC client.”&lt;br /&gt;
* “Paste the token so I can test the bot.”&lt;br /&gt;
* “Do not tell the other staff.”&lt;br /&gt;
&lt;br /&gt;
Warning signs include:&lt;br /&gt;
&lt;br /&gt;
* Artificial urgency.&lt;br /&gt;
* Requests to bypass normal procedures.&lt;br /&gt;
* Secrecy.&lt;br /&gt;
* Pressure based on authority or friendship.&lt;br /&gt;
* Requests for credentials.&lt;br /&gt;
* Unexpected files or links.&lt;br /&gt;
* Refusal to use official processes.&lt;br /&gt;
* Inconsistent identity information.&lt;br /&gt;
&lt;br /&gt;
== Response ==&lt;br /&gt;
&lt;br /&gt;
# Stop and verify independently.&lt;br /&gt;
# Use an official communication channel.&lt;br /&gt;
# Contact the claimed authority directly.&lt;br /&gt;
# Do not open unknown files.&lt;br /&gt;
# Do not reveal credentials.&lt;br /&gt;
# Preserve suspicious messages.&lt;br /&gt;
# Report the attempt.&lt;br /&gt;
&lt;br /&gt;
= 18. Phishing and Impersonation =&lt;br /&gt;
&lt;br /&gt;
Staff may be targeted by:&lt;br /&gt;
&lt;br /&gt;
* Fake NickServ messages.&lt;br /&gt;
* Fake staff accounts.&lt;br /&gt;
* Imitation login pages.&lt;br /&gt;
* Malicious email.&lt;br /&gt;
* Compromised project accounts.&lt;br /&gt;
* Lookalike domains.&lt;br /&gt;
* Fake support requests.&lt;br /&gt;
* QR codes leading to credential pages.&lt;br /&gt;
&lt;br /&gt;
Before entering credentials:&lt;br /&gt;
&lt;br /&gt;
* Check the service name.&lt;br /&gt;
* Check the domain.&lt;br /&gt;
* Check TLS validation.&lt;br /&gt;
* Confirm why authentication is required.&lt;br /&gt;
* Avoid following unexpected links.&lt;br /&gt;
* Use a known bookmark or official address.&lt;br /&gt;
* Contact authorized administration if uncertain.&lt;br /&gt;
&lt;br /&gt;
= 19. Security Incident Reporting =&lt;br /&gt;
&lt;br /&gt;
Staff must promptly report:&lt;br /&gt;
&lt;br /&gt;
* Credential exposure.&lt;br /&gt;
* Lost or stolen devices.&lt;br /&gt;
* Suspicious logins.&lt;br /&gt;
* Unexpected operator actions.&lt;br /&gt;
* Unauthorized access.&lt;br /&gt;
* Malware on a staff device.&lt;br /&gt;
* Leaked API tokens.&lt;br /&gt;
* Compromised email.&lt;br /&gt;
* Unapproved configuration changes.&lt;br /&gt;
* Exposure of private user information.&lt;br /&gt;
* Vulnerabilities affecting DarkWorld.&lt;br /&gt;
&lt;br /&gt;
A report should include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Affected account or system:&lt;br /&gt;
How the issue was discovered:&lt;br /&gt;
Possible exposure:&lt;br /&gt;
Actions already taken:&lt;br /&gt;
Last known legitimate access:&lt;br /&gt;
Suspicious activity:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Immediate assistance required:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include active passwords or private keys.&lt;br /&gt;
&lt;br /&gt;
= 20. Responsible Vulnerability Handling =&lt;br /&gt;
&lt;br /&gt;
If staff discover a vulnerability:&lt;br /&gt;
&lt;br /&gt;
# Do not exploit it beyond what is necessary to confirm safely.&lt;br /&gt;
# Do not access unrelated user data.&lt;br /&gt;
# Preserve minimal evidence.&lt;br /&gt;
# Report it privately to authorized technical staff.&lt;br /&gt;
# Avoid public disclosure before mitigation.&lt;br /&gt;
# Follow management instructions.&lt;br /&gt;
# Assist with verification only when authorized.&lt;br /&gt;
# Document the resolution.&lt;br /&gt;
&lt;br /&gt;
A trainee must not perform penetration testing against production systems without explicit authorization.&lt;br /&gt;
&lt;br /&gt;
= 21. Staff Channels and Internal Discussions =&lt;br /&gt;
&lt;br /&gt;
Restricted staff channels may contain:&lt;br /&gt;
&lt;br /&gt;
* Incident coordination.&lt;br /&gt;
* User reports.&lt;br /&gt;
* Policy discussions.&lt;br /&gt;
* Server information.&lt;br /&gt;
* Staff evaluations.&lt;br /&gt;
* Application details.&lt;br /&gt;
* Security concerns.&lt;br /&gt;
&lt;br /&gt;
Staff-channel content must not be:&lt;br /&gt;
&lt;br /&gt;
* Copied to public channels.&lt;br /&gt;
* Shared with friends.&lt;br /&gt;
* Used as gossip.&lt;br /&gt;
* Posted on social media.&lt;br /&gt;
* Relayed to external networks.&lt;br /&gt;
* Used for personal retaliation.&lt;br /&gt;
* Disclosed after resignation.&lt;br /&gt;
&lt;br /&gt;
Staff should still communicate professionally in restricted channels. Confidentiality does not make abusive conduct acceptable.&lt;br /&gt;
&lt;br /&gt;
= 22. Public Staff Conduct =&lt;br /&gt;
&lt;br /&gt;
When acting publicly, staff should:&lt;br /&gt;
&lt;br /&gt;
* Be calm and professional.&lt;br /&gt;
* Avoid public arguments with other staff.&lt;br /&gt;
* Avoid insulting users.&lt;br /&gt;
* Avoid unsupported technical claims.&lt;br /&gt;
* State when information is not yet confirmed.&lt;br /&gt;
* Use official policy links.&lt;br /&gt;
* Avoid discussing confidential cases.&lt;br /&gt;
* Distinguish personal opinion from official decisions.&lt;br /&gt;
* Correct inaccurate statements.&lt;br /&gt;
&lt;br /&gt;
Staff should not claim to speak for all DarkWorld projects unless authorized.&lt;br /&gt;
&lt;br /&gt;
= 23. Personal Accounts and Social Media =&lt;br /&gt;
&lt;br /&gt;
Staff members may have personal accounts and opinions.&lt;br /&gt;
&lt;br /&gt;
However, they should not:&lt;br /&gt;
&lt;br /&gt;
* Publish confidential DarkWorld information.&lt;br /&gt;
* Threaten users off-network.&lt;br /&gt;
* Coordinate harassment.&lt;br /&gt;
* Impersonate official DarkWorld accounts.&lt;br /&gt;
* Misrepresent personal statements as official announcements.&lt;br /&gt;
* Use private user data on external platforms.&lt;br /&gt;
* Damage an active investigation.&lt;br /&gt;
* Reveal security controls.&lt;br /&gt;
&lt;br /&gt;
Where practical, official announcements should use official channels and identities.&lt;br /&gt;
&lt;br /&gt;
= 24. External IRC Networks and Projects =&lt;br /&gt;
&lt;br /&gt;
A candidate should disclose relevant positions on other IRC networks or competing services when they may create:&lt;br /&gt;
&lt;br /&gt;
* A conflict of interest.&lt;br /&gt;
* An advertising concern.&lt;br /&gt;
* Access to confidential information on both sides.&lt;br /&gt;
* Divided incident responsibilities.&lt;br /&gt;
* Recruitment concerns.&lt;br /&gt;
* A risk of sharing operational data.&lt;br /&gt;
&lt;br /&gt;
Holding another role is not automatically prohibited. Transparency and proper separation are required.&lt;br /&gt;
&lt;br /&gt;
DarkWorld information must not be transferred to another network without authorization.&lt;br /&gt;
&lt;br /&gt;
= 25. Gifts, Payments, and Personal Benefits =&lt;br /&gt;
&lt;br /&gt;
Staff must not accept benefits in exchange for:&lt;br /&gt;
&lt;br /&gt;
* Approving an application.&lt;br /&gt;
* Removing a restriction.&lt;br /&gt;
* Changing channel ownership.&lt;br /&gt;
* Granting verified presence.&lt;br /&gt;
* Sharing private information.&lt;br /&gt;
* Ignoring violations.&lt;br /&gt;
* Providing unauthorized access.&lt;br /&gt;
* Favoring a project.&lt;br /&gt;
&lt;br /&gt;
Possible benefits include:&lt;br /&gt;
&lt;br /&gt;
* Money.&lt;br /&gt;
* Services.&lt;br /&gt;
* Free accounts.&lt;br /&gt;
* Hosting.&lt;br /&gt;
* Game items.&lt;br /&gt;
* Subscriptions.&lt;br /&gt;
* Personal favors.&lt;br /&gt;
* Staff positions elsewhere.&lt;br /&gt;
&lt;br /&gt;
Any offer intended to influence a decision should be reported.&lt;br /&gt;
&lt;br /&gt;
= 26. Use of Bots and Automation =&lt;br /&gt;
&lt;br /&gt;
Staff may use authorized systems such as:&lt;br /&gt;
&lt;br /&gt;
* PolicyServ.&lt;br /&gt;
* RelayServ.&lt;br /&gt;
* Services.&lt;br /&gt;
* Monitoring bots.&lt;br /&gt;
* Support tools.&lt;br /&gt;
* Logging systems.&lt;br /&gt;
&lt;br /&gt;
Automation may assist with:&lt;br /&gt;
&lt;br /&gt;
* Retrieving policy links.&lt;br /&gt;
* Listing applications.&lt;br /&gt;
* Reporting statistics.&lt;br /&gt;
* Recording actions.&lt;br /&gt;
* Detecting possible violations.&lt;br /&gt;
&lt;br /&gt;
Automation must not replace human judgment where a decision affects users.&lt;br /&gt;
&lt;br /&gt;
Staff must:&lt;br /&gt;
&lt;br /&gt;
* Verify high-impact bot results.&lt;br /&gt;
* Protect bot credentials.&lt;br /&gt;
* Restrict administrative commands.&lt;br /&gt;
* Review failed or unexpected actions.&lt;br /&gt;
* Avoid treating every alert as confirmed abuse.&lt;br /&gt;
* Log administrative bot operations.&lt;br /&gt;
&lt;br /&gt;
= 27. Accuracy and Honesty =&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Fabricate evidence.&lt;br /&gt;
* Alter logs dishonestly.&lt;br /&gt;
* Claim an action was authorized when it was not.&lt;br /&gt;
* Invent a policy.&lt;br /&gt;
* Misrepresent an incident.&lt;br /&gt;
* Hide a mistake.&lt;br /&gt;
* Blame another staff member falsely.&lt;br /&gt;
* Claim technical certainty without evidence.&lt;br /&gt;
* Record a warning that was never delivered.&lt;br /&gt;
&lt;br /&gt;
When uncertain, say:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
This has not yet been confirmed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I do not have enough information to make that decision. I will escalate it.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 28. Reporting Staff Mistakes =&lt;br /&gt;
&lt;br /&gt;
If a staff member makes an error:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct the error where authorized.&lt;br /&gt;
# Report it honestly.&lt;br /&gt;
# Preserve the original record.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Participate in review.&lt;br /&gt;
# Follow any additional training requirement.&lt;br /&gt;
# Improve the relevant procedure or documentation.&lt;br /&gt;
&lt;br /&gt;
Honest mistakes can often be corrected. Concealment, falsification, or retaliation creates a separate and more serious issue.&lt;br /&gt;
&lt;br /&gt;
= 29. Staff Accountability =&lt;br /&gt;
&lt;br /&gt;
Staff members may be required to explain:&lt;br /&gt;
&lt;br /&gt;
* What action they took.&lt;br /&gt;
* Why they took it.&lt;br /&gt;
* What evidence they used.&lt;br /&gt;
* Which policy applied.&lt;br /&gt;
* Who authorized it.&lt;br /&gt;
* Who was affected.&lt;br /&gt;
* How it was reviewed.&lt;br /&gt;
* Whether it was corrected.&lt;br /&gt;
&lt;br /&gt;
Accountability protects:&lt;br /&gt;
&lt;br /&gt;
* Users.&lt;br /&gt;
* The IRC network.&lt;br /&gt;
* Other staff.&lt;br /&gt;
* The staff member who acted properly.&lt;br /&gt;
* The integrity of investigations.&lt;br /&gt;
&lt;br /&gt;
= 30. Staff Complaints =&lt;br /&gt;
&lt;br /&gt;
Complaints against staff should receive:&lt;br /&gt;
&lt;br /&gt;
* Acknowledgement.&lt;br /&gt;
* Confidential handling.&lt;br /&gt;
* Evidence preservation.&lt;br /&gt;
* Independent review where necessary.&lt;br /&gt;
* Protection from retaliation.&lt;br /&gt;
* A recorded outcome.&lt;br /&gt;
* Corrective action where justified.&lt;br /&gt;
&lt;br /&gt;
A complaint is not proof of misconduct, but it must not be dismissed merely because the subject is a staff member.&lt;br /&gt;
&lt;br /&gt;
= 31. Staff Disagreements =&lt;br /&gt;
&lt;br /&gt;
Staff may disagree about:&lt;br /&gt;
&lt;br /&gt;
* Policy interpretation.&lt;br /&gt;
* Incident severity.&lt;br /&gt;
* Appropriate sanctions.&lt;br /&gt;
* Technical causes.&lt;br /&gt;
* Access decisions.&lt;br /&gt;
* Project responsibilities.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
# Avoid arguing publicly.&lt;br /&gt;
# Protect users from immediate harm.&lt;br /&gt;
# State verified facts.&lt;br /&gt;
# Use internal escalation.&lt;br /&gt;
# Follow the incident lead during emergencies.&lt;br /&gt;
# Request policy or management review.&lt;br /&gt;
# Accept the final authorized decision.&lt;br /&gt;
# Record unresolved procedural concerns.&lt;br /&gt;
&lt;br /&gt;
Repeatedly reversing another staff member’s actions without coordination may endanger the network.&lt;br /&gt;
&lt;br /&gt;
= 32. Inactivity and Availability =&lt;br /&gt;
&lt;br /&gt;
Staff roles should have reasonable activity expectations.&lt;br /&gt;
&lt;br /&gt;
When a staff member will be unavailable, they should:&lt;br /&gt;
&lt;br /&gt;
* Inform the appropriate team.&lt;br /&gt;
* Hand over active cases.&lt;br /&gt;
* Avoid leaving temporary restrictions without review.&lt;br /&gt;
* Secure or disconnect privileged sessions.&lt;br /&gt;
* Identify pending tasks.&lt;br /&gt;
* Follow leave or inactivity procedures.&lt;br /&gt;
&lt;br /&gt;
Extended inactivity may result in temporary access reduction or removal.&lt;br /&gt;
&lt;br /&gt;
This protects the network and does not necessarily represent disciplinary action.&lt;br /&gt;
&lt;br /&gt;
= 33. Onboarding =&lt;br /&gt;
&lt;br /&gt;
Before receiving access, a staff member should:&lt;br /&gt;
&lt;br /&gt;
* Complete required training.&lt;br /&gt;
* Accept the Staff Code of Conduct.&lt;br /&gt;
* Receive a defined role.&lt;br /&gt;
* Receive an assigned mentor.&lt;br /&gt;
* Complete account-security checks.&lt;br /&gt;
* Use verified TLS and SASL.&lt;br /&gt;
* Receive only necessary permissions.&lt;br /&gt;
* Learn reporting and escalation channels.&lt;br /&gt;
* Understand logging requirements.&lt;br /&gt;
* Confirm emergency contacts.&lt;br /&gt;
* Complete a recorded access approval.&lt;br /&gt;
&lt;br /&gt;
Access should not be granted informally in a public channel.&lt;br /&gt;
&lt;br /&gt;
= 34. Role Changes =&lt;br /&gt;
&lt;br /&gt;
When a staff member changes roles:&lt;br /&gt;
&lt;br /&gt;
* Review existing access.&lt;br /&gt;
* Remove permissions no longer required.&lt;br /&gt;
* Add only approved new permissions.&lt;br /&gt;
* Update documentation.&lt;br /&gt;
* Update team-channel access.&lt;br /&gt;
* Reassign active cases.&lt;br /&gt;
* Review conflicts of interest.&lt;br /&gt;
* Confirm any new training requirements.&lt;br /&gt;
&lt;br /&gt;
Access should not accumulate indefinitely.&lt;br /&gt;
&lt;br /&gt;
= 35. Resignation and Offboarding =&lt;br /&gt;
&lt;br /&gt;
When a staff member resigns or is removed:&lt;br /&gt;
&lt;br /&gt;
* IRC operator access should be removed.&lt;br /&gt;
* Services permissions should be reviewed.&lt;br /&gt;
* Restricted channel access should be removed.&lt;br /&gt;
* Shared credentials should be rotated where applicable.&lt;br /&gt;
* API or bot tokens should be revoked.&lt;br /&gt;
* Server and website access should be reviewed.&lt;br /&gt;
* Active cases should be transferred.&lt;br /&gt;
* Project roles should be handled separately.&lt;br /&gt;
* Devices or files containing restricted information should be addressed.&lt;br /&gt;
* The access-removal process should be recorded.&lt;br /&gt;
&lt;br /&gt;
The former staff member remains responsible for protecting information learned during service.&lt;br /&gt;
&lt;br /&gt;
= 36. Emergency Access Removal =&lt;br /&gt;
&lt;br /&gt;
Immediate access suspension may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* Credentials are exposed.&lt;br /&gt;
* A staff account is compromised.&lt;br /&gt;
* A device is stolen.&lt;br /&gt;
* Serious access abuse is occurring.&lt;br /&gt;
* Private information is being exposed.&lt;br /&gt;
* A staff member is actively obstructing incident response.&lt;br /&gt;
* Continued access creates a serious network risk.&lt;br /&gt;
&lt;br /&gt;
Emergency suspension is a protective action.&lt;br /&gt;
&lt;br /&gt;
A later review should determine:&lt;br /&gt;
&lt;br /&gt;
* What happened.&lt;br /&gt;
* Whether misconduct occurred.&lt;br /&gt;
* Whether access can be restored.&lt;br /&gt;
* Whether credentials must be replaced.&lt;br /&gt;
* Whether further training is required.&lt;br /&gt;
* Whether permanent removal is appropriate.&lt;br /&gt;
&lt;br /&gt;
= 37. Staff Discipline Principles =&lt;br /&gt;
&lt;br /&gt;
Staff discipline should be:&lt;br /&gt;
&lt;br /&gt;
* Based on evidence.&lt;br /&gt;
* Proportionate.&lt;br /&gt;
* Documented.&lt;br /&gt;
* Free from retaliation.&lt;br /&gt;
* Reviewed by appropriate authority.&lt;br /&gt;
* Consistent with policy.&lt;br /&gt;
* Protective of confidentiality.&lt;br /&gt;
* Open to correction where facts change.&lt;br /&gt;
&lt;br /&gt;
Possible outcomes include:&lt;br /&gt;
&lt;br /&gt;
* Guidance.&lt;br /&gt;
* Formal warning.&lt;br /&gt;
* Additional training.&lt;br /&gt;
* Reduced permissions.&lt;br /&gt;
* Temporary suspension.&lt;br /&gt;
* Role reassignment.&lt;br /&gt;
* Removal from staff.&lt;br /&gt;
* Permanent access revocation.&lt;br /&gt;
&lt;br /&gt;
Serious intentional abuse may justify immediate removal.&lt;br /&gt;
&lt;br /&gt;
= 38. Ethical Decision Test =&lt;br /&gt;
&lt;br /&gt;
Before a sensitive staff action, ask:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Is this within my assigned role?&lt;br /&gt;
2. What legitimate network purpose does it serve?&lt;br /&gt;
3. Which policy authorizes it?&lt;br /&gt;
4. Is the evidence sufficient?&lt;br /&gt;
5. Am I personally involved?&lt;br /&gt;
6. Would I take the same action for a friend or stranger?&lt;br /&gt;
7. Is this the least severe effective response?&lt;br /&gt;
8. Am I accessing only the information I need?&lt;br /&gt;
9. Could I explain this decision in a formal review?&lt;br /&gt;
10. Have I documented it correctly?&lt;br /&gt;
11. Does another person need to approve it?&lt;br /&gt;
12. What harm could occur if I am wrong?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the action cannot withstand this review, pause and escalate.&lt;br /&gt;
&lt;br /&gt;
= 39. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Conflict of Interest ==&lt;br /&gt;
&lt;br /&gt;
The trainer presents a dispute involving the candidate’s friend.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the conflict.&lt;br /&gt;
* Protect against immediate harm.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Transfer the final decision.&lt;br /&gt;
* Record the reassignment.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Credential Exposure ==&lt;br /&gt;
&lt;br /&gt;
A simulated IRC operator credential is posted in a staff channel.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Treat it as compromised.&lt;br /&gt;
* Avoid repeating it.&lt;br /&gt;
* Notify authorized staff.&lt;br /&gt;
* Recommend rotation.&lt;br /&gt;
* Identify related systems requiring review.&lt;br /&gt;
* Complete a security report.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Social Engineering ==&lt;br /&gt;
&lt;br /&gt;
A person claiming to be senior management asks the trainee to send an API token privately.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Refuse to share the token.&lt;br /&gt;
* Verify the request through an official method.&lt;br /&gt;
* Preserve the request.&lt;br /&gt;
* Report the attempt.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Staff Complaint ==&lt;br /&gt;
&lt;br /&gt;
A user reports that an operator exposed their IP address after an argument.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Protect the report.&lt;br /&gt;
* Avoid sending it only to the accused operator.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Escalate to an independent reviewer.&lt;br /&gt;
* Prevent retaliation.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Project Boundary ==&lt;br /&gt;
&lt;br /&gt;
The trainer asks a DWIRC operator to use unrelated DWShells administrative access.&lt;br /&gt;
&lt;br /&gt;
The candidate must explain:&lt;br /&gt;
&lt;br /&gt;
* Which role is being requested.&lt;br /&gt;
* Why DWIRC authority is insufficient.&lt;br /&gt;
* Which approval and training are required.&lt;br /&gt;
* How to redirect the request.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Offboarding ==&lt;br /&gt;
&lt;br /&gt;
Prepare an access-removal checklist for a departing IRC operator who also had:&lt;br /&gt;
&lt;br /&gt;
* Services access.&lt;br /&gt;
* Policy-team access.&lt;br /&gt;
* Relay-team access.&lt;br /&gt;
* Bot credentials.&lt;br /&gt;
* Restricted documentation.&lt;br /&gt;
* Active incident assignments.&lt;br /&gt;
&lt;br /&gt;
= 40. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Friend Requests Ban Removal ==&lt;br /&gt;
&lt;br /&gt;
A close friend asks a staff member to remove their network ban privately.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not remove the ban based on friendship. Disclose the conflict and direct the appeal to an independent authorized reviewer.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Unattended Operator Client ==&lt;br /&gt;
&lt;br /&gt;
An operator leaves an authenticated IRC client open on a shared computer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Secure or disconnect the session, report the exposure, review actions and logs, rotate credentials if compromise is possible, and address the device-security failure.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Private Staff Log Shared Publicly ==&lt;br /&gt;
&lt;br /&gt;
A staff member posts a screenshot from a restricted channel to prove they were correct.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stop further disclosure, preserve the incident, assess the exposed information, notify management, and conduct an independent review.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Vulnerability Discovered ==&lt;br /&gt;
&lt;br /&gt;
A trainee discovers that an administrative page may allow unauthorized access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not explore unrelated data. Preserve minimal evidence, report privately to authorized technical staff, and avoid public disclosure before mitigation.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Gift for Approval ==&lt;br /&gt;
&lt;br /&gt;
A project owner offers free hosting if their advertising application is approved.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Decline the offer, preserve the communication, disclose the conflict, and transfer or escalate the application review.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Operator Hides Mistake ==&lt;br /&gt;
&lt;br /&gt;
An operator removes an action record after discovering that they banned the wrong host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Restore or preserve available evidence, correct the restriction, notify management, and investigate both the original mistake and the deliberate concealment.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: External Network Role ==&lt;br /&gt;
&lt;br /&gt;
A candidate is also an administrator on another IRC network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The role is not automatically disqualifying, but it should be disclosed. Confidential information, recruitment activity, and decision conflicts must be carefully separated.&lt;br /&gt;
&lt;br /&gt;
= 41. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# Why does staff authority exist?&lt;br /&gt;
# Name the ten core ethical principles in this module.&lt;br /&gt;
# What is least privilege?&lt;br /&gt;
# Why should access not accumulate indefinitely?&lt;br /&gt;
# Does DWIRC authority provide DWShells authority?&lt;br /&gt;
# What is a conflict of interest?&lt;br /&gt;
# How should a conflict be handled?&lt;br /&gt;
# What is favoritism?&lt;br /&gt;
# What is retaliation?&lt;br /&gt;
# Is criticism of staff automatically abuse?&lt;br /&gt;
# What does staff impartiality require?&lt;br /&gt;
# What types of information may be confidential?&lt;br /&gt;
# What is need-to-know access?&lt;br /&gt;
# Why must privileged credentials be unique?&lt;br /&gt;
# Where must credentials not be stored?&lt;br /&gt;
# Why is multi-factor authentication useful?&lt;br /&gt;
# What risks can IRC scripts create?&lt;br /&gt;
# Why should shared computers not be used for privileged sessions?&lt;br /&gt;
# What is social engineering?&lt;br /&gt;
# Name five warning signs of social engineering.&lt;br /&gt;
# How should an unexpected credential request be verified?&lt;br /&gt;
# What must be reported as a security incident?&lt;br /&gt;
# How should a vulnerability be handled?&lt;br /&gt;
# May staff-channel content be shared with friends?&lt;br /&gt;
# How should staff distinguish personal opinions from official statements?&lt;br /&gt;
# Why should relevant external network roles be disclosed?&lt;br /&gt;
# What should happen when someone offers a benefit for an approval?&lt;br /&gt;
# Why must automated bot results be verified?&lt;br /&gt;
# What does honesty require during an incident?&lt;br /&gt;
# What should staff do after making a mistake?&lt;br /&gt;
# Why is accountability important?&lt;br /&gt;
# How should a complaint against staff be reviewed?&lt;br /&gt;
# How should staff disagreements be handled?&lt;br /&gt;
# What should happen before a staff member takes extended leave?&lt;br /&gt;
# What are the principal onboarding requirements?&lt;br /&gt;
# What must happen during a role change?&lt;br /&gt;
# What access should be reviewed during offboarding?&lt;br /&gt;
# When may emergency access suspension be justified?&lt;br /&gt;
# Is suspension by itself proof of misconduct?&lt;br /&gt;
# What principles should govern staff discipline?&lt;br /&gt;
# What questions belong in the ethical decision test?&lt;br /&gt;
# Why do confidentiality obligations continue after staff service ends?&lt;br /&gt;
&lt;br /&gt;
= 42. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;900–1,200 words&#039;&#039;&#039; analyzing this case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A DWIRC operator is involved in a personal disagreement with a channel founder. The operator uses override access to enter the founder’s private channel, copies staff and user messages, and shares them with a friend who works on another IRC network. The friend then offers the operator free hosting. When a complaint is submitted, the operator removes part of the action log and globally bans the complainant for “staff harassment.”&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Every potential ethical and security violation.&lt;br /&gt;
* The conflict of interest.&lt;br /&gt;
* The misuse of override access.&lt;br /&gt;
* The confidentiality breach.&lt;br /&gt;
* The external-network disclosure.&lt;br /&gt;
* The offered personal benefit.&lt;br /&gt;
* The retaliation.&lt;br /&gt;
* The evidence-integrity problem.&lt;br /&gt;
* Immediate protective actions.&lt;br /&gt;
* Access that should be suspended or reviewed.&lt;br /&gt;
* How the complaint should be investigated.&lt;br /&gt;
* How affected users should be handled.&lt;br /&gt;
* Appropriate disciplinary considerations.&lt;br /&gt;
* Improvements needed to prevent recurrence.&lt;br /&gt;
&lt;br /&gt;
= 43. Candidate Security Declaration =&lt;br /&gt;
&lt;br /&gt;
Before completing this module, the candidate should affirm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that DarkWorld IRC staff access exists only for authorized&lt;br /&gt;
network responsibilities.&lt;br /&gt;
&lt;br /&gt;
I will not share passwords, tokens, private keys, operator credentials,&lt;br /&gt;
restricted logs, or confidential staff information.&lt;br /&gt;
&lt;br /&gt;
I will use secure and updated devices, verified TLS, unique credentials,&lt;br /&gt;
and additional authentication where available.&lt;br /&gt;
&lt;br /&gt;
I will disclose relevant conflicts of interest and will not use staff&lt;br /&gt;
authority for personal disputes, favoritism, retaliation, or personal benefit.&lt;br /&gt;
&lt;br /&gt;
I will report mistakes, compromised access, privacy incidents, and security&lt;br /&gt;
concerns honestly and promptly.&lt;br /&gt;
&lt;br /&gt;
I understand that my access may be limited, suspended, reviewed, or removed&lt;br /&gt;
when required to protect DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
I understand that confidentiality obligations continue after I leave the&lt;br /&gt;
staff team.&lt;br /&gt;
&lt;br /&gt;
Candidate account:&lt;br /&gt;
Candidate nickname:&lt;br /&gt;
Date:&lt;br /&gt;
Accepted through:&lt;br /&gt;
Trainer or reviewer:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 44. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;34 of the 42&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Achieve at least &#039;&#039;&#039;85%&#039;&#039;&#039; in the ethics and security assessment.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Accept the Candidate Security Declaration.&lt;br /&gt;
* Demonstrate safe credential handling.&lt;br /&gt;
* Demonstrate correct conflict-of-interest handling.&lt;br /&gt;
* Complete an offboarding checklist.&lt;br /&gt;
* Receive trainer and management approval.&lt;br /&gt;
&lt;br /&gt;
A candidate who fails the ethics and security assessment must not receive privileged access, even if their overall program score is above the normal passing requirement.&lt;br /&gt;
&lt;br /&gt;
= 45. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Ethical principles and judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Conflicts, neutrality, and retaliation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Confidentiality and privacy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Credential and device security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Social engineering and incident reporting&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Accountability and evidence integrity&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Access lifecycle and project boundaries&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Written declaration and professionalism&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Required passing score: &#039;&#039;&#039;85 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Automatic failure conditions may include:&lt;br /&gt;
&lt;br /&gt;
* Intentional credential sharing.&lt;br /&gt;
* Deliberate evidence falsification.&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Unauthorized disclosure of private information.&lt;br /&gt;
* Use of access for personal benefit.&lt;br /&gt;
* Serious undisclosed conflict of interest.&lt;br /&gt;
* Unauthorized production-system testing.&lt;br /&gt;
* Refusal to report compromised access.&lt;br /&gt;
* Deliberate impersonation.&lt;br /&gt;
* Intentional abuse of elevated commands.&lt;br /&gt;
&lt;br /&gt;
= 46. Core Program Completion =&lt;br /&gt;
&lt;br /&gt;
After passing this module, the candidate has completed the ten educational modules of the DarkWorld IRC Staff Training Program.&lt;br /&gt;
&lt;br /&gt;
The candidate must still complete:&lt;br /&gt;
&lt;br /&gt;
# [[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&lt;br /&gt;
# [[DWIRC:Staff Training/Final Examination|Final Written Examination]]&lt;br /&gt;
# [[DWIRC:Staff Training/Practical Assessment|Final Practical Assessment]]&lt;br /&gt;
# [[DWIRC:Staff Training/Trainee Evaluation|Trainee Evaluation]]&lt;br /&gt;
# [[DWIRC:Staff Training/Probation|Probationary Staff Period]]&lt;br /&gt;
&lt;br /&gt;
Completion of the educational modules does not guarantee appointment.&lt;br /&gt;
&lt;br /&gt;
= 47. Next Step =&lt;br /&gt;
&lt;br /&gt;
Continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:Staff Ethics]]&lt;br /&gt;
[[Category:Staff Security]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Operator_Fundamentals&amp;diff=398</id>
		<title>DWIRC:Staff Training/IRC Operator Fundamentals</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Operator_Fundamentals&amp;diff=398"/>
		<updated>2026-08-08T18:07:21Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/IRC Operator Fundamentals&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 9 — IRC Operator Fundamentals}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 9: IRC Operator Fundamentals&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 9 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 5–7 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, command simulations, and incident exercises&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC operator&#039;&#039;&#039;, commonly called an &#039;&#039;&#039;IRCOp&#039;&#039;&#039;, is a trusted network staff member with elevated privileges for protecting and operating the IRC network.&lt;br /&gt;
&lt;br /&gt;
IRC operator privileges may allow a staff member to:&lt;br /&gt;
&lt;br /&gt;
* View operational information.&lt;br /&gt;
* Receive server notices.&lt;br /&gt;
* Investigate network abuse.&lt;br /&gt;
* Disconnect users.&lt;br /&gt;
* Apply network-level restrictions.&lt;br /&gt;
* Assist during floods and attacks.&lt;br /&gt;
* Coordinate across multiple IRC servers.&lt;br /&gt;
* Use approved override capabilities.&lt;br /&gt;
* Support network recovery.&lt;br /&gt;
&lt;br /&gt;
These powers can also disconnect innocent users, block shared networks, expose sensitive connection information, or disrupt IRC services if used incorrectly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This lesson does not grant IRC operator access. Operator access requires a defined operational role, management approval, secure credentials, appropriate permissions, and successful probation.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the purpose and responsibilities of an IRC operator.&lt;br /&gt;
# Distinguish channel moderation from network enforcement.&lt;br /&gt;
# Protect operator credentials.&lt;br /&gt;
# Recognize common operational notices.&lt;br /&gt;
# Collect relevant user and connection information lawfully.&lt;br /&gt;
# Explain kills and network-ban types.&lt;br /&gt;
# Select the smallest appropriate network response.&lt;br /&gt;
# Recognize the risks of host and IP-based restrictions.&lt;br /&gt;
# Understand OperOverride and forced mode operations.&lt;br /&gt;
# Respond safely to netsplits, floods, and Services failures.&lt;br /&gt;
# Record operator actions.&lt;br /&gt;
# Recognize commands reserved for senior administrators.&lt;br /&gt;
# Escalate high-risk network incidents.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of an IRC Operator =&lt;br /&gt;
&lt;br /&gt;
The purpose of an IRC operator is to:&lt;br /&gt;
&lt;br /&gt;
* Protect the IRC network.&lt;br /&gt;
* Respond to network-wide abuse.&lt;br /&gt;
* Assist users and channel staff.&lt;br /&gt;
* Maintain operational stability.&lt;br /&gt;
* Enforce network policies.&lt;br /&gt;
* Coordinate incident response.&lt;br /&gt;
* Protect Services and servers.&lt;br /&gt;
* Apply network restrictions when justified.&lt;br /&gt;
* Document significant actions.&lt;br /&gt;
* Support recovery after incidents.&lt;br /&gt;
&lt;br /&gt;
IRC operator status is not a reward, status symbol, or entitlement.&lt;br /&gt;
&lt;br /&gt;
It is an operational responsibility.&lt;br /&gt;
&lt;br /&gt;
= 2. Channel Operator vs IRC Operator =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! Scope&lt;br /&gt;
! Example responsibilities&lt;br /&gt;
|-&lt;br /&gt;
| Channel operator&lt;br /&gt;
| One or more channels&lt;br /&gt;
| Topics, voice, kicks, channel bans, channel rules&lt;br /&gt;
|-&lt;br /&gt;
| IRC operator&lt;br /&gt;
| IRC network&lt;br /&gt;
| Network abuse, user disconnections, network bans, server notices&lt;br /&gt;
|-&lt;br /&gt;
| Services staff&lt;br /&gt;
| Anope Services&lt;br /&gt;
| Account and registered-channel administration&lt;br /&gt;
|-&lt;br /&gt;
| IRCd administrator&lt;br /&gt;
| IRC server infrastructure&lt;br /&gt;
| Configuration, modules, server links, upgrades&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An IRC operator is not automatically:&lt;br /&gt;
&lt;br /&gt;
* A channel founder.&lt;br /&gt;
* A Services Administrator.&lt;br /&gt;
* An IRCd administrator.&lt;br /&gt;
* A DWShells administrator.&lt;br /&gt;
* A DWBouncers administrator.&lt;br /&gt;
* Authorized to interfere in every channel dispute.&lt;br /&gt;
&lt;br /&gt;
= 3. Least-Privilege Operator Access =&lt;br /&gt;
&lt;br /&gt;
Operator permissions should match the staff member’s assigned role.&lt;br /&gt;
&lt;br /&gt;
Possible permission groups may include:&lt;br /&gt;
&lt;br /&gt;
* Local operator.&lt;br /&gt;
* Global operator.&lt;br /&gt;
* Help operator.&lt;br /&gt;
* Services operator.&lt;br /&gt;
* Network administrator.&lt;br /&gt;
* Root administrator.&lt;br /&gt;
* Specialized abuse or security role.&lt;br /&gt;
&lt;br /&gt;
A local operator may have authority limited to one server.&lt;br /&gt;
&lt;br /&gt;
A global operator may have authority across connected servers.&lt;br /&gt;
&lt;br /&gt;
Actual permissions depend on the current UnrealIRCd configuration and security groups.&lt;br /&gt;
&lt;br /&gt;
Staff must not assume that a title grants every available command.&lt;br /&gt;
&lt;br /&gt;
= 4. Operator Authentication =&lt;br /&gt;
&lt;br /&gt;
IRC operator authentication commonly uses the `/OPER` command or an approved automatic authentication method.&lt;br /&gt;
&lt;br /&gt;
General form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/OPER operator-name password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exact credentials and authentication requirements are defined by the current UnrealIRCd configuration.&lt;br /&gt;
&lt;br /&gt;
Operator authentication should occur only:&lt;br /&gt;
&lt;br /&gt;
* Over verified TLS.&lt;br /&gt;
* From an approved device.&lt;br /&gt;
* Through an approved connection.&lt;br /&gt;
* Using a unique operator credential.&lt;br /&gt;
* After authenticating the normal Services account where required.&lt;br /&gt;
* Without exposing the command in a channel.&lt;br /&gt;
&lt;br /&gt;
== Operator Credential Rules ==&lt;br /&gt;
&lt;br /&gt;
An operator must:&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique password.&lt;br /&gt;
* Never reuse the NickServ password.&lt;br /&gt;
* Never share the operator password.&lt;br /&gt;
* Never send it through IRC messages or email.&lt;br /&gt;
* Avoid storing it in plaintext.&lt;br /&gt;
* Protect client configuration files.&lt;br /&gt;
* Lock or disconnect unattended devices.&lt;br /&gt;
* Report suspected exposure immediately.&lt;br /&gt;
* Follow any certificate or authentication requirements.&lt;br /&gt;
* Remove credentials from retired devices.&lt;br /&gt;
&lt;br /&gt;
= 5. Failed Operator Authentication =&lt;br /&gt;
&lt;br /&gt;
Repeated `/OPER` failures may indicate:&lt;br /&gt;
&lt;br /&gt;
* Incorrect credentials.&lt;br /&gt;
* Wrong operator name.&lt;br /&gt;
* An unauthorized host.&lt;br /&gt;
* Missing Services authentication.&lt;br /&gt;
* Incorrect TLS or certificate state.&lt;br /&gt;
* Outdated client configuration.&lt;br /&gt;
* A compromised or guessed credential.&lt;br /&gt;
* A configuration problem.&lt;br /&gt;
&lt;br /&gt;
Staff must not repeatedly try passwords or ask another operator to share credentials.&lt;br /&gt;
&lt;br /&gt;
The correct response is:&lt;br /&gt;
&lt;br /&gt;
# Stop repeated attempts.&lt;br /&gt;
# Record the exact error.&lt;br /&gt;
# Confirm the correct operator identity privately.&lt;br /&gt;
# Confirm the approved connection requirements.&lt;br /&gt;
# Notify authorized administration if unexpected.&lt;br /&gt;
# Treat unexplained repeated failures as a possible security event.&lt;br /&gt;
&lt;br /&gt;
= 6. Operator Session Security =&lt;br /&gt;
&lt;br /&gt;
Before using operator access:&lt;br /&gt;
&lt;br /&gt;
* Confirm the device is trusted.&lt;br /&gt;
* Confirm the IRC client is updated and securely configured.&lt;br /&gt;
* Confirm TLS certificate verification.&lt;br /&gt;
* Close unnecessary scripts or plugins.&lt;br /&gt;
* Verify the active network and server.&lt;br /&gt;
* Confirm the nickname and Services account.&lt;br /&gt;
* Know how to remove operator status or disconnect safely.&lt;br /&gt;
* Ensure logs are protected.&lt;br /&gt;
&lt;br /&gt;
Do not remain opered unnecessarily on an insecure or unattended device.&lt;br /&gt;
&lt;br /&gt;
= 7. Server Notices =&lt;br /&gt;
&lt;br /&gt;
IRC operators may subscribe to or receive server notices, commonly called &#039;&#039;&#039;snotices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These may report:&lt;br /&gt;
&lt;br /&gt;
* New connections.&lt;br /&gt;
* Disconnections.&lt;br /&gt;
* Failed operator attempts.&lt;br /&gt;
* Kills.&lt;br /&gt;
* Network bans.&lt;br /&gt;
* Flood activity.&lt;br /&gt;
* Server links.&lt;br /&gt;
* Server disconnections.&lt;br /&gt;
* Services activity.&lt;br /&gt;
* Security events.&lt;br /&gt;
* Override use.&lt;br /&gt;
* Configuration or routing problems.&lt;br /&gt;
&lt;br /&gt;
Notice categories and user modes depend on the UnrealIRCd configuration.&lt;br /&gt;
&lt;br /&gt;
Operators should configure only the notices relevant to their role. Excessive notices may hide important events.&lt;br /&gt;
&lt;br /&gt;
= 8. Operational Information Commands =&lt;br /&gt;
&lt;br /&gt;
Common informational commands may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
| View user information&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOIS nickname nickname`&lt;br /&gt;
| Request additional WHOIS information where available&lt;br /&gt;
|-&lt;br /&gt;
| `/WHO #channel`&lt;br /&gt;
| View channel users&lt;br /&gt;
|-&lt;br /&gt;
| `/USERHOST nickname`&lt;br /&gt;
| View basic connection identity&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOWAS nickname`&lt;br /&gt;
| View limited information about a disconnected nickname&lt;br /&gt;
|-&lt;br /&gt;
| `/LINKS`&lt;br /&gt;
| View linked IRC servers&lt;br /&gt;
|-&lt;br /&gt;
| `/MAP`&lt;br /&gt;
| View a network map where supported&lt;br /&gt;
|-&lt;br /&gt;
| `/LUSERS`&lt;br /&gt;
| View network statistics&lt;br /&gt;
|-&lt;br /&gt;
| `/STATS letter`&lt;br /&gt;
| Request a specific server statistics category&lt;br /&gt;
|-&lt;br /&gt;
| `/VERSION`&lt;br /&gt;
| View server software information&lt;br /&gt;
|-&lt;br /&gt;
| `/TIME`&lt;br /&gt;
| View server time&lt;br /&gt;
|-&lt;br /&gt;
| `/ADMIN`&lt;br /&gt;
| View server administration information&lt;br /&gt;
|-&lt;br /&gt;
| `/MOTD`&lt;br /&gt;
| View the Message of the Day&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some information is restricted.&lt;br /&gt;
&lt;br /&gt;
Operator-only information must not be copied into public channels without an operational reason and authorization.&lt;br /&gt;
&lt;br /&gt;
= 9. User Investigation Principles =&lt;br /&gt;
&lt;br /&gt;
An operator may need to examine:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Displayed host or cloak.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Connected server.&lt;br /&gt;
* Secure connection status.&lt;br /&gt;
* User modes.&lt;br /&gt;
* Channel presence.&lt;br /&gt;
* Idle time.&lt;br /&gt;
* Connection timing.&lt;br /&gt;
* Relevant authorized logs.&lt;br /&gt;
* Previous related enforcement.&lt;br /&gt;
&lt;br /&gt;
Operators must not investigate users:&lt;br /&gt;
&lt;br /&gt;
* Out of curiosity.&lt;br /&gt;
* Because of a personal disagreement.&lt;br /&gt;
* To discover private information for a friend.&lt;br /&gt;
* To track someone without an operational reason.&lt;br /&gt;
* To expose hidden information publicly.&lt;br /&gt;
* Outside their assigned authority.&lt;br /&gt;
&lt;br /&gt;
Every investigation should have a legitimate network purpose.&lt;br /&gt;
&lt;br /&gt;
= 10. Identification Is Not Certainty =&lt;br /&gt;
&lt;br /&gt;
The following do not independently prove that two connections belong to the same person:&lt;br /&gt;
&lt;br /&gt;
* Matching host.&lt;br /&gt;
* Matching VPN exit.&lt;br /&gt;
* Matching bouncer server.&lt;br /&gt;
* Similar nickname.&lt;br /&gt;
* Similar writing style.&lt;br /&gt;
* Shared channel membership.&lt;br /&gt;
* Same country.&lt;br /&gt;
* Similar connection time.&lt;br /&gt;
&lt;br /&gt;
Evidence may be combined, but staff must distinguish strong evidence from assumptions.&lt;br /&gt;
&lt;br /&gt;
Shared systems may include:&lt;br /&gt;
&lt;br /&gt;
* VPNs.&lt;br /&gt;
* IRC bouncers.&lt;br /&gt;
* Shell providers.&lt;br /&gt;
* Webchat gateways.&lt;br /&gt;
* Mobile carriers.&lt;br /&gt;
* Universities.&lt;br /&gt;
* Workplaces.&lt;br /&gt;
* Residential networks.&lt;br /&gt;
* Relays.&lt;br /&gt;
&lt;br /&gt;
= 11. User Kills =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;KILL&#039;&#039;&#039; forcibly disconnects a user from the IRC network.&lt;br /&gt;
&lt;br /&gt;
General syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KILL nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KILL ExampleNick Active multi-channel flooding&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exact syntax and permissions must be verified through current server help.&lt;br /&gt;
&lt;br /&gt;
A kill:&lt;br /&gt;
&lt;br /&gt;
* Ends the current connection.&lt;br /&gt;
* Does not necessarily prevent reconnection.&lt;br /&gt;
* May affect a bouncer or automated client.&lt;br /&gt;
* Should include a clear operational reason.&lt;br /&gt;
* Must be recorded when significant.&lt;br /&gt;
&lt;br /&gt;
A kill may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* Active abuse must stop immediately.&lt;br /&gt;
* A user is flooding multiple channels.&lt;br /&gt;
* A malicious client is attacking users.&lt;br /&gt;
* A phishing identity is actively collecting credentials.&lt;br /&gt;
* A compromised bot is spreading harmful content.&lt;br /&gt;
* A user must be disconnected before a restriction is applied.&lt;br /&gt;
&lt;br /&gt;
A kill must not be used:&lt;br /&gt;
&lt;br /&gt;
* As a joke.&lt;br /&gt;
* To remove someone from only one channel.&lt;br /&gt;
* To win a personal disagreement.&lt;br /&gt;
* To punish criticism.&lt;br /&gt;
* When a channel kick is sufficient.&lt;br /&gt;
* Without checking the correct nickname.&lt;br /&gt;
&lt;br /&gt;
= 12. Network Bans =&lt;br /&gt;
&lt;br /&gt;
A network ban prevents matching connections from using the IRC network.&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide several restriction types. Exact syntax and behavior must be verified with the current server configuration and `/HELPOP`.&lt;br /&gt;
&lt;br /&gt;
Possible types include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Restriction&lt;br /&gt;
! General purpose&lt;br /&gt;
! Main risk&lt;br /&gt;
|-&lt;br /&gt;
| K-line&lt;br /&gt;
| Restricts a user or host, often on one server&lt;br /&gt;
| Scope may differ by server&lt;br /&gt;
|-&lt;br /&gt;
| G-line&lt;br /&gt;
| Network-wide user or host restriction&lt;br /&gt;
| May affect many users&lt;br /&gt;
|-&lt;br /&gt;
| Z-line&lt;br /&gt;
| IP-based restriction, often processed early&lt;br /&gt;
| Can block shared addresses&lt;br /&gt;
|-&lt;br /&gt;
| Global Z-line&lt;br /&gt;
| Network-wide IP-based restriction&lt;br /&gt;
| Very broad operational effect&lt;br /&gt;
|-&lt;br /&gt;
| Shun&lt;br /&gt;
| Silently restricts many user commands&lt;br /&gt;
| User may remain connected without understanding why&lt;br /&gt;
|-&lt;br /&gt;
| Temporary shun&lt;br /&gt;
| Temporary command restriction&lt;br /&gt;
| Must be reviewed and documented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Terminology, propagation, matching, and duration syntax depend on the deployed UnrealIRCd version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Before using any network restriction, verify the current syntax with `/HELPOP`, confirm the target and duration, and check how many legitimate users may match.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 13. Choosing a Network Restriction =&lt;br /&gt;
&lt;br /&gt;
Before applying a restriction, determine:&lt;br /&gt;
&lt;br /&gt;
# What behavior must be stopped?&lt;br /&gt;
# Is the behavior still active?&lt;br /&gt;
# Is disconnecting the current user sufficient?&lt;br /&gt;
# Is a channel restriction sufficient?&lt;br /&gt;
# What identity information is reliable?&lt;br /&gt;
# Is the IP or host shared?&lt;br /&gt;
# Is an account-based response available?&lt;br /&gt;
# Should the action be local or network-wide?&lt;br /&gt;
# What duration is proportionate?&lt;br /&gt;
# Could legitimate DWShells, DWBouncers, VPN, or gateway users be affected?&lt;br /&gt;
# Do you have authority?&lt;br /&gt;
# Is senior approval required?&lt;br /&gt;
# What is the rollback procedure?&lt;br /&gt;
&lt;br /&gt;
The smallest effective restriction is usually preferred.&lt;br /&gt;
&lt;br /&gt;
= 14. Ban Duration =&lt;br /&gt;
&lt;br /&gt;
A restriction may be:&lt;br /&gt;
&lt;br /&gt;
* Very short for immediate containment.&lt;br /&gt;
* Temporary pending investigation.&lt;br /&gt;
* Time-limited for a confirmed violation.&lt;br /&gt;
* Extended after repeated evasion.&lt;br /&gt;
* Indefinite or permanent with appropriate senior approval.&lt;br /&gt;
&lt;br /&gt;
The duration should reflect:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Intent.&lt;br /&gt;
* Previous relevant behavior.&lt;br /&gt;
* Impact.&lt;br /&gt;
* Likelihood of recurrence.&lt;br /&gt;
* Risk to innocent users.&lt;br /&gt;
* Whether the identity is reliable.&lt;br /&gt;
* Whether appeal or review is pending.&lt;br /&gt;
&lt;br /&gt;
Operators must understand the current time format used by UnrealIRCd before entering a duration.&lt;br /&gt;
&lt;br /&gt;
= 15. Ban Reasons =&lt;br /&gt;
&lt;br /&gt;
A network-ban reason should be:&lt;br /&gt;
&lt;br /&gt;
* Factual.&lt;br /&gt;
* Concise.&lt;br /&gt;
* Professional.&lt;br /&gt;
* Related to policy or conduct.&lt;br /&gt;
* Useful to other staff.&lt;br /&gt;
* Free from unnecessary private information.&lt;br /&gt;
&lt;br /&gt;
Good examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Active multi-channel flooding&lt;br /&gt;
Repeated unsolicited network recruitment after warning&lt;br /&gt;
Credential phishing through Services impersonation&lt;br /&gt;
Ban evasion during active abuse incident&lt;br /&gt;
Malicious bot distributing harmful links&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bad user&lt;br /&gt;
Annoying&lt;br /&gt;
Go away&lt;br /&gt;
You know why&lt;br /&gt;
Staff decision&lt;br /&gt;
Personal dispute&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where an internal case reference exists, it may be included according to policy without exposing confidential details.&lt;br /&gt;
&lt;br /&gt;
= 16. Confirming a Restriction =&lt;br /&gt;
&lt;br /&gt;
After applying a network restriction:&lt;br /&gt;
&lt;br /&gt;
# Confirm that the command succeeded.&lt;br /&gt;
# Confirm the intended target matched.&lt;br /&gt;
# Confirm the restriction propagated as expected.&lt;br /&gt;
# Check whether innocent users were disconnected.&lt;br /&gt;
# Record the exact entry.&lt;br /&gt;
# Record the time and duration.&lt;br /&gt;
# Record the reason.&lt;br /&gt;
# Set a review time.&lt;br /&gt;
# Notify the incident lead.&lt;br /&gt;
# Correct errors immediately.&lt;br /&gt;
&lt;br /&gt;
Never assume a restriction worked simply because the command was entered.&lt;br /&gt;
&lt;br /&gt;
= 17. Removing a Network Restriction =&lt;br /&gt;
&lt;br /&gt;
Before removal:&lt;br /&gt;
&lt;br /&gt;
* Confirm the exact restriction type.&lt;br /&gt;
* Confirm the exact mask or target.&lt;br /&gt;
* Review the original reason.&lt;br /&gt;
* Check whether the incident remains active.&lt;br /&gt;
* Confirm authorization.&lt;br /&gt;
* Determine whether another protection is required.&lt;br /&gt;
* Record the removal and reason.&lt;br /&gt;
&lt;br /&gt;
Do not remove a restriction merely because the affected user is a friend or complains persistently.&lt;br /&gt;
&lt;br /&gt;
Do not leave incorrect restrictions active to avoid admitting a mistake.&lt;br /&gt;
&lt;br /&gt;
= 18. Shuns =&lt;br /&gt;
&lt;br /&gt;
A shun may leave a user connected while preventing many commands or messages.&lt;br /&gt;
&lt;br /&gt;
Because the user may receive limited feedback, shuns require careful use.&lt;br /&gt;
&lt;br /&gt;
A shun may be considered for:&lt;br /&gt;
&lt;br /&gt;
* Certain active flooding behavior.&lt;br /&gt;
* Automated malicious commands.&lt;br /&gt;
* Temporary containment during investigation.&lt;br /&gt;
* Situations where immediate disconnection is less useful.&lt;br /&gt;
&lt;br /&gt;
Risks include:&lt;br /&gt;
&lt;br /&gt;
* Confusing affected users.&lt;br /&gt;
* Hiding the action from ordinary channel staff.&lt;br /&gt;
* Leaving legitimate users unable to communicate.&lt;br /&gt;
* Forgetting a temporary restriction.&lt;br /&gt;
* Applying it to a shared identity.&lt;br /&gt;
&lt;br /&gt;
Shuns must be documented and reviewed.&lt;br /&gt;
&lt;br /&gt;
= 19. OperOverride =&lt;br /&gt;
&lt;br /&gt;
OperOverride allows an authorized IRC operator to bypass certain normal channel restrictions.&lt;br /&gt;
&lt;br /&gt;
It may permit actions such as:&lt;br /&gt;
&lt;br /&gt;
* Joining a restricted channel.&lt;br /&gt;
* Acting despite channel access limitations.&lt;br /&gt;
* Performing authorized emergency intervention.&lt;br /&gt;
* Investigating a serious network incident.&lt;br /&gt;
&lt;br /&gt;
OperOverride must be used only when:&lt;br /&gt;
&lt;br /&gt;
* There is a valid network-level purpose.&lt;br /&gt;
* Normal procedures are insufficient.&lt;br /&gt;
* The operator has authority.&lt;br /&gt;
* The action is proportionate.&lt;br /&gt;
* The use is documented.&lt;br /&gt;
* Confidentiality is maintained.&lt;br /&gt;
&lt;br /&gt;
It must not be used:&lt;br /&gt;
&lt;br /&gt;
* To enter private channels out of curiosity.&lt;br /&gt;
* To monitor personal conversations.&lt;br /&gt;
* To bypass a channel founder during an argument.&lt;br /&gt;
* To obtain channel operator status for convenience.&lt;br /&gt;
* To assist a friend in a private dispute.&lt;br /&gt;
* To avoid the Services ownership process.&lt;br /&gt;
&lt;br /&gt;
= 20. SAMODE and Forced Channel Actions =&lt;br /&gt;
&lt;br /&gt;
`SAMODE` or equivalent administrative capabilities may force user or channel mode changes.&lt;br /&gt;
&lt;br /&gt;
These are elevated powers.&lt;br /&gt;
&lt;br /&gt;
Possible legitimate uses include:&lt;br /&gt;
&lt;br /&gt;
* Emergency network protection.&lt;br /&gt;
* Correcting a severe mode-lock situation.&lt;br /&gt;
* Containing active abuse.&lt;br /&gt;
* Restoring a network-managed channel.&lt;br /&gt;
* Carrying out an authorized administrative decision.&lt;br /&gt;
&lt;br /&gt;
Risks include:&lt;br /&gt;
&lt;br /&gt;
* Overriding legitimate channel ownership.&lt;br /&gt;
* Removing critical protection.&lt;br /&gt;
* Affecting many users.&lt;br /&gt;
* Concealing who initiated the change.&lt;br /&gt;
* Creating conflict with Services.&lt;br /&gt;
* Using the wrong target or parameter.&lt;br /&gt;
&lt;br /&gt;
Trainees should learn the concept but must not execute forced mode commands in production.&lt;br /&gt;
&lt;br /&gt;
= 21. Server Routing and Topology =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC consists of linked servers.&lt;br /&gt;
&lt;br /&gt;
Operators should understand:&lt;br /&gt;
&lt;br /&gt;
* Users connect through individual servers.&lt;br /&gt;
* Channels and messages are shared across the network.&lt;br /&gt;
* Services may connect through a dedicated server.&lt;br /&gt;
* A server link can fail.&lt;br /&gt;
* A server may reconnect and synchronize.&lt;br /&gt;
* Round-robin DNS may direct users to different servers.&lt;br /&gt;
* A local problem may affect only one server.&lt;br /&gt;
* A split may affect a portion of the network.&lt;br /&gt;
&lt;br /&gt;
Useful commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/LINKS&lt;br /&gt;
/MAP&lt;br /&gt;
/LUSERS&lt;br /&gt;
/WHOIS nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Availability depends on permissions and current configuration.&lt;br /&gt;
&lt;br /&gt;
= 22. Netsplits =&lt;br /&gt;
&lt;br /&gt;
A netsplit occurs when linked IRC servers lose communication.&lt;br /&gt;
&lt;br /&gt;
Signs include:&lt;br /&gt;
&lt;br /&gt;
* Many users quitting together.&lt;br /&gt;
* Server names appearing in quit reasons.&lt;br /&gt;
* One region or server becoming unreachable.&lt;br /&gt;
* Channels temporarily separating.&lt;br /&gt;
* Users returning together after reconnection.&lt;br /&gt;
* Server-link notices.&lt;br /&gt;
&lt;br /&gt;
Operators should:&lt;br /&gt;
&lt;br /&gt;
# Identify the affected server or link.&lt;br /&gt;
# Record the time.&lt;br /&gt;
# Check authorized server notices.&lt;br /&gt;
# Avoid unnecessary user bans.&lt;br /&gt;
# Avoid treating returning users as a raid without evidence.&lt;br /&gt;
# Notify network operations.&lt;br /&gt;
# Allow synchronization after reconnection.&lt;br /&gt;
# Verify Services and channel state.&lt;br /&gt;
# Provide an approved status update.&lt;br /&gt;
# Document persistent instability.&lt;br /&gt;
&lt;br /&gt;
= 23. Server-Link Commands =&lt;br /&gt;
&lt;br /&gt;
Commands that disconnect, reconnect, restart, or terminate IRC servers are dangerous.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* Server-connect commands.&lt;br /&gt;
* Server-disconnect commands.&lt;br /&gt;
* SQUIT.&lt;br /&gt;
* REHASH.&lt;br /&gt;
* RESTART.&lt;br /&gt;
* DIE.&lt;br /&gt;
&lt;br /&gt;
These commands can affect hundreds of users and the entire network.&lt;br /&gt;
&lt;br /&gt;
They belong to the IRCd Administration specialist program and must not be used by general trainees.&lt;br /&gt;
&lt;br /&gt;
= 24. Rehashing =&lt;br /&gt;
&lt;br /&gt;
A rehash reloads IRCd configuration.&lt;br /&gt;
&lt;br /&gt;
An incorrect or unauthorized rehash may:&lt;br /&gt;
&lt;br /&gt;
* Activate a broken configuration.&lt;br /&gt;
* Remove required settings.&lt;br /&gt;
* Change security controls.&lt;br /&gt;
* Affect server links.&lt;br /&gt;
* Load unintended modules.&lt;br /&gt;
* Produce partial configuration behavior.&lt;br /&gt;
* Disrupt users.&lt;br /&gt;
&lt;br /&gt;
General IRC operators should report configuration issues to authorized IRCd administrators.&lt;br /&gt;
&lt;br /&gt;
Knowing that `/REHASH` exists does not authorize its use.&lt;br /&gt;
&lt;br /&gt;
= 25. Flood and Raid Response =&lt;br /&gt;
&lt;br /&gt;
When an attack affects several channels or servers:&lt;br /&gt;
&lt;br /&gt;
# Confirm the scope.&lt;br /&gt;
# Assign an incident lead.&lt;br /&gt;
# Protect affected channels.&lt;br /&gt;
# Collect connection and timing information.&lt;br /&gt;
# Apply authorized targeted restrictions.&lt;br /&gt;
# Coordinate with IRCd operations.&lt;br /&gt;
# Avoid independently applying overlapping broad bans.&lt;br /&gt;
# Monitor for changing sources.&lt;br /&gt;
# Communicate approved updates.&lt;br /&gt;
# Record every emergency action.&lt;br /&gt;
# Review and remove temporary controls.&lt;br /&gt;
&lt;br /&gt;
A flood may move between:&lt;br /&gt;
&lt;br /&gt;
* Nicknames.&lt;br /&gt;
* Accounts.&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* IPv4 and IPv6.&lt;br /&gt;
* VPN services.&lt;br /&gt;
* Proxies.&lt;br /&gt;
* Bouncers.&lt;br /&gt;
* Servers.&lt;br /&gt;
* Channels.&lt;br /&gt;
&lt;br /&gt;
Operators should focus on behavior and verified technical evidence, not nationality or unsupported assumptions.&lt;br /&gt;
&lt;br /&gt;
= 26. Connection Floods and IRCd Protection =&lt;br /&gt;
&lt;br /&gt;
Network connection floods may require IRCd-level controls such as:&lt;br /&gt;
&lt;br /&gt;
* Connection throttling.&lt;br /&gt;
* Reputation-based restrictions.&lt;br /&gt;
* Server-level flood protection.&lt;br /&gt;
* Temporary configuration includes.&lt;br /&gt;
* Proxy scanning.&lt;br /&gt;
* Firewall or upstream mitigation.&lt;br /&gt;
&lt;br /&gt;
These controls belong to authorized IRCd, security, or infrastructure staff.&lt;br /&gt;
&lt;br /&gt;
An IRC operator should:&lt;br /&gt;
&lt;br /&gt;
* Record the connection pattern.&lt;br /&gt;
* Identify affected servers.&lt;br /&gt;
* Provide accurate counts where possible.&lt;br /&gt;
* Preserve server notices.&lt;br /&gt;
* Apply only authorized operator-level containment.&lt;br /&gt;
* Escalate infrastructure changes.&lt;br /&gt;
&lt;br /&gt;
= 27. Services Failures =&lt;br /&gt;
&lt;br /&gt;
When Services are unavailable:&lt;br /&gt;
&lt;br /&gt;
* NickServ identification may fail.&lt;br /&gt;
* SASL may fail.&lt;br /&gt;
* ChanServ may disappear.&lt;br /&gt;
* Channel status may not be restored.&lt;br /&gt;
* HostServ vhosts may not be applied.&lt;br /&gt;
* Registered nickname protection may be unavailable.&lt;br /&gt;
&lt;br /&gt;
Operators should:&lt;br /&gt;
&lt;br /&gt;
# Confirm whether Services are connected.&lt;br /&gt;
# Record the start time.&lt;br /&gt;
# Notify Services administrators.&lt;br /&gt;
# Avoid unnecessary founder or access changes.&lt;br /&gt;
# Protect official channels temporarily where needed.&lt;br /&gt;
# Allow synchronization after Services return.&lt;br /&gt;
# Verify important channel modes and access.&lt;br /&gt;
# Communicate accurately.&lt;br /&gt;
&lt;br /&gt;
= 28. Server Notice Privacy =&lt;br /&gt;
&lt;br /&gt;
Operator notices may reveal:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hidden host information.&lt;br /&gt;
* Connection details.&lt;br /&gt;
* Authentication events.&lt;br /&gt;
* Ban reasons.&lt;br /&gt;
* Staff actions.&lt;br /&gt;
* Server topology.&lt;br /&gt;
* Security controls.&lt;br /&gt;
&lt;br /&gt;
This information must remain within the authorized operational context.&lt;br /&gt;
&lt;br /&gt;
Do not paste raw server notices into:&lt;br /&gt;
&lt;br /&gt;
* Public channels.&lt;br /&gt;
* Public websites.&lt;br /&gt;
* Unrestricted project channels.&lt;br /&gt;
* External communities.&lt;br /&gt;
* Personal social-media accounts.&lt;br /&gt;
&lt;br /&gt;
= 29. Operator Action Logging =&lt;br /&gt;
&lt;br /&gt;
Significant operator actions should be logged.&lt;br /&gt;
&lt;br /&gt;
Use a format such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Operator:&lt;br /&gt;
Incident reference:&lt;br /&gt;
Target nickname:&lt;br /&gt;
Registered account:&lt;br /&gt;
Visible mask:&lt;br /&gt;
Affected server:&lt;br /&gt;
Command category:&lt;br /&gt;
Action:&lt;br /&gt;
Scope:&lt;br /&gt;
Duration:&lt;br /&gt;
Reason:&lt;br /&gt;
Evidence:&lt;br /&gt;
Authorization:&lt;br /&gt;
Users affected:&lt;br /&gt;
Result:&lt;br /&gt;
Review time:&lt;br /&gt;
Follow-up:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not store operator passwords or authentication commands in action records.&lt;br /&gt;
&lt;br /&gt;
= 30. High-Risk Command Checklist =&lt;br /&gt;
&lt;br /&gt;
Before using a high-impact operator command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Am I connected to the correct network?&lt;br /&gt;
2. Am I targeting the correct nickname, host, IP, or server?&lt;br /&gt;
3. Is the evidence sufficient?&lt;br /&gt;
4. Is the incident still active?&lt;br /&gt;
5. Is a channel-level response sufficient?&lt;br /&gt;
6. What is the narrowest effective scope?&lt;br /&gt;
7. Could the target be shared?&lt;br /&gt;
8. Is the duration correct?&lt;br /&gt;
9. Do I have authority?&lt;br /&gt;
10. Is senior approval required?&lt;br /&gt;
11. Is another operator already acting?&lt;br /&gt;
12. How will I verify success?&lt;br /&gt;
13. How will I reverse the action?&lt;br /&gt;
14. Where will I record it?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the action is not urgent, pause and verify before sending it.&lt;br /&gt;
&lt;br /&gt;
= 31. Command Coordination =&lt;br /&gt;
&lt;br /&gt;
During an active incident, multiple operators may otherwise:&lt;br /&gt;
&lt;br /&gt;
* Apply duplicate bans.&lt;br /&gt;
* Use conflicting masks.&lt;br /&gt;
* Repeatedly kill the same reconnecting user.&lt;br /&gt;
* Remove each other’s restrictions.&lt;br /&gt;
* Apply overlapping broad actions.&lt;br /&gt;
* Confuse channel staff.&lt;br /&gt;
* Lose track of temporary controls.&lt;br /&gt;
&lt;br /&gt;
The incident lead should coordinate:&lt;br /&gt;
&lt;br /&gt;
* Who investigates.&lt;br /&gt;
* Who applies restrictions.&lt;br /&gt;
* Who records actions.&lt;br /&gt;
* Who communicates publicly.&lt;br /&gt;
* Who reviews the results.&lt;br /&gt;
&lt;br /&gt;
= 32. Operator Mistakes =&lt;br /&gt;
&lt;br /&gt;
If an operator:&lt;br /&gt;
&lt;br /&gt;
* Kills the wrong user.&lt;br /&gt;
* Applies the wrong mask.&lt;br /&gt;
* Blocks a shared provider.&lt;br /&gt;
* Sets the wrong duration.&lt;br /&gt;
* Uses the wrong restriction type.&lt;br /&gt;
* Exposes private information.&lt;br /&gt;
* Applies an unauthorized override.&lt;br /&gt;
&lt;br /&gt;
They must:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct or remove the action.&lt;br /&gt;
# Restore affected access where possible.&lt;br /&gt;
# Notify the incident lead or senior staff.&lt;br /&gt;
# Preserve the original log.&lt;br /&gt;
# Record the correction.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Participate in review.&lt;br /&gt;
# Complete additional training if required.&lt;br /&gt;
&lt;br /&gt;
Concealing an operator mistake is more serious than honestly reporting and correcting it.&lt;br /&gt;
&lt;br /&gt;
= 33. Operator Conduct =&lt;br /&gt;
&lt;br /&gt;
IRC operators must:&lt;br /&gt;
&lt;br /&gt;
* Remain professional.&lt;br /&gt;
* Be visibly accountable for actions.&lt;br /&gt;
* Avoid threats and intimidation.&lt;br /&gt;
* Follow policy.&lt;br /&gt;
* Respect channel autonomy.&lt;br /&gt;
* Protect confidential data.&lt;br /&gt;
* Cooperate with other staff.&lt;br /&gt;
* Accept review.&lt;br /&gt;
* Avoid public staff arguments.&lt;br /&gt;
* Declare conflicts of interest.&lt;br /&gt;
* Step back when personally involved.&lt;br /&gt;
&lt;br /&gt;
Operator status does not place a person above DarkWorld rules.&lt;br /&gt;
&lt;br /&gt;
= 34. Temporary Removal of Operator Access =&lt;br /&gt;
&lt;br /&gt;
Operator access may need to be suspended when:&lt;br /&gt;
&lt;br /&gt;
* Credentials are exposed.&lt;br /&gt;
* A device is compromised.&lt;br /&gt;
* The operator repeatedly acts unsafely.&lt;br /&gt;
* A serious misconduct investigation is active.&lt;br /&gt;
* The operator is inactive for an extended period.&lt;br /&gt;
* Their role no longer requires access.&lt;br /&gt;
* Management determines that network safety requires suspension.&lt;br /&gt;
&lt;br /&gt;
Temporary suspension is a protective measure and does not by itself establish misconduct.&lt;br /&gt;
&lt;br /&gt;
= 35. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
These exercises must use simulations, a training environment, or trainer-approved test identities. Candidates must not apply production network bans.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Operator Security Review ==&lt;br /&gt;
&lt;br /&gt;
Prepare a checklist covering:&lt;br /&gt;
&lt;br /&gt;
* TLS.&lt;br /&gt;
* Device security.&lt;br /&gt;
* Password storage.&lt;br /&gt;
* Client scripts.&lt;br /&gt;
* Automatic `/OPER`.&lt;br /&gt;
* Logs.&lt;br /&gt;
* Session locking.&lt;br /&gt;
* Credential rotation.&lt;br /&gt;
* Compromise reporting.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: User Investigation ==&lt;br /&gt;
&lt;br /&gt;
Using trainer-provided simulated WHOIS and notice data:&lt;br /&gt;
&lt;br /&gt;
* Identify confirmed account information.&lt;br /&gt;
* Identify the connected server.&lt;br /&gt;
* Identify displayed connection information.&lt;br /&gt;
* Separate facts from assumptions.&lt;br /&gt;
* Recommend whether further investigation is justified.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Kill Decision ==&lt;br /&gt;
&lt;br /&gt;
For each simulated case, decide whether a kill is appropriate:&lt;br /&gt;
&lt;br /&gt;
* Minor off-topic discussion.&lt;br /&gt;
* Active phishing.&lt;br /&gt;
* Single-channel flooding.&lt;br /&gt;
* Multi-channel automated flooding.&lt;br /&gt;
* Respectful criticism of staff.&lt;br /&gt;
* Malicious bot distribution.&lt;br /&gt;
&lt;br /&gt;
Explain whether a kick, kill, ban, or no action is most appropriate.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Network-Ban Selection ==&lt;br /&gt;
&lt;br /&gt;
Given several simulated masks:&lt;br /&gt;
&lt;br /&gt;
* Choose local or global scope.&lt;br /&gt;
* Identify shared-host risks.&lt;br /&gt;
* Select a duration.&lt;br /&gt;
* Write a professional reason.&lt;br /&gt;
* Explain how the restriction would be reviewed.&lt;br /&gt;
* Do not execute the command.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Netsplit ==&lt;br /&gt;
&lt;br /&gt;
The trainer simulates a server split.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the likely split.&lt;br /&gt;
* Record the affected server and time.&lt;br /&gt;
* Avoid treating returning users as attackers.&lt;br /&gt;
* Notify operations.&lt;br /&gt;
* Prepare a public status update.&lt;br /&gt;
* Verify recovery.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Wrong Restriction ==&lt;br /&gt;
&lt;br /&gt;
The trainer simulates a global restriction affecting innocent bouncer users.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the excessive scope.&lt;br /&gt;
* Recommend immediate correction.&lt;br /&gt;
* Preserve the original record.&lt;br /&gt;
* Notify senior staff.&lt;br /&gt;
* Prepare an affected-user explanation.&lt;br /&gt;
* Propose a narrower replacement.&lt;br /&gt;
&lt;br /&gt;
== Exercise 7: Coordinated Flood ==&lt;br /&gt;
&lt;br /&gt;
During a simulated multi-channel flood, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Report to the incident lead.&lt;br /&gt;
* Identify affected channels and servers.&lt;br /&gt;
* Recommend operator-level containment.&lt;br /&gt;
* Avoid duplicate actions.&lt;br /&gt;
* Record all proposed restrictions.&lt;br /&gt;
* Define recovery and review steps.&lt;br /&gt;
&lt;br /&gt;
= 36. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Channel Argument ==&lt;br /&gt;
&lt;br /&gt;
A user insults a channel operator once. The channel operator asks an IRCOp to permanently ban the user from the network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A normal channel-level response is likely sufficient. Network authority should not be used merely because a channel operator requests disproportionate punishment.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Active Phishing ==&lt;br /&gt;
&lt;br /&gt;
A fake Services nickname is sending credential requests in several channels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Immediate network-level containment may be justified. Disconnect or restrict the malicious connection through authorized procedures, preserve evidence, warn users, and escalate compromised accounts.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared Shell Provider ==&lt;br /&gt;
&lt;br /&gt;
One abusive user connects through a host also used by many legitimate DWShells users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid a broad host restriction where a more precise account, ident, or supported security-based restriction is available. Coordinate with DWShells staff if their infrastructure is relevant.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: OperOverride Request ==&lt;br /&gt;
&lt;br /&gt;
A friend asks an operator to override an invite-only private channel so they can see what is being discussed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Refuse. This is not a valid network purpose and would misuse elevated access.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Persistent Link Failure ==&lt;br /&gt;
&lt;br /&gt;
One server disconnects and reconnects repeatedly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Record the link events, identify affected users, notify IRCd administration, avoid unnecessary user enforcement, and provide an approved operational update.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Wrong Global Ban ==&lt;br /&gt;
&lt;br /&gt;
An operator accidentally applies a network-wide ban to a large shared VPN provider.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Remove or correct the restriction immediately where authorized, notify the incident lead, identify affected legitimate users, preserve the action record, and complete a formal review.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: Compromised Operator ==&lt;br /&gt;
&lt;br /&gt;
An operator account begins issuing unexpected kills while its owner says they are offline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat the account as compromised. Notify senior management immediately, restrict its access through authorized procedures, preserve logs, rotate credentials, and review all actions performed during the suspected compromise.&lt;br /&gt;
&lt;br /&gt;
= 37. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of an IRC operator?&lt;br /&gt;
# Why is operator access not a reward?&lt;br /&gt;
# What is the difference between an IRC operator and an IRCd administrator?&lt;br /&gt;
# What is least-privilege operator access?&lt;br /&gt;
# Under what conditions should operator authentication occur?&lt;br /&gt;
# Why must the NickServ and operator passwords be different?&lt;br /&gt;
# What should happen after unexpected `/OPER` failures?&lt;br /&gt;
# What are server notices?&lt;br /&gt;
# Why should operators subscribe only to relevant notice categories?&lt;br /&gt;
# What user information may be relevant to an abuse investigation?&lt;br /&gt;
# When is an operator investigation improper?&lt;br /&gt;
# Why does a matching host not prove common identity?&lt;br /&gt;
# What does a KILL do?&lt;br /&gt;
# When is a KILL inappropriate?&lt;br /&gt;
# What is the general difference between local and global restrictions?&lt;br /&gt;
# Why are IP-based restrictions risky?&lt;br /&gt;
# What factors determine a network-ban duration?&lt;br /&gt;
# What makes a professional ban reason?&lt;br /&gt;
# What must be verified after applying a restriction?&lt;br /&gt;
# What should be checked before removing a restriction?&lt;br /&gt;
# What is a shun?&lt;br /&gt;
# Why must shuns be documented carefully?&lt;br /&gt;
# What is OperOverride?&lt;br /&gt;
# When must OperOverride not be used?&lt;br /&gt;
# What is the risk of forced mode commands?&lt;br /&gt;
# What information can `/LINKS` or `/MAP` provide?&lt;br /&gt;
# How should an operator respond to a netsplit?&lt;br /&gt;
# Why are SQUIT, REHASH, RESTART, and DIE considered high risk?&lt;br /&gt;
# Who should handle IRCd configuration changes?&lt;br /&gt;
# What is the operator’s role during a connection flood?&lt;br /&gt;
# How should Services failure be handled?&lt;br /&gt;
# Why must server notices remain confidential?&lt;br /&gt;
# What should an operator-action record contain?&lt;br /&gt;
# Why is command coordination important?&lt;br /&gt;
# What should happen after an operator mistake?&lt;br /&gt;
# When might operator access be suspended?&lt;br /&gt;
# Why must an operator disclose a personal conflict?&lt;br /&gt;
# Does completing this module authorize production operator access?&lt;br /&gt;
&lt;br /&gt;
= 38. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;900–1,200 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a coordinated attack, several accounts flood `#DarkWorld`, `#Help`, and `#Support`. Two attackers connect through a VPN also used by twenty legitimate users. A new IRC operator globally bans the entire VPN hostname without checking its scope. Twenty-two users disconnect, including the attackers. Another operator removes the ban without informing anyone, and the attack resumes. A third operator begins issuing repeated KILL commands while no incident lead has been assigned.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Why network-level intervention was justified.&lt;br /&gt;
* Why the global hostname ban was risky.&lt;br /&gt;
* What narrower responses should have been considered.&lt;br /&gt;
* Why removing protection without coordination caused a problem.&lt;br /&gt;
* Why repeated KILL commands were insufficient.&lt;br /&gt;
* How an incident lead should coordinate operators.&lt;br /&gt;
* What evidence should be preserved.&lt;br /&gt;
* How innocent users should be restored.&lt;br /&gt;
* What public message may be appropriate.&lt;br /&gt;
* What operator actions must be recorded.&lt;br /&gt;
* How the restrictions should be reviewed.&lt;br /&gt;
* What training or access review may be necessary afterward.&lt;br /&gt;
&lt;br /&gt;
= 39. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all seven practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;29 of the 38&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate operator credential-security awareness.&lt;br /&gt;
* Correctly distinguish channel and network responses.&lt;br /&gt;
* Select proportionate simulated restrictions.&lt;br /&gt;
* Complete the netsplit and flood simulations.&lt;br /&gt;
* Demonstrate accurate action logging.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
Completion does not guarantee IRC operator appointment.&lt;br /&gt;
&lt;br /&gt;
= 40. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Operator role and authority boundaries&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Credential and session security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| User investigation and privacy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Kill and network-restriction judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Netsplit, flood, and Services response&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Coordination and logging&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Accountability and correction&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;80 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A higher passing score is recommended because operator actions can affect the entire network.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Share or mishandle operator credentials.&lt;br /&gt;
* Use elevated access for personal purposes.&lt;br /&gt;
* Repeatedly choose dangerously broad restrictions.&lt;br /&gt;
* Publicly expose restricted user information.&lt;br /&gt;
* Ignore command scope or duration.&lt;br /&gt;
* Conceal operator actions.&lt;br /&gt;
* Refuse incident coordination.&lt;br /&gt;
* Use dangerous server commands without authorization.&lt;br /&gt;
* Retaliate against users or staff.&lt;br /&gt;
* Treat training completion as automatic authorization.&lt;br /&gt;
&lt;br /&gt;
= 41. Operator Readiness Checklist =&lt;br /&gt;
&lt;br /&gt;
Before a candidate can be considered for operator probation, they should demonstrate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Completed Modules 1–9&lt;br /&gt;
[ ] Passed operator knowledge assessment&lt;br /&gt;
[ ] Passed incident-response simulation&lt;br /&gt;
[ ] Accepted the Staff Code of Conduct&lt;br /&gt;
[ ] Uses secure TLS and SASL&lt;br /&gt;
[ ] Uses unique operator credentials&lt;br /&gt;
[ ] Understands least privilege&lt;br /&gt;
[ ] Can identify shared-host risks&lt;br /&gt;
[ ] Can distinguish channel and network enforcement&lt;br /&gt;
[ ] Can document operator actions&lt;br /&gt;
[ ] Can correct and report mistakes&lt;br /&gt;
[ ] Understands escalation paths&lt;br /&gt;
[ ] Has an assigned mentor&lt;br /&gt;
[ ] Has management approval&lt;br /&gt;
[ ] Has a defined operational role&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 42. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Staff Ethics|Module 10 — Staff Ethics and Security]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Module 10 — Staff Ethics and Security]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Operators]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Operator_Fundamentals&amp;diff=397</id>
		<title>DWIRC:Staff Training/IRC Operator Fundamentals</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Operator_Fundamentals&amp;diff=397"/>
		<updated>2026-08-08T18:07:12Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 9 — IRC Operator Fundamentals}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 9: IRC Operator Fundamentals&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 9 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 5–7 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, command simulations, and incident exercises&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC operator&#039;&#039;&#039;, commonly called an &#039;&#039;&#039;IRCOp&#039;&#039;&#039;, is a trusted network staff member with elevated privileges for protecting and operating the IRC network.&lt;br /&gt;
&lt;br /&gt;
IRC operator privileges may allow a staff member to:&lt;br /&gt;
&lt;br /&gt;
* View operational information.&lt;br /&gt;
* Receive server notices.&lt;br /&gt;
* Investigate network abuse.&lt;br /&gt;
* Disconnect users.&lt;br /&gt;
* Apply network-level restrictions.&lt;br /&gt;
* Assist during floods and attacks.&lt;br /&gt;
* Coordinate across multiple IRC servers.&lt;br /&gt;
* Use approved override capabilities.&lt;br /&gt;
* Support network recovery.&lt;br /&gt;
&lt;br /&gt;
These powers can also disconnect innocent users, block shared networks, expose sensitive connection information, or disrupt IRC services if used incorrectly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This lesson does not grant IRC operator access. Operator access requires a defined operational role, management approval, secure credentials, appropriate permissions, and successful probation.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the purpose and responsibilities of an IRC operator.&lt;br /&gt;
# Distinguish channel moderation from network enforcement.&lt;br /&gt;
# Protect operator credentials.&lt;br /&gt;
# Recognize common operational notices.&lt;br /&gt;
# Collect relevant user and connection information lawfully.&lt;br /&gt;
# Explain kills and network-ban types.&lt;br /&gt;
# Select the smallest appropriate network response.&lt;br /&gt;
# Recognize the risks of host and IP-based restrictions.&lt;br /&gt;
# Understand OperOverride and forced mode operations.&lt;br /&gt;
# Respond safely to netsplits, floods, and Services failures.&lt;br /&gt;
# Record operator actions.&lt;br /&gt;
# Recognize commands reserved for senior administrators.&lt;br /&gt;
# Escalate high-risk network incidents.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of an IRC Operator =&lt;br /&gt;
&lt;br /&gt;
The purpose of an IRC operator is to:&lt;br /&gt;
&lt;br /&gt;
* Protect the IRC network.&lt;br /&gt;
* Respond to network-wide abuse.&lt;br /&gt;
* Assist users and channel staff.&lt;br /&gt;
* Maintain operational stability.&lt;br /&gt;
* Enforce network policies.&lt;br /&gt;
* Coordinate incident response.&lt;br /&gt;
* Protect Services and servers.&lt;br /&gt;
* Apply network restrictions when justified.&lt;br /&gt;
* Document significant actions.&lt;br /&gt;
* Support recovery after incidents.&lt;br /&gt;
&lt;br /&gt;
IRC operator status is not a reward, status symbol, or entitlement.&lt;br /&gt;
&lt;br /&gt;
It is an operational responsibility.&lt;br /&gt;
&lt;br /&gt;
= 2. Channel Operator vs IRC Operator =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! Scope&lt;br /&gt;
! Example responsibilities&lt;br /&gt;
|-&lt;br /&gt;
| Channel operator&lt;br /&gt;
| One or more channels&lt;br /&gt;
| Topics, voice, kicks, channel bans, channel rules&lt;br /&gt;
|-&lt;br /&gt;
| IRC operator&lt;br /&gt;
| IRC network&lt;br /&gt;
| Network abuse, user disconnections, network bans, server notices&lt;br /&gt;
|-&lt;br /&gt;
| Services staff&lt;br /&gt;
| Anope Services&lt;br /&gt;
| Account and registered-channel administration&lt;br /&gt;
|-&lt;br /&gt;
| IRCd administrator&lt;br /&gt;
| IRC server infrastructure&lt;br /&gt;
| Configuration, modules, server links, upgrades&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An IRC operator is not automatically:&lt;br /&gt;
&lt;br /&gt;
* A channel founder.&lt;br /&gt;
* A Services Administrator.&lt;br /&gt;
* An IRCd administrator.&lt;br /&gt;
* A DWShells administrator.&lt;br /&gt;
* A DWBouncers administrator.&lt;br /&gt;
* Authorized to interfere in every channel dispute.&lt;br /&gt;
&lt;br /&gt;
= 3. Least-Privilege Operator Access =&lt;br /&gt;
&lt;br /&gt;
Operator permissions should match the staff member’s assigned role.&lt;br /&gt;
&lt;br /&gt;
Possible permission groups may include:&lt;br /&gt;
&lt;br /&gt;
* Local operator.&lt;br /&gt;
* Global operator.&lt;br /&gt;
* Help operator.&lt;br /&gt;
* Services operator.&lt;br /&gt;
* Network administrator.&lt;br /&gt;
* Root administrator.&lt;br /&gt;
* Specialized abuse or security role.&lt;br /&gt;
&lt;br /&gt;
A local operator may have authority limited to one server.&lt;br /&gt;
&lt;br /&gt;
A global operator may have authority across connected servers.&lt;br /&gt;
&lt;br /&gt;
Actual permissions depend on the current UnrealIRCd configuration and security groups.&lt;br /&gt;
&lt;br /&gt;
Staff must not assume that a title grants every available command.&lt;br /&gt;
&lt;br /&gt;
= 4. Operator Authentication =&lt;br /&gt;
&lt;br /&gt;
IRC operator authentication commonly uses the `/OPER` command or an approved automatic authentication method.&lt;br /&gt;
&lt;br /&gt;
General form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/OPER operator-name password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exact credentials and authentication requirements are defined by the current UnrealIRCd configuration.&lt;br /&gt;
&lt;br /&gt;
Operator authentication should occur only:&lt;br /&gt;
&lt;br /&gt;
* Over verified TLS.&lt;br /&gt;
* From an approved device.&lt;br /&gt;
* Through an approved connection.&lt;br /&gt;
* Using a unique operator credential.&lt;br /&gt;
* After authenticating the normal Services account where required.&lt;br /&gt;
* Without exposing the command in a channel.&lt;br /&gt;
&lt;br /&gt;
== Operator Credential Rules ==&lt;br /&gt;
&lt;br /&gt;
An operator must:&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique password.&lt;br /&gt;
* Never reuse the NickServ password.&lt;br /&gt;
* Never share the operator password.&lt;br /&gt;
* Never send it through IRC messages or email.&lt;br /&gt;
* Avoid storing it in plaintext.&lt;br /&gt;
* Protect client configuration files.&lt;br /&gt;
* Lock or disconnect unattended devices.&lt;br /&gt;
* Report suspected exposure immediately.&lt;br /&gt;
* Follow any certificate or authentication requirements.&lt;br /&gt;
* Remove credentials from retired devices.&lt;br /&gt;
&lt;br /&gt;
= 5. Failed Operator Authentication =&lt;br /&gt;
&lt;br /&gt;
Repeated `/OPER` failures may indicate:&lt;br /&gt;
&lt;br /&gt;
* Incorrect credentials.&lt;br /&gt;
* Wrong operator name.&lt;br /&gt;
* An unauthorized host.&lt;br /&gt;
* Missing Services authentication.&lt;br /&gt;
* Incorrect TLS or certificate state.&lt;br /&gt;
* Outdated client configuration.&lt;br /&gt;
* A compromised or guessed credential.&lt;br /&gt;
* A configuration problem.&lt;br /&gt;
&lt;br /&gt;
Staff must not repeatedly try passwords or ask another operator to share credentials.&lt;br /&gt;
&lt;br /&gt;
The correct response is:&lt;br /&gt;
&lt;br /&gt;
# Stop repeated attempts.&lt;br /&gt;
# Record the exact error.&lt;br /&gt;
# Confirm the correct operator identity privately.&lt;br /&gt;
# Confirm the approved connection requirements.&lt;br /&gt;
# Notify authorized administration if unexpected.&lt;br /&gt;
# Treat unexplained repeated failures as a possible security event.&lt;br /&gt;
&lt;br /&gt;
= 6. Operator Session Security =&lt;br /&gt;
&lt;br /&gt;
Before using operator access:&lt;br /&gt;
&lt;br /&gt;
* Confirm the device is trusted.&lt;br /&gt;
* Confirm the IRC client is updated and securely configured.&lt;br /&gt;
* Confirm TLS certificate verification.&lt;br /&gt;
* Close unnecessary scripts or plugins.&lt;br /&gt;
* Verify the active network and server.&lt;br /&gt;
* Confirm the nickname and Services account.&lt;br /&gt;
* Know how to remove operator status or disconnect safely.&lt;br /&gt;
* Ensure logs are protected.&lt;br /&gt;
&lt;br /&gt;
Do not remain opered unnecessarily on an insecure or unattended device.&lt;br /&gt;
&lt;br /&gt;
= 7. Server Notices =&lt;br /&gt;
&lt;br /&gt;
IRC operators may subscribe to or receive server notices, commonly called &#039;&#039;&#039;snotices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
These may report:&lt;br /&gt;
&lt;br /&gt;
* New connections.&lt;br /&gt;
* Disconnections.&lt;br /&gt;
* Failed operator attempts.&lt;br /&gt;
* Kills.&lt;br /&gt;
* Network bans.&lt;br /&gt;
* Flood activity.&lt;br /&gt;
* Server links.&lt;br /&gt;
* Server disconnections.&lt;br /&gt;
* Services activity.&lt;br /&gt;
* Security events.&lt;br /&gt;
* Override use.&lt;br /&gt;
* Configuration or routing problems.&lt;br /&gt;
&lt;br /&gt;
Notice categories and user modes depend on the UnrealIRCd configuration.&lt;br /&gt;
&lt;br /&gt;
Operators should configure only the notices relevant to their role. Excessive notices may hide important events.&lt;br /&gt;
&lt;br /&gt;
= 8. Operational Information Commands =&lt;br /&gt;
&lt;br /&gt;
Common informational commands may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
| View user information&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOIS nickname nickname`&lt;br /&gt;
| Request additional WHOIS information where available&lt;br /&gt;
|-&lt;br /&gt;
| `/WHO #channel`&lt;br /&gt;
| View channel users&lt;br /&gt;
|-&lt;br /&gt;
| `/USERHOST nickname`&lt;br /&gt;
| View basic connection identity&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOWAS nickname`&lt;br /&gt;
| View limited information about a disconnected nickname&lt;br /&gt;
|-&lt;br /&gt;
| `/LINKS`&lt;br /&gt;
| View linked IRC servers&lt;br /&gt;
|-&lt;br /&gt;
| `/MAP`&lt;br /&gt;
| View a network map where supported&lt;br /&gt;
|-&lt;br /&gt;
| `/LUSERS`&lt;br /&gt;
| View network statistics&lt;br /&gt;
|-&lt;br /&gt;
| `/STATS letter`&lt;br /&gt;
| Request a specific server statistics category&lt;br /&gt;
|-&lt;br /&gt;
| `/VERSION`&lt;br /&gt;
| View server software information&lt;br /&gt;
|-&lt;br /&gt;
| `/TIME`&lt;br /&gt;
| View server time&lt;br /&gt;
|-&lt;br /&gt;
| `/ADMIN`&lt;br /&gt;
| View server administration information&lt;br /&gt;
|-&lt;br /&gt;
| `/MOTD`&lt;br /&gt;
| View the Message of the Day&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Some information is restricted.&lt;br /&gt;
&lt;br /&gt;
Operator-only information must not be copied into public channels without an operational reason and authorization.&lt;br /&gt;
&lt;br /&gt;
= 9. User Investigation Principles =&lt;br /&gt;
&lt;br /&gt;
An operator may need to examine:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Displayed host or cloak.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Connected server.&lt;br /&gt;
* Secure connection status.&lt;br /&gt;
* User modes.&lt;br /&gt;
* Channel presence.&lt;br /&gt;
* Idle time.&lt;br /&gt;
* Connection timing.&lt;br /&gt;
* Relevant authorized logs.&lt;br /&gt;
* Previous related enforcement.&lt;br /&gt;
&lt;br /&gt;
Operators must not investigate users:&lt;br /&gt;
&lt;br /&gt;
* Out of curiosity.&lt;br /&gt;
* Because of a personal disagreement.&lt;br /&gt;
* To discover private information for a friend.&lt;br /&gt;
* To track someone without an operational reason.&lt;br /&gt;
* To expose hidden information publicly.&lt;br /&gt;
* Outside their assigned authority.&lt;br /&gt;
&lt;br /&gt;
Every investigation should have a legitimate network purpose.&lt;br /&gt;
&lt;br /&gt;
= 10. Identification Is Not Certainty =&lt;br /&gt;
&lt;br /&gt;
The following do not independently prove that two connections belong to the same person:&lt;br /&gt;
&lt;br /&gt;
* Matching host.&lt;br /&gt;
* Matching VPN exit.&lt;br /&gt;
* Matching bouncer server.&lt;br /&gt;
* Similar nickname.&lt;br /&gt;
* Similar writing style.&lt;br /&gt;
* Shared channel membership.&lt;br /&gt;
* Same country.&lt;br /&gt;
* Similar connection time.&lt;br /&gt;
&lt;br /&gt;
Evidence may be combined, but staff must distinguish strong evidence from assumptions.&lt;br /&gt;
&lt;br /&gt;
Shared systems may include:&lt;br /&gt;
&lt;br /&gt;
* VPNs.&lt;br /&gt;
* IRC bouncers.&lt;br /&gt;
* Shell providers.&lt;br /&gt;
* Webchat gateways.&lt;br /&gt;
* Mobile carriers.&lt;br /&gt;
* Universities.&lt;br /&gt;
* Workplaces.&lt;br /&gt;
* Residential networks.&lt;br /&gt;
* Relays.&lt;br /&gt;
&lt;br /&gt;
= 11. User Kills =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;KILL&#039;&#039;&#039; forcibly disconnects a user from the IRC network.&lt;br /&gt;
&lt;br /&gt;
General syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KILL nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KILL ExampleNick Active multi-channel flooding&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exact syntax and permissions must be verified through current server help.&lt;br /&gt;
&lt;br /&gt;
A kill:&lt;br /&gt;
&lt;br /&gt;
* Ends the current connection.&lt;br /&gt;
* Does not necessarily prevent reconnection.&lt;br /&gt;
* May affect a bouncer or automated client.&lt;br /&gt;
* Should include a clear operational reason.&lt;br /&gt;
* Must be recorded when significant.&lt;br /&gt;
&lt;br /&gt;
A kill may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* Active abuse must stop immediately.&lt;br /&gt;
* A user is flooding multiple channels.&lt;br /&gt;
* A malicious client is attacking users.&lt;br /&gt;
* A phishing identity is actively collecting credentials.&lt;br /&gt;
* A compromised bot is spreading harmful content.&lt;br /&gt;
* A user must be disconnected before a restriction is applied.&lt;br /&gt;
&lt;br /&gt;
A kill must not be used:&lt;br /&gt;
&lt;br /&gt;
* As a joke.&lt;br /&gt;
* To remove someone from only one channel.&lt;br /&gt;
* To win a personal disagreement.&lt;br /&gt;
* To punish criticism.&lt;br /&gt;
* When a channel kick is sufficient.&lt;br /&gt;
* Without checking the correct nickname.&lt;br /&gt;
&lt;br /&gt;
= 12. Network Bans =&lt;br /&gt;
&lt;br /&gt;
A network ban prevents matching connections from using the IRC network.&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide several restriction types. Exact syntax and behavior must be verified with the current server configuration and `/HELPOP`.&lt;br /&gt;
&lt;br /&gt;
Possible types include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Restriction&lt;br /&gt;
! General purpose&lt;br /&gt;
! Main risk&lt;br /&gt;
|-&lt;br /&gt;
| K-line&lt;br /&gt;
| Restricts a user or host, often on one server&lt;br /&gt;
| Scope may differ by server&lt;br /&gt;
|-&lt;br /&gt;
| G-line&lt;br /&gt;
| Network-wide user or host restriction&lt;br /&gt;
| May affect many users&lt;br /&gt;
|-&lt;br /&gt;
| Z-line&lt;br /&gt;
| IP-based restriction, often processed early&lt;br /&gt;
| Can block shared addresses&lt;br /&gt;
|-&lt;br /&gt;
| Global Z-line&lt;br /&gt;
| Network-wide IP-based restriction&lt;br /&gt;
| Very broad operational effect&lt;br /&gt;
|-&lt;br /&gt;
| Shun&lt;br /&gt;
| Silently restricts many user commands&lt;br /&gt;
| User may remain connected without understanding why&lt;br /&gt;
|-&lt;br /&gt;
| Temporary shun&lt;br /&gt;
| Temporary command restriction&lt;br /&gt;
| Must be reviewed and documented&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Terminology, propagation, matching, and duration syntax depend on the deployed UnrealIRCd version.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Before using any network restriction, verify the current syntax with `/HELPOP`, confirm the target and duration, and check how many legitimate users may match.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 13. Choosing a Network Restriction =&lt;br /&gt;
&lt;br /&gt;
Before applying a restriction, determine:&lt;br /&gt;
&lt;br /&gt;
# What behavior must be stopped?&lt;br /&gt;
# Is the behavior still active?&lt;br /&gt;
# Is disconnecting the current user sufficient?&lt;br /&gt;
# Is a channel restriction sufficient?&lt;br /&gt;
# What identity information is reliable?&lt;br /&gt;
# Is the IP or host shared?&lt;br /&gt;
# Is an account-based response available?&lt;br /&gt;
# Should the action be local or network-wide?&lt;br /&gt;
# What duration is proportionate?&lt;br /&gt;
# Could legitimate DWShells, DWBouncers, VPN, or gateway users be affected?&lt;br /&gt;
# Do you have authority?&lt;br /&gt;
# Is senior approval required?&lt;br /&gt;
# What is the rollback procedure?&lt;br /&gt;
&lt;br /&gt;
The smallest effective restriction is usually preferred.&lt;br /&gt;
&lt;br /&gt;
= 14. Ban Duration =&lt;br /&gt;
&lt;br /&gt;
A restriction may be:&lt;br /&gt;
&lt;br /&gt;
* Very short for immediate containment.&lt;br /&gt;
* Temporary pending investigation.&lt;br /&gt;
* Time-limited for a confirmed violation.&lt;br /&gt;
* Extended after repeated evasion.&lt;br /&gt;
* Indefinite or permanent with appropriate senior approval.&lt;br /&gt;
&lt;br /&gt;
The duration should reflect:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Intent.&lt;br /&gt;
* Previous relevant behavior.&lt;br /&gt;
* Impact.&lt;br /&gt;
* Likelihood of recurrence.&lt;br /&gt;
* Risk to innocent users.&lt;br /&gt;
* Whether the identity is reliable.&lt;br /&gt;
* Whether appeal or review is pending.&lt;br /&gt;
&lt;br /&gt;
Operators must understand the current time format used by UnrealIRCd before entering a duration.&lt;br /&gt;
&lt;br /&gt;
= 15. Ban Reasons =&lt;br /&gt;
&lt;br /&gt;
A network-ban reason should be:&lt;br /&gt;
&lt;br /&gt;
* Factual.&lt;br /&gt;
* Concise.&lt;br /&gt;
* Professional.&lt;br /&gt;
* Related to policy or conduct.&lt;br /&gt;
* Useful to other staff.&lt;br /&gt;
* Free from unnecessary private information.&lt;br /&gt;
&lt;br /&gt;
Good examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Active multi-channel flooding&lt;br /&gt;
Repeated unsolicited network recruitment after warning&lt;br /&gt;
Credential phishing through Services impersonation&lt;br /&gt;
Ban evasion during active abuse incident&lt;br /&gt;
Malicious bot distributing harmful links&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bad user&lt;br /&gt;
Annoying&lt;br /&gt;
Go away&lt;br /&gt;
You know why&lt;br /&gt;
Staff decision&lt;br /&gt;
Personal dispute&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where an internal case reference exists, it may be included according to policy without exposing confidential details.&lt;br /&gt;
&lt;br /&gt;
= 16. Confirming a Restriction =&lt;br /&gt;
&lt;br /&gt;
After applying a network restriction:&lt;br /&gt;
&lt;br /&gt;
# Confirm that the command succeeded.&lt;br /&gt;
# Confirm the intended target matched.&lt;br /&gt;
# Confirm the restriction propagated as expected.&lt;br /&gt;
# Check whether innocent users were disconnected.&lt;br /&gt;
# Record the exact entry.&lt;br /&gt;
# Record the time and duration.&lt;br /&gt;
# Record the reason.&lt;br /&gt;
# Set a review time.&lt;br /&gt;
# Notify the incident lead.&lt;br /&gt;
# Correct errors immediately.&lt;br /&gt;
&lt;br /&gt;
Never assume a restriction worked simply because the command was entered.&lt;br /&gt;
&lt;br /&gt;
= 17. Removing a Network Restriction =&lt;br /&gt;
&lt;br /&gt;
Before removal:&lt;br /&gt;
&lt;br /&gt;
* Confirm the exact restriction type.&lt;br /&gt;
* Confirm the exact mask or target.&lt;br /&gt;
* Review the original reason.&lt;br /&gt;
* Check whether the incident remains active.&lt;br /&gt;
* Confirm authorization.&lt;br /&gt;
* Determine whether another protection is required.&lt;br /&gt;
* Record the removal and reason.&lt;br /&gt;
&lt;br /&gt;
Do not remove a restriction merely because the affected user is a friend or complains persistently.&lt;br /&gt;
&lt;br /&gt;
Do not leave incorrect restrictions active to avoid admitting a mistake.&lt;br /&gt;
&lt;br /&gt;
= 18. Shuns =&lt;br /&gt;
&lt;br /&gt;
A shun may leave a user connected while preventing many commands or messages.&lt;br /&gt;
&lt;br /&gt;
Because the user may receive limited feedback, shuns require careful use.&lt;br /&gt;
&lt;br /&gt;
A shun may be considered for:&lt;br /&gt;
&lt;br /&gt;
* Certain active flooding behavior.&lt;br /&gt;
* Automated malicious commands.&lt;br /&gt;
* Temporary containment during investigation.&lt;br /&gt;
* Situations where immediate disconnection is less useful.&lt;br /&gt;
&lt;br /&gt;
Risks include:&lt;br /&gt;
&lt;br /&gt;
* Confusing affected users.&lt;br /&gt;
* Hiding the action from ordinary channel staff.&lt;br /&gt;
* Leaving legitimate users unable to communicate.&lt;br /&gt;
* Forgetting a temporary restriction.&lt;br /&gt;
* Applying it to a shared identity.&lt;br /&gt;
&lt;br /&gt;
Shuns must be documented and reviewed.&lt;br /&gt;
&lt;br /&gt;
= 19. OperOverride =&lt;br /&gt;
&lt;br /&gt;
OperOverride allows an authorized IRC operator to bypass certain normal channel restrictions.&lt;br /&gt;
&lt;br /&gt;
It may permit actions such as:&lt;br /&gt;
&lt;br /&gt;
* Joining a restricted channel.&lt;br /&gt;
* Acting despite channel access limitations.&lt;br /&gt;
* Performing authorized emergency intervention.&lt;br /&gt;
* Investigating a serious network incident.&lt;br /&gt;
&lt;br /&gt;
OperOverride must be used only when:&lt;br /&gt;
&lt;br /&gt;
* There is a valid network-level purpose.&lt;br /&gt;
* Normal procedures are insufficient.&lt;br /&gt;
* The operator has authority.&lt;br /&gt;
* The action is proportionate.&lt;br /&gt;
* The use is documented.&lt;br /&gt;
* Confidentiality is maintained.&lt;br /&gt;
&lt;br /&gt;
It must not be used:&lt;br /&gt;
&lt;br /&gt;
* To enter private channels out of curiosity.&lt;br /&gt;
* To monitor personal conversations.&lt;br /&gt;
* To bypass a channel founder during an argument.&lt;br /&gt;
* To obtain channel operator status for convenience.&lt;br /&gt;
* To assist a friend in a private dispute.&lt;br /&gt;
* To avoid the Services ownership process.&lt;br /&gt;
&lt;br /&gt;
= 20. SAMODE and Forced Channel Actions =&lt;br /&gt;
&lt;br /&gt;
`SAMODE` or equivalent administrative capabilities may force user or channel mode changes.&lt;br /&gt;
&lt;br /&gt;
These are elevated powers.&lt;br /&gt;
&lt;br /&gt;
Possible legitimate uses include:&lt;br /&gt;
&lt;br /&gt;
* Emergency network protection.&lt;br /&gt;
* Correcting a severe mode-lock situation.&lt;br /&gt;
* Containing active abuse.&lt;br /&gt;
* Restoring a network-managed channel.&lt;br /&gt;
* Carrying out an authorized administrative decision.&lt;br /&gt;
&lt;br /&gt;
Risks include:&lt;br /&gt;
&lt;br /&gt;
* Overriding legitimate channel ownership.&lt;br /&gt;
* Removing critical protection.&lt;br /&gt;
* Affecting many users.&lt;br /&gt;
* Concealing who initiated the change.&lt;br /&gt;
* Creating conflict with Services.&lt;br /&gt;
* Using the wrong target or parameter.&lt;br /&gt;
&lt;br /&gt;
Trainees should learn the concept but must not execute forced mode commands in production.&lt;br /&gt;
&lt;br /&gt;
= 21. Server Routing and Topology =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC consists of linked servers.&lt;br /&gt;
&lt;br /&gt;
Operators should understand:&lt;br /&gt;
&lt;br /&gt;
* Users connect through individual servers.&lt;br /&gt;
* Channels and messages are shared across the network.&lt;br /&gt;
* Services may connect through a dedicated server.&lt;br /&gt;
* A server link can fail.&lt;br /&gt;
* A server may reconnect and synchronize.&lt;br /&gt;
* Round-robin DNS may direct users to different servers.&lt;br /&gt;
* A local problem may affect only one server.&lt;br /&gt;
* A split may affect a portion of the network.&lt;br /&gt;
&lt;br /&gt;
Useful commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/LINKS&lt;br /&gt;
/MAP&lt;br /&gt;
/LUSERS&lt;br /&gt;
/WHOIS nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Availability depends on permissions and current configuration.&lt;br /&gt;
&lt;br /&gt;
= 22. Netsplits =&lt;br /&gt;
&lt;br /&gt;
A netsplit occurs when linked IRC servers lose communication.&lt;br /&gt;
&lt;br /&gt;
Signs include:&lt;br /&gt;
&lt;br /&gt;
* Many users quitting together.&lt;br /&gt;
* Server names appearing in quit reasons.&lt;br /&gt;
* One region or server becoming unreachable.&lt;br /&gt;
* Channels temporarily separating.&lt;br /&gt;
* Users returning together after reconnection.&lt;br /&gt;
* Server-link notices.&lt;br /&gt;
&lt;br /&gt;
Operators should:&lt;br /&gt;
&lt;br /&gt;
# Identify the affected server or link.&lt;br /&gt;
# Record the time.&lt;br /&gt;
# Check authorized server notices.&lt;br /&gt;
# Avoid unnecessary user bans.&lt;br /&gt;
# Avoid treating returning users as a raid without evidence.&lt;br /&gt;
# Notify network operations.&lt;br /&gt;
# Allow synchronization after reconnection.&lt;br /&gt;
# Verify Services and channel state.&lt;br /&gt;
# Provide an approved status update.&lt;br /&gt;
# Document persistent instability.&lt;br /&gt;
&lt;br /&gt;
= 23. Server-Link Commands =&lt;br /&gt;
&lt;br /&gt;
Commands that disconnect, reconnect, restart, or terminate IRC servers are dangerous.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* Server-connect commands.&lt;br /&gt;
* Server-disconnect commands.&lt;br /&gt;
* SQUIT.&lt;br /&gt;
* REHASH.&lt;br /&gt;
* RESTART.&lt;br /&gt;
* DIE.&lt;br /&gt;
&lt;br /&gt;
These commands can affect hundreds of users and the entire network.&lt;br /&gt;
&lt;br /&gt;
They belong to the IRCd Administration specialist program and must not be used by general trainees.&lt;br /&gt;
&lt;br /&gt;
= 24. Rehashing =&lt;br /&gt;
&lt;br /&gt;
A rehash reloads IRCd configuration.&lt;br /&gt;
&lt;br /&gt;
An incorrect or unauthorized rehash may:&lt;br /&gt;
&lt;br /&gt;
* Activate a broken configuration.&lt;br /&gt;
* Remove required settings.&lt;br /&gt;
* Change security controls.&lt;br /&gt;
* Affect server links.&lt;br /&gt;
* Load unintended modules.&lt;br /&gt;
* Produce partial configuration behavior.&lt;br /&gt;
* Disrupt users.&lt;br /&gt;
&lt;br /&gt;
General IRC operators should report configuration issues to authorized IRCd administrators.&lt;br /&gt;
&lt;br /&gt;
Knowing that `/REHASH` exists does not authorize its use.&lt;br /&gt;
&lt;br /&gt;
= 25. Flood and Raid Response =&lt;br /&gt;
&lt;br /&gt;
When an attack affects several channels or servers:&lt;br /&gt;
&lt;br /&gt;
# Confirm the scope.&lt;br /&gt;
# Assign an incident lead.&lt;br /&gt;
# Protect affected channels.&lt;br /&gt;
# Collect connection and timing information.&lt;br /&gt;
# Apply authorized targeted restrictions.&lt;br /&gt;
# Coordinate with IRCd operations.&lt;br /&gt;
# Avoid independently applying overlapping broad bans.&lt;br /&gt;
# Monitor for changing sources.&lt;br /&gt;
# Communicate approved updates.&lt;br /&gt;
# Record every emergency action.&lt;br /&gt;
# Review and remove temporary controls.&lt;br /&gt;
&lt;br /&gt;
A flood may move between:&lt;br /&gt;
&lt;br /&gt;
* Nicknames.&lt;br /&gt;
* Accounts.&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* IPv4 and IPv6.&lt;br /&gt;
* VPN services.&lt;br /&gt;
* Proxies.&lt;br /&gt;
* Bouncers.&lt;br /&gt;
* Servers.&lt;br /&gt;
* Channels.&lt;br /&gt;
&lt;br /&gt;
Operators should focus on behavior and verified technical evidence, not nationality or unsupported assumptions.&lt;br /&gt;
&lt;br /&gt;
= 26. Connection Floods and IRCd Protection =&lt;br /&gt;
&lt;br /&gt;
Network connection floods may require IRCd-level controls such as:&lt;br /&gt;
&lt;br /&gt;
* Connection throttling.&lt;br /&gt;
* Reputation-based restrictions.&lt;br /&gt;
* Server-level flood protection.&lt;br /&gt;
* Temporary configuration includes.&lt;br /&gt;
* Proxy scanning.&lt;br /&gt;
* Firewall or upstream mitigation.&lt;br /&gt;
&lt;br /&gt;
These controls belong to authorized IRCd, security, or infrastructure staff.&lt;br /&gt;
&lt;br /&gt;
An IRC operator should:&lt;br /&gt;
&lt;br /&gt;
* Record the connection pattern.&lt;br /&gt;
* Identify affected servers.&lt;br /&gt;
* Provide accurate counts where possible.&lt;br /&gt;
* Preserve server notices.&lt;br /&gt;
* Apply only authorized operator-level containment.&lt;br /&gt;
* Escalate infrastructure changes.&lt;br /&gt;
&lt;br /&gt;
= 27. Services Failures =&lt;br /&gt;
&lt;br /&gt;
When Services are unavailable:&lt;br /&gt;
&lt;br /&gt;
* NickServ identification may fail.&lt;br /&gt;
* SASL may fail.&lt;br /&gt;
* ChanServ may disappear.&lt;br /&gt;
* Channel status may not be restored.&lt;br /&gt;
* HostServ vhosts may not be applied.&lt;br /&gt;
* Registered nickname protection may be unavailable.&lt;br /&gt;
&lt;br /&gt;
Operators should:&lt;br /&gt;
&lt;br /&gt;
# Confirm whether Services are connected.&lt;br /&gt;
# Record the start time.&lt;br /&gt;
# Notify Services administrators.&lt;br /&gt;
# Avoid unnecessary founder or access changes.&lt;br /&gt;
# Protect official channels temporarily where needed.&lt;br /&gt;
# Allow synchronization after Services return.&lt;br /&gt;
# Verify important channel modes and access.&lt;br /&gt;
# Communicate accurately.&lt;br /&gt;
&lt;br /&gt;
= 28. Server Notice Privacy =&lt;br /&gt;
&lt;br /&gt;
Operator notices may reveal:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hidden host information.&lt;br /&gt;
* Connection details.&lt;br /&gt;
* Authentication events.&lt;br /&gt;
* Ban reasons.&lt;br /&gt;
* Staff actions.&lt;br /&gt;
* Server topology.&lt;br /&gt;
* Security controls.&lt;br /&gt;
&lt;br /&gt;
This information must remain within the authorized operational context.&lt;br /&gt;
&lt;br /&gt;
Do not paste raw server notices into:&lt;br /&gt;
&lt;br /&gt;
* Public channels.&lt;br /&gt;
* Public websites.&lt;br /&gt;
* Unrestricted project channels.&lt;br /&gt;
* External communities.&lt;br /&gt;
* Personal social-media accounts.&lt;br /&gt;
&lt;br /&gt;
= 29. Operator Action Logging =&lt;br /&gt;
&lt;br /&gt;
Significant operator actions should be logged.&lt;br /&gt;
&lt;br /&gt;
Use a format such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Operator:&lt;br /&gt;
Incident reference:&lt;br /&gt;
Target nickname:&lt;br /&gt;
Registered account:&lt;br /&gt;
Visible mask:&lt;br /&gt;
Affected server:&lt;br /&gt;
Command category:&lt;br /&gt;
Action:&lt;br /&gt;
Scope:&lt;br /&gt;
Duration:&lt;br /&gt;
Reason:&lt;br /&gt;
Evidence:&lt;br /&gt;
Authorization:&lt;br /&gt;
Users affected:&lt;br /&gt;
Result:&lt;br /&gt;
Review time:&lt;br /&gt;
Follow-up:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not store operator passwords or authentication commands in action records.&lt;br /&gt;
&lt;br /&gt;
= 30. High-Risk Command Checklist =&lt;br /&gt;
&lt;br /&gt;
Before using a high-impact operator command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. Am I connected to the correct network?&lt;br /&gt;
2. Am I targeting the correct nickname, host, IP, or server?&lt;br /&gt;
3. Is the evidence sufficient?&lt;br /&gt;
4. Is the incident still active?&lt;br /&gt;
5. Is a channel-level response sufficient?&lt;br /&gt;
6. What is the narrowest effective scope?&lt;br /&gt;
7. Could the target be shared?&lt;br /&gt;
8. Is the duration correct?&lt;br /&gt;
9. Do I have authority?&lt;br /&gt;
10. Is senior approval required?&lt;br /&gt;
11. Is another operator already acting?&lt;br /&gt;
12. How will I verify success?&lt;br /&gt;
13. How will I reverse the action?&lt;br /&gt;
14. Where will I record it?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the action is not urgent, pause and verify before sending it.&lt;br /&gt;
&lt;br /&gt;
= 31. Command Coordination =&lt;br /&gt;
&lt;br /&gt;
During an active incident, multiple operators may otherwise:&lt;br /&gt;
&lt;br /&gt;
* Apply duplicate bans.&lt;br /&gt;
* Use conflicting masks.&lt;br /&gt;
* Repeatedly kill the same reconnecting user.&lt;br /&gt;
* Remove each other’s restrictions.&lt;br /&gt;
* Apply overlapping broad actions.&lt;br /&gt;
* Confuse channel staff.&lt;br /&gt;
* Lose track of temporary controls.&lt;br /&gt;
&lt;br /&gt;
The incident lead should coordinate:&lt;br /&gt;
&lt;br /&gt;
* Who investigates.&lt;br /&gt;
* Who applies restrictions.&lt;br /&gt;
* Who records actions.&lt;br /&gt;
* Who communicates publicly.&lt;br /&gt;
* Who reviews the results.&lt;br /&gt;
&lt;br /&gt;
= 32. Operator Mistakes =&lt;br /&gt;
&lt;br /&gt;
If an operator:&lt;br /&gt;
&lt;br /&gt;
* Kills the wrong user.&lt;br /&gt;
* Applies the wrong mask.&lt;br /&gt;
* Blocks a shared provider.&lt;br /&gt;
* Sets the wrong duration.&lt;br /&gt;
* Uses the wrong restriction type.&lt;br /&gt;
* Exposes private information.&lt;br /&gt;
* Applies an unauthorized override.&lt;br /&gt;
&lt;br /&gt;
They must:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct or remove the action.&lt;br /&gt;
# Restore affected access where possible.&lt;br /&gt;
# Notify the incident lead or senior staff.&lt;br /&gt;
# Preserve the original log.&lt;br /&gt;
# Record the correction.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Participate in review.&lt;br /&gt;
# Complete additional training if required.&lt;br /&gt;
&lt;br /&gt;
Concealing an operator mistake is more serious than honestly reporting and correcting it.&lt;br /&gt;
&lt;br /&gt;
= 33. Operator Conduct =&lt;br /&gt;
&lt;br /&gt;
IRC operators must:&lt;br /&gt;
&lt;br /&gt;
* Remain professional.&lt;br /&gt;
* Be visibly accountable for actions.&lt;br /&gt;
* Avoid threats and intimidation.&lt;br /&gt;
* Follow policy.&lt;br /&gt;
* Respect channel autonomy.&lt;br /&gt;
* Protect confidential data.&lt;br /&gt;
* Cooperate with other staff.&lt;br /&gt;
* Accept review.&lt;br /&gt;
* Avoid public staff arguments.&lt;br /&gt;
* Declare conflicts of interest.&lt;br /&gt;
* Step back when personally involved.&lt;br /&gt;
&lt;br /&gt;
Operator status does not place a person above DarkWorld rules.&lt;br /&gt;
&lt;br /&gt;
= 34. Temporary Removal of Operator Access =&lt;br /&gt;
&lt;br /&gt;
Operator access may need to be suspended when:&lt;br /&gt;
&lt;br /&gt;
* Credentials are exposed.&lt;br /&gt;
* A device is compromised.&lt;br /&gt;
* The operator repeatedly acts unsafely.&lt;br /&gt;
* A serious misconduct investigation is active.&lt;br /&gt;
* The operator is inactive for an extended period.&lt;br /&gt;
* Their role no longer requires access.&lt;br /&gt;
* Management determines that network safety requires suspension.&lt;br /&gt;
&lt;br /&gt;
Temporary suspension is a protective measure and does not by itself establish misconduct.&lt;br /&gt;
&lt;br /&gt;
= 35. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
These exercises must use simulations, a training environment, or trainer-approved test identities. Candidates must not apply production network bans.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Operator Security Review ==&lt;br /&gt;
&lt;br /&gt;
Prepare a checklist covering:&lt;br /&gt;
&lt;br /&gt;
* TLS.&lt;br /&gt;
* Device security.&lt;br /&gt;
* Password storage.&lt;br /&gt;
* Client scripts.&lt;br /&gt;
* Automatic `/OPER`.&lt;br /&gt;
* Logs.&lt;br /&gt;
* Session locking.&lt;br /&gt;
* Credential rotation.&lt;br /&gt;
* Compromise reporting.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: User Investigation ==&lt;br /&gt;
&lt;br /&gt;
Using trainer-provided simulated WHOIS and notice data:&lt;br /&gt;
&lt;br /&gt;
* Identify confirmed account information.&lt;br /&gt;
* Identify the connected server.&lt;br /&gt;
* Identify displayed connection information.&lt;br /&gt;
* Separate facts from assumptions.&lt;br /&gt;
* Recommend whether further investigation is justified.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Kill Decision ==&lt;br /&gt;
&lt;br /&gt;
For each simulated case, decide whether a kill is appropriate:&lt;br /&gt;
&lt;br /&gt;
* Minor off-topic discussion.&lt;br /&gt;
* Active phishing.&lt;br /&gt;
* Single-channel flooding.&lt;br /&gt;
* Multi-channel automated flooding.&lt;br /&gt;
* Respectful criticism of staff.&lt;br /&gt;
* Malicious bot distribution.&lt;br /&gt;
&lt;br /&gt;
Explain whether a kick, kill, ban, or no action is most appropriate.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Network-Ban Selection ==&lt;br /&gt;
&lt;br /&gt;
Given several simulated masks:&lt;br /&gt;
&lt;br /&gt;
* Choose local or global scope.&lt;br /&gt;
* Identify shared-host risks.&lt;br /&gt;
* Select a duration.&lt;br /&gt;
* Write a professional reason.&lt;br /&gt;
* Explain how the restriction would be reviewed.&lt;br /&gt;
* Do not execute the command.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Netsplit ==&lt;br /&gt;
&lt;br /&gt;
The trainer simulates a server split.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the likely split.&lt;br /&gt;
* Record the affected server and time.&lt;br /&gt;
* Avoid treating returning users as attackers.&lt;br /&gt;
* Notify operations.&lt;br /&gt;
* Prepare a public status update.&lt;br /&gt;
* Verify recovery.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Wrong Restriction ==&lt;br /&gt;
&lt;br /&gt;
The trainer simulates a global restriction affecting innocent bouncer users.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the excessive scope.&lt;br /&gt;
* Recommend immediate correction.&lt;br /&gt;
* Preserve the original record.&lt;br /&gt;
* Notify senior staff.&lt;br /&gt;
* Prepare an affected-user explanation.&lt;br /&gt;
* Propose a narrower replacement.&lt;br /&gt;
&lt;br /&gt;
== Exercise 7: Coordinated Flood ==&lt;br /&gt;
&lt;br /&gt;
During a simulated multi-channel flood, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Report to the incident lead.&lt;br /&gt;
* Identify affected channels and servers.&lt;br /&gt;
* Recommend operator-level containment.&lt;br /&gt;
* Avoid duplicate actions.&lt;br /&gt;
* Record all proposed restrictions.&lt;br /&gt;
* Define recovery and review steps.&lt;br /&gt;
&lt;br /&gt;
= 36. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Channel Argument ==&lt;br /&gt;
&lt;br /&gt;
A user insults a channel operator once. The channel operator asks an IRCOp to permanently ban the user from the network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A normal channel-level response is likely sufficient. Network authority should not be used merely because a channel operator requests disproportionate punishment.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Active Phishing ==&lt;br /&gt;
&lt;br /&gt;
A fake Services nickname is sending credential requests in several channels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Immediate network-level containment may be justified. Disconnect or restrict the malicious connection through authorized procedures, preserve evidence, warn users, and escalate compromised accounts.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared Shell Provider ==&lt;br /&gt;
&lt;br /&gt;
One abusive user connects through a host also used by many legitimate DWShells users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid a broad host restriction where a more precise account, ident, or supported security-based restriction is available. Coordinate with DWShells staff if their infrastructure is relevant.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: OperOverride Request ==&lt;br /&gt;
&lt;br /&gt;
A friend asks an operator to override an invite-only private channel so they can see what is being discussed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Refuse. This is not a valid network purpose and would misuse elevated access.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Persistent Link Failure ==&lt;br /&gt;
&lt;br /&gt;
One server disconnects and reconnects repeatedly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Record the link events, identify affected users, notify IRCd administration, avoid unnecessary user enforcement, and provide an approved operational update.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Wrong Global Ban ==&lt;br /&gt;
&lt;br /&gt;
An operator accidentally applies a network-wide ban to a large shared VPN provider.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Remove or correct the restriction immediately where authorized, notify the incident lead, identify affected legitimate users, preserve the action record, and complete a formal review.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: Compromised Operator ==&lt;br /&gt;
&lt;br /&gt;
An operator account begins issuing unexpected kills while its owner says they are offline.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat the account as compromised. Notify senior management immediately, restrict its access through authorized procedures, preserve logs, rotate credentials, and review all actions performed during the suspected compromise.&lt;br /&gt;
&lt;br /&gt;
= 37. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of an IRC operator?&lt;br /&gt;
# Why is operator access not a reward?&lt;br /&gt;
# What is the difference between an IRC operator and an IRCd administrator?&lt;br /&gt;
# What is least-privilege operator access?&lt;br /&gt;
# Under what conditions should operator authentication occur?&lt;br /&gt;
# Why must the NickServ and operator passwords be different?&lt;br /&gt;
# What should happen after unexpected `/OPER` failures?&lt;br /&gt;
# What are server notices?&lt;br /&gt;
# Why should operators subscribe only to relevant notice categories?&lt;br /&gt;
# What user information may be relevant to an abuse investigation?&lt;br /&gt;
# When is an operator investigation improper?&lt;br /&gt;
# Why does a matching host not prove common identity?&lt;br /&gt;
# What does a KILL do?&lt;br /&gt;
# When is a KILL inappropriate?&lt;br /&gt;
# What is the general difference between local and global restrictions?&lt;br /&gt;
# Why are IP-based restrictions risky?&lt;br /&gt;
# What factors determine a network-ban duration?&lt;br /&gt;
# What makes a professional ban reason?&lt;br /&gt;
# What must be verified after applying a restriction?&lt;br /&gt;
# What should be checked before removing a restriction?&lt;br /&gt;
# What is a shun?&lt;br /&gt;
# Why must shuns be documented carefully?&lt;br /&gt;
# What is OperOverride?&lt;br /&gt;
# When must OperOverride not be used?&lt;br /&gt;
# What is the risk of forced mode commands?&lt;br /&gt;
# What information can `/LINKS` or `/MAP` provide?&lt;br /&gt;
# How should an operator respond to a netsplit?&lt;br /&gt;
# Why are SQUIT, REHASH, RESTART, and DIE considered high risk?&lt;br /&gt;
# Who should handle IRCd configuration changes?&lt;br /&gt;
# What is the operator’s role during a connection flood?&lt;br /&gt;
# How should Services failure be handled?&lt;br /&gt;
# Why must server notices remain confidential?&lt;br /&gt;
# What should an operator-action record contain?&lt;br /&gt;
# Why is command coordination important?&lt;br /&gt;
# What should happen after an operator mistake?&lt;br /&gt;
# When might operator access be suspended?&lt;br /&gt;
# Why must an operator disclose a personal conflict?&lt;br /&gt;
# Does completing this module authorize production operator access?&lt;br /&gt;
&lt;br /&gt;
= 38. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;900–1,200 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a coordinated attack, several accounts flood `#DarkWorld`, `#Help`, and `#Support`. Two attackers connect through a VPN also used by twenty legitimate users. A new IRC operator globally bans the entire VPN hostname without checking its scope. Twenty-two users disconnect, including the attackers. Another operator removes the ban without informing anyone, and the attack resumes. A third operator begins issuing repeated KILL commands while no incident lead has been assigned.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Why network-level intervention was justified.&lt;br /&gt;
* Why the global hostname ban was risky.&lt;br /&gt;
* What narrower responses should have been considered.&lt;br /&gt;
* Why removing protection without coordination caused a problem.&lt;br /&gt;
* Why repeated KILL commands were insufficient.&lt;br /&gt;
* How an incident lead should coordinate operators.&lt;br /&gt;
* What evidence should be preserved.&lt;br /&gt;
* How innocent users should be restored.&lt;br /&gt;
* What public message may be appropriate.&lt;br /&gt;
* What operator actions must be recorded.&lt;br /&gt;
* How the restrictions should be reviewed.&lt;br /&gt;
* What training or access review may be necessary afterward.&lt;br /&gt;
&lt;br /&gt;
= 39. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all seven practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;29 of the 38&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate operator credential-security awareness.&lt;br /&gt;
* Correctly distinguish channel and network responses.&lt;br /&gt;
* Select proportionate simulated restrictions.&lt;br /&gt;
* Complete the netsplit and flood simulations.&lt;br /&gt;
* Demonstrate accurate action logging.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
Completion does not guarantee IRC operator appointment.&lt;br /&gt;
&lt;br /&gt;
= 40. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Operator role and authority boundaries&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Credential and session security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| User investigation and privacy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Kill and network-restriction judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Netsplit, flood, and Services response&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Coordination and logging&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Accountability and correction&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;80 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A higher passing score is recommended because operator actions can affect the entire network.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Share or mishandle operator credentials.&lt;br /&gt;
* Use elevated access for personal purposes.&lt;br /&gt;
* Repeatedly choose dangerously broad restrictions.&lt;br /&gt;
* Publicly expose restricted user information.&lt;br /&gt;
* Ignore command scope or duration.&lt;br /&gt;
* Conceal operator actions.&lt;br /&gt;
* Refuse incident coordination.&lt;br /&gt;
* Use dangerous server commands without authorization.&lt;br /&gt;
* Retaliate against users or staff.&lt;br /&gt;
* Treat training completion as automatic authorization.&lt;br /&gt;
&lt;br /&gt;
= 41. Operator Readiness Checklist =&lt;br /&gt;
&lt;br /&gt;
Before a candidate can be considered for operator probation, they should demonstrate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ ] Completed Modules 1–9&lt;br /&gt;
[ ] Passed operator knowledge assessment&lt;br /&gt;
[ ] Passed incident-response simulation&lt;br /&gt;
[ ] Accepted the Staff Code of Conduct&lt;br /&gt;
[ ] Uses secure TLS and SASL&lt;br /&gt;
[ ] Uses unique operator credentials&lt;br /&gt;
[ ] Understands least privilege&lt;br /&gt;
[ ] Can identify shared-host risks&lt;br /&gt;
[ ] Can distinguish channel and network enforcement&lt;br /&gt;
[ ] Can document operator actions&lt;br /&gt;
[ ] Can correct and report mistakes&lt;br /&gt;
[ ] Understands escalation paths&lt;br /&gt;
[ ] Has an assigned mentor&lt;br /&gt;
[ ] Has management approval&lt;br /&gt;
[ ] Has a defined operational role&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 42. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Staff Ethics|Module 10 — Staff Ethics and Security]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Module 10 — Staff Ethics and Security]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Operators]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Operator_Fundamentals&amp;diff=396</id>
		<title>DWIRC:Staff Training/IRC Operator Fundamentals</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Operator_Fundamentals&amp;diff=396"/>
		<updated>2026-08-08T18:01:10Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 9 — IRC Operator Fundamentals}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 9: IRC Operator Fundamentals&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 9 of 10 |- ! Difficulty | Ad...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 9 — IRC Operator Fundamentals}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 9: IRC Operator Fundamentals&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 9 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 5–7 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Written examination, supervised laboratory, and incident simulation&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC operator&#039;&#039;&#039;, commonly called an &#039;&#039;&#039;IRCOp&#039;&#039;&#039;, is a trusted network staff member with elevated privileges for protecting and operating the IRC network.&lt;br /&gt;
&lt;br /&gt;
IRC operator access may allow a person to:&lt;br /&gt;
&lt;br /&gt;
* View additional network information.&lt;br /&gt;
* Receive operational server notices.&lt;br /&gt;
* Investigate abuse.&lt;br /&gt;
* Disconnect users.&lt;br /&gt;
* Apply network-level restrictions.&lt;br /&gt;
* Assist during floods and attacks.&lt;br /&gt;
* Coordinate incidents across servers.&lt;br /&gt;
* Override some normal channel restrictions.&lt;br /&gt;
* Perform other actions defined by their oper class.&lt;br /&gt;
&lt;br /&gt;
These powers can affect many users and must be used with restraint, accuracy, authorization, and accountability.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Completing this lesson does not grant IRC operator access. Candidates must not use operator commands on the production network unless separately authorized and assigned an approved oper account.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the purpose and limits of IRC operator access.&lt;br /&gt;
# Secure an operator account.&lt;br /&gt;
# Distinguish local and global network actions.&lt;br /&gt;
# Interpret common operational information.&lt;br /&gt;
# Investigate users without exposing private information.&lt;br /&gt;
# Explain kills and network-level restrictions.&lt;br /&gt;
# Select proportionate restriction scope and duration.&lt;br /&gt;
# Understand OperOverride and forced-mode risks.&lt;br /&gt;
# Recognize netsplits and server-link incidents.&lt;br /&gt;
# Assist safely during floods and attacks.&lt;br /&gt;
# Verify and document operator actions.&lt;br /&gt;
# Escalate high-risk commands and infrastructure issues.&lt;br /&gt;
&lt;br /&gt;
= 1. IRC Operator Role =&lt;br /&gt;
&lt;br /&gt;
IRC operators protect and support the IRC network.&lt;br /&gt;
&lt;br /&gt;
Their responsibilities may include:&lt;br /&gt;
&lt;br /&gt;
* Enforcing network-wide rules.&lt;br /&gt;
* Responding to multi-channel abuse.&lt;br /&gt;
* Investigating spam and ban evasion.&lt;br /&gt;
* Containing malicious clients or bots.&lt;br /&gt;
* Assisting during raids and floods.&lt;br /&gt;
* Monitoring authorized server notices.&lt;br /&gt;
* Coordinating with Services staff.&lt;br /&gt;
* Supporting channel staff in network-level cases.&lt;br /&gt;
* Documenting important actions.&lt;br /&gt;
* Escalating server and security incidents.&lt;br /&gt;
&lt;br /&gt;
IRC operators do not own every channel and should not interfere with ordinary channel management without a valid network-level reason.&lt;br /&gt;
&lt;br /&gt;
= 2. Operator Access Is Role-Based =&lt;br /&gt;
&lt;br /&gt;
Different IRC operators may have different permissions.&lt;br /&gt;
&lt;br /&gt;
An oper class may control:&lt;br /&gt;
&lt;br /&gt;
* Which commands are available.&lt;br /&gt;
* Which server notices are visible.&lt;br /&gt;
* Whether actions are local or global.&lt;br /&gt;
* Which users or servers can be affected.&lt;br /&gt;
* Whether override powers are available.&lt;br /&gt;
* Which administrative resources can be accessed.&lt;br /&gt;
&lt;br /&gt;
A staff title does not guarantee every IRC operator permission.&lt;br /&gt;
&lt;br /&gt;
Staff must not attempt to bypass their oper-class restrictions.&lt;br /&gt;
&lt;br /&gt;
= 3. Local and Global Actions =&lt;br /&gt;
&lt;br /&gt;
== Local Action ==&lt;br /&gt;
&lt;br /&gt;
A local action generally applies only to:&lt;br /&gt;
&lt;br /&gt;
* The current IRC server.&lt;br /&gt;
* Users connected directly to that server.&lt;br /&gt;
* A server-specific operational condition.&lt;br /&gt;
&lt;br /&gt;
== Global Action ==&lt;br /&gt;
&lt;br /&gt;
A global action may apply across the entire IRC network.&lt;br /&gt;
&lt;br /&gt;
Global actions present greater risk because they may affect:&lt;br /&gt;
&lt;br /&gt;
* Users on every server.&lt;br /&gt;
* Multiple regions.&lt;br /&gt;
* Shared providers.&lt;br /&gt;
* Relays and bouncers.&lt;br /&gt;
* Legitimate users unrelated to the incident.&lt;br /&gt;
&lt;br /&gt;
Before choosing a global action, ask whether a local or narrower restriction would solve the problem.&lt;br /&gt;
&lt;br /&gt;
= 4. Operator Account Security =&lt;br /&gt;
&lt;br /&gt;
An operator account is a privileged security credential.&lt;br /&gt;
&lt;br /&gt;
Operators must:&lt;br /&gt;
&lt;br /&gt;
* Use a strong, unique password.&lt;br /&gt;
* Never reuse a NickServ or personal password.&lt;br /&gt;
* Use TLS.&lt;br /&gt;
* Use a trusted device.&lt;br /&gt;
* Protect client configuration files.&lt;br /&gt;
* Avoid storing credentials in plaintext where possible.&lt;br /&gt;
* Avoid public or untrusted computers.&lt;br /&gt;
* Keep the operating system and IRC client updated.&lt;br /&gt;
* Secure bouncers used for operator access.&lt;br /&gt;
* Report suspected compromise immediately.&lt;br /&gt;
* Follow any approved certificate or authentication requirements.&lt;br /&gt;
* Oper only when required by current procedure.&lt;br /&gt;
&lt;br /&gt;
Operators must never:&lt;br /&gt;
&lt;br /&gt;
* Share an oper account.&lt;br /&gt;
* Give credentials to another staff member.&lt;br /&gt;
* paste an operator password into a channel.&lt;br /&gt;
* Send credentials through an unofficial bot.&lt;br /&gt;
* Leave an authorized client accessible to others.&lt;br /&gt;
* Use production access for demonstrations.&lt;br /&gt;
* Save passwords in public scripts or repositories.&lt;br /&gt;
&lt;br /&gt;
= 5. Becoming an IRC Operator =&lt;br /&gt;
&lt;br /&gt;
Traditional IRC operator authentication may use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/OPER opername password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may use additional controls, such as:&lt;br /&gt;
&lt;br /&gt;
* Restricted source hosts.&lt;br /&gt;
* TLS requirements.&lt;br /&gt;
* Client certificates.&lt;br /&gt;
* Certificate fingerprints.&lt;br /&gt;
* Security groups.&lt;br /&gt;
* Password hashing.&lt;br /&gt;
* Separate oper classes.&lt;br /&gt;
* Two-stage authorization.&lt;br /&gt;
* Approved bouncer or server access.&lt;br /&gt;
&lt;br /&gt;
Candidates must follow the current DarkWorld procedure.&lt;br /&gt;
&lt;br /&gt;
Do not demonstrate `/OPER` in public, record a real password in training material, or use another person’s oper account.&lt;br /&gt;
&lt;br /&gt;
= 6. Failed Operator Login =&lt;br /&gt;
&lt;br /&gt;
An operator login may fail because:&lt;br /&gt;
&lt;br /&gt;
* Oper name is incorrect.&lt;br /&gt;
* Password is incorrect.&lt;br /&gt;
* Source host is not authorized.&lt;br /&gt;
* TLS is not enabled.&lt;br /&gt;
* Required certificate is missing.&lt;br /&gt;
* Certificate fingerprint does not match.&lt;br /&gt;
* Oper block or class changed.&lt;br /&gt;
* Account is suspended.&lt;br /&gt;
* The user is connected to an incorrect server.&lt;br /&gt;
* Server configuration has not been reloaded correctly.&lt;br /&gt;
&lt;br /&gt;
After an unexpected failure:&lt;br /&gt;
&lt;br /&gt;
# Do not repeatedly guess passwords.&lt;br /&gt;
# Confirm TLS and the approved connection method.&lt;br /&gt;
# Record the exact error.&lt;br /&gt;
# Check whether the oper account was recently changed.&lt;br /&gt;
# Notify authorized administration.&lt;br /&gt;
# Treat unexplained repeated failures as a possible security event.&lt;br /&gt;
&lt;br /&gt;
= 7. Server Notices =&lt;br /&gt;
&lt;br /&gt;
IRC operators may receive additional server notices relating to:&lt;br /&gt;
&lt;br /&gt;
* User connections and disconnections.&lt;br /&gt;
* Failed authentication.&lt;br /&gt;
* Kills.&lt;br /&gt;
* Network bans.&lt;br /&gt;
* Flood activity.&lt;br /&gt;
* Server links and disconnections.&lt;br /&gt;
* Services activity.&lt;br /&gt;
* Operator logins.&lt;br /&gt;
* Security events.&lt;br /&gt;
* Routing issues.&lt;br /&gt;
* Configuration warnings.&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may use server-notice masks or related configuration to control which notices an operator receives.&lt;br /&gt;
&lt;br /&gt;
Staff should subscribe only to notices appropriate to their role.&lt;br /&gt;
&lt;br /&gt;
Too many notices can hide important events. Too few may prevent early detection.&lt;br /&gt;
&lt;br /&gt;
= 8. Operational Information Commands =&lt;br /&gt;
&lt;br /&gt;
Depending on permissions, useful commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS nickname&lt;br /&gt;
/WHOIS nickname nickname&lt;br /&gt;
/WHO #channel&lt;br /&gt;
/USERHOST nickname&lt;br /&gt;
/LINKS&lt;br /&gt;
/MAP&lt;br /&gt;
/LUSERS&lt;br /&gt;
/VERSION&lt;br /&gt;
/TIME&lt;br /&gt;
/ADMIN&lt;br /&gt;
/STATS&lt;br /&gt;
/TRACE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Availability and output depend on the current UnrealIRCd version, configuration, and oper permissions.&lt;br /&gt;
&lt;br /&gt;
Candidates should use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/HELPOP command&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or the current official server documentation before using an unfamiliar operator command.&lt;br /&gt;
&lt;br /&gt;
= 9. WHOIS for Operators =&lt;br /&gt;
&lt;br /&gt;
An operator WHOIS response may provide additional information.&lt;br /&gt;
&lt;br /&gt;
It may include:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Displayed host.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Connected server.&lt;br /&gt;
* Channels.&lt;br /&gt;
* User modes.&lt;br /&gt;
* Secure connection status.&lt;br /&gt;
* Idle time.&lt;br /&gt;
* Operator status.&lt;br /&gt;
* Security-related information available to the oper class.&lt;br /&gt;
* Original connection information.&lt;br /&gt;
&lt;br /&gt;
Staff may use this information only for an authorized operational purpose.&lt;br /&gt;
&lt;br /&gt;
Hidden connection information must not be:&lt;br /&gt;
&lt;br /&gt;
* Posted publicly.&lt;br /&gt;
* Shared with channel operators unnecessarily.&lt;br /&gt;
* Used to embarrass a user.&lt;br /&gt;
* Accessed out of curiosity.&lt;br /&gt;
* Copied into unrelated cases.&lt;br /&gt;
* Used for personal retaliation.&lt;br /&gt;
&lt;br /&gt;
= 10. Investigating a User =&lt;br /&gt;
&lt;br /&gt;
Before using elevated information, identify:&lt;br /&gt;
&lt;br /&gt;
* The reported conduct.&lt;br /&gt;
* The applicable policy.&lt;br /&gt;
* The relevant time.&lt;br /&gt;
* The channel or recipients.&lt;br /&gt;
* Evidence already available.&lt;br /&gt;
* Whether the incident is ongoing.&lt;br /&gt;
* Whether the requested information is necessary.&lt;br /&gt;
* Whether you have permission to access it.&lt;br /&gt;
&lt;br /&gt;
An investigation should remain limited to the incident.&lt;br /&gt;
&lt;br /&gt;
Do not expand a routine spam report into a broad search of unrelated user activity without authorization.&lt;br /&gt;
&lt;br /&gt;
= 11. Identity Correlation =&lt;br /&gt;
&lt;br /&gt;
Operators may observe connections that share:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hostnames.&lt;br /&gt;
* Idents.&lt;br /&gt;
* Accounts.&lt;br /&gt;
* Certificates.&lt;br /&gt;
* Bouncers.&lt;br /&gt;
* VPN exits.&lt;br /&gt;
* Proxies.&lt;br /&gt;
* Gateways.&lt;br /&gt;
* Behavioral patterns.&lt;br /&gt;
&lt;br /&gt;
Shared information does not automatically prove common control.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
* A household may share one address.&lt;br /&gt;
* A university or company may use shared NAT.&lt;br /&gt;
* A VPN exit may serve many customers.&lt;br /&gt;
* A ZNC provider may host many users.&lt;br /&gt;
* A web gateway may show similar connection information.&lt;br /&gt;
* IPv6 users may rotate addresses within an assigned range.&lt;br /&gt;
&lt;br /&gt;
Identity conclusions should use multiple relevant indicators and be stated carefully.&lt;br /&gt;
&lt;br /&gt;
= 12. KILL =&lt;br /&gt;
&lt;br /&gt;
A kill disconnects a user from IRC.&lt;br /&gt;
&lt;br /&gt;
General syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KILL nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example used only for an authorized training environment:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KILL TestUser Active multi-channel flooding&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A kill:&lt;br /&gt;
&lt;br /&gt;
* Ends the current IRC connection.&lt;br /&gt;
* Does not necessarily prevent reconnection.&lt;br /&gt;
* Does not automatically ban an account or address.&lt;br /&gt;
* May be appropriate for immediate containment.&lt;br /&gt;
* Must include a professional reason.&lt;br /&gt;
* Should be recorded when significant.&lt;br /&gt;
&lt;br /&gt;
== Appropriate Uses May Include ==&lt;br /&gt;
&lt;br /&gt;
* Active multi-channel flooding.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Malicious bot activity.&lt;br /&gt;
* Severe ongoing network abuse.&lt;br /&gt;
* Immediate containment during an investigation.&lt;br /&gt;
&lt;br /&gt;
== Inappropriate Uses Include ==&lt;br /&gt;
&lt;br /&gt;
* Personal disagreement.&lt;br /&gt;
* Minor channel-rule violations.&lt;br /&gt;
* User criticism of staff.&lt;br /&gt;
* Demonstrations or jokes.&lt;br /&gt;
* Avoiding ordinary channel moderation.&lt;br /&gt;
* Disconnecting someone without checking the target.&lt;br /&gt;
&lt;br /&gt;
= 13. Network-Level Restrictions =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide several restriction types.&lt;br /&gt;
&lt;br /&gt;
Exact syntax, matching behavior, storage, and scope must be confirmed with the current server help and DarkWorld procedures.&lt;br /&gt;
&lt;br /&gt;
Possible types include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Restriction&lt;br /&gt;
! General purpose&lt;br /&gt;
! Main concern&lt;br /&gt;
|-&lt;br /&gt;
| Local connection ban&lt;br /&gt;
| Restricts matching users on one server&lt;br /&gt;
| May not protect other servers&lt;br /&gt;
|-&lt;br /&gt;
| Global connection ban&lt;br /&gt;
| Restricts matching users network-wide&lt;br /&gt;
| May affect many legitimate users&lt;br /&gt;
|-&lt;br /&gt;
| IP-based restriction&lt;br /&gt;
| Restricts a specific address or range&lt;br /&gt;
| Shared or dynamic addresses&lt;br /&gt;
|-&lt;br /&gt;
| Z-line-style restriction&lt;br /&gt;
| Blocks matching IP connections at an early stage&lt;br /&gt;
| Very broad and difficult for affected users&lt;br /&gt;
|-&lt;br /&gt;
| Shun-style restriction&lt;br /&gt;
| Silently limits many commands from a user&lt;br /&gt;
| User may not understand what is happening&lt;br /&gt;
|-&lt;br /&gt;
| Temporary restriction&lt;br /&gt;
| Expires automatically after a duration&lt;br /&gt;
| Duration and matching must still be accurate&lt;br /&gt;
|-&lt;br /&gt;
| Permanent restriction&lt;br /&gt;
| Remains until removed&lt;br /&gt;
| Requires strong justification and review&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Common UnrealIRCd command names may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
KLINE&lt;br /&gt;
GLINE&lt;br /&gt;
ZLINE&lt;br /&gt;
GZLINE&lt;br /&gt;
SHUN&lt;br /&gt;
TEMPSHUN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This list is informational. Candidates must not execute these commands on production without explicit authorization.&lt;br /&gt;
&lt;br /&gt;
= 14. Restriction Selection =&lt;br /&gt;
&lt;br /&gt;
Before applying a network restriction, determine:&lt;br /&gt;
&lt;br /&gt;
# Is a network-level restriction required?&lt;br /&gt;
# Is the incident still active?&lt;br /&gt;
# Which identity or connection property should match?&lt;br /&gt;
# Is the target shared?&lt;br /&gt;
# Would a local restriction be sufficient?&lt;br /&gt;
# Would an account-based action be more accurate?&lt;br /&gt;
# What duration is proportionate?&lt;br /&gt;
# How many legitimate users may be affected?&lt;br /&gt;
# Is there a documented reason?&lt;br /&gt;
# Who authorized the action?&lt;br /&gt;
# How will the restriction be reviewed and removed?&lt;br /&gt;
&lt;br /&gt;
= 15. Restriction Scope =&lt;br /&gt;
&lt;br /&gt;
Possible scope choices include:&lt;br /&gt;
&lt;br /&gt;
* One current connection.&lt;br /&gt;
* One account.&lt;br /&gt;
* One visible user mask.&lt;br /&gt;
* One IP address.&lt;br /&gt;
* One hostname.&lt;br /&gt;
* One IPv4 range.&lt;br /&gt;
* One IPv6 prefix.&lt;br /&gt;
* One provider or autonomous network.&lt;br /&gt;
* One server.&lt;br /&gt;
* The entire IRC network.&lt;br /&gt;
&lt;br /&gt;
As scope grows, risk grows.&lt;br /&gt;
&lt;br /&gt;
A provider-wide restriction should not be selected merely because it is easier than identifying the actual source.&lt;br /&gt;
&lt;br /&gt;
= 16. IPv4 and IPv6 Considerations =&lt;br /&gt;
&lt;br /&gt;
== IPv4 ==&lt;br /&gt;
&lt;br /&gt;
Multiple users may share one public IPv4 address because of:&lt;br /&gt;
&lt;br /&gt;
* Home routers.&lt;br /&gt;
* Carrier-grade NAT.&lt;br /&gt;
* Business networks.&lt;br /&gt;
* VPNs.&lt;br /&gt;
* Bouncers.&lt;br /&gt;
* Web gateways.&lt;br /&gt;
&lt;br /&gt;
== IPv6 ==&lt;br /&gt;
&lt;br /&gt;
IPv6 users may have:&lt;br /&gt;
&lt;br /&gt;
* A stable individual address.&lt;br /&gt;
* Temporary privacy addresses.&lt;br /&gt;
* Multiple addresses.&lt;br /&gt;
* An assigned prefix.&lt;br /&gt;
* Rotating interface identifiers.&lt;br /&gt;
&lt;br /&gt;
An IPv6 restriction that is too narrow may be easily avoided. One that is too broad may block many unrelated systems.&lt;br /&gt;
&lt;br /&gt;
Prefix-based decisions should be made only by trained and authorized staff using accurate network information.&lt;br /&gt;
&lt;br /&gt;
= 17. Restriction Duration =&lt;br /&gt;
&lt;br /&gt;
Possible durations might include:&lt;br /&gt;
&lt;br /&gt;
* A few minutes during active flooding.&lt;br /&gt;
* Several hours.&lt;br /&gt;
* One day.&lt;br /&gt;
* Several days.&lt;br /&gt;
* A longer reviewed period.&lt;br /&gt;
* Indefinite, only where properly authorized.&lt;br /&gt;
&lt;br /&gt;
Duration should reflect:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Repetition.&lt;br /&gt;
* Likelihood of recurrence.&lt;br /&gt;
* Previous relevant history.&lt;br /&gt;
* Shared-host impact.&lt;br /&gt;
* Whether the source was compromised.&lt;br /&gt;
* Whether the actor cooperated.&lt;br /&gt;
* Whether the incident remains under investigation.&lt;br /&gt;
&lt;br /&gt;
Temporary restrictions are often safer during an evolving incident because they force a later decision instead of remaining forgotten.&lt;br /&gt;
&lt;br /&gt;
= 18. Restriction Reasons =&lt;br /&gt;
&lt;br /&gt;
A network-restriction reason should be:&lt;br /&gt;
&lt;br /&gt;
* Specific.&lt;br /&gt;
* Factual.&lt;br /&gt;
* Professional.&lt;br /&gt;
* Connected to policy.&lt;br /&gt;
* Understandable during review.&lt;br /&gt;
* Free from unnecessary sensitive information.&lt;br /&gt;
&lt;br /&gt;
Good examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Active multi-channel flooding&lt;br /&gt;
Credential phishing through NickServ impersonation&lt;br /&gt;
Repeated network advertising after warning&lt;br /&gt;
Ban evasion during active harassment incident&lt;br /&gt;
Malicious relay activity pending compliance review&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poor examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bad user&lt;br /&gt;
Go away&lt;br /&gt;
Annoying&lt;br /&gt;
Staff decision&lt;br /&gt;
You know why&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where supported by procedure, include an internal case reference.&lt;br /&gt;
&lt;br /&gt;
= 19. Verifying an Operator Action =&lt;br /&gt;
&lt;br /&gt;
After sending an elevated command:&lt;br /&gt;
&lt;br /&gt;
# Read the server response.&lt;br /&gt;
# Confirm the intended target.&lt;br /&gt;
# Confirm the scope.&lt;br /&gt;
# Confirm the duration.&lt;br /&gt;
# Check the relevant restriction list or logs.&lt;br /&gt;
# Verify that the incident stopped.&lt;br /&gt;
# Check for unintended impact.&lt;br /&gt;
# Record the action.&lt;br /&gt;
# Set a review time.&lt;br /&gt;
&lt;br /&gt;
Never assume success merely because the command was sent.&lt;br /&gt;
&lt;br /&gt;
= 20. Removing Restrictions =&lt;br /&gt;
&lt;br /&gt;
Before removing a restriction:&lt;br /&gt;
&lt;br /&gt;
* Confirm the exact entry.&lt;br /&gt;
* Confirm the original reason.&lt;br /&gt;
* Check whether the incident is resolved.&lt;br /&gt;
* Check whether another active case depends on it.&lt;br /&gt;
* Confirm your authority.&lt;br /&gt;
* Record who removed it and why.&lt;br /&gt;
* Monitor for recurrence.&lt;br /&gt;
&lt;br /&gt;
Do not remove another operator’s restriction merely because the affected user asks privately.&lt;br /&gt;
&lt;br /&gt;
Use the appeal and review procedure.&lt;br /&gt;
&lt;br /&gt;
= 21. Shuns and Silent Restrictions =&lt;br /&gt;
&lt;br /&gt;
A shun-style action may cause many user commands or messages to be ignored while the connection remains active.&lt;br /&gt;
&lt;br /&gt;
Possible benefits:&lt;br /&gt;
&lt;br /&gt;
* Limits an active abusive client.&lt;br /&gt;
* Reduces immediate disruption.&lt;br /&gt;
* Gives staff time to investigate.&lt;br /&gt;
* May prevent an automated client from adapting immediately.&lt;br /&gt;
&lt;br /&gt;
Risks:&lt;br /&gt;
&lt;br /&gt;
* The user may not know why commands fail.&lt;br /&gt;
* Legitimate support requests may be blocked.&lt;br /&gt;
* The restriction may be forgotten.&lt;br /&gt;
* It may complicate evidence.&lt;br /&gt;
* It can be abused as an invisible punishment.&lt;br /&gt;
&lt;br /&gt;
Shuns should be authorized, documented, reviewed, and removed removed when no longer needed.&lt;br /&gt;
&lt;br /&gt;
= 22. OperOverride =&lt;br /&gt;
&lt;br /&gt;
OperOverride may allow an IRC operator to bypass normal channel restrictions.&lt;br /&gt;
&lt;br /&gt;
Depending on configuration, it may permit actions such as:&lt;br /&gt;
&lt;br /&gt;
* Joining a restricted channel.&lt;br /&gt;
* Acting despite channel access limits.&lt;br /&gt;
* Changing modes without normal channel privileges.&lt;br /&gt;
* Performing emergency intervention.&lt;br /&gt;
&lt;br /&gt;
OperOverride must be limited to valid network duties.&lt;br /&gt;
&lt;br /&gt;
Appropriate examples may include:&lt;br /&gt;
&lt;br /&gt;
* Stopping an active serious policy violation.&lt;br /&gt;
* Responding to a channel takeover.&lt;br /&gt;
* Entering a channel during an urgent network incident.&lt;br /&gt;
* Protecting users when normal channel management is unavailable.&lt;br /&gt;
&lt;br /&gt;
Inappropriate examples include:&lt;br /&gt;
&lt;br /&gt;
* Joining a private channel out of curiosity.&lt;br /&gt;
* Overriding a channel founder during a personal dispute.&lt;br /&gt;
* Obtaining operator status for entertainment.&lt;br /&gt;
* Monitoring private conversations without authorization.&lt;br /&gt;
* Avoiding the normal appeal or Services process.&lt;br /&gt;
&lt;br /&gt;
= 23. SAMODE and Forced Modes =&lt;br /&gt;
&lt;br /&gt;
Forced-mode commands may allow authorized IRC operators to change:&lt;br /&gt;
&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* User status.&lt;br /&gt;
* User modes.&lt;br /&gt;
* Other protected state.&lt;br /&gt;
&lt;br /&gt;
These commands can override normal channel authority and must be treated as high risk.&lt;br /&gt;
&lt;br /&gt;
Before using a forced mode:&lt;br /&gt;
&lt;br /&gt;
# Confirm the target.&lt;br /&gt;
# Confirm the current state.&lt;br /&gt;
# Identify the network-level reason.&lt;br /&gt;
# Obtain required authorization.&lt;br /&gt;
# Use the smallest effective change.&lt;br /&gt;
# Record the previous state.&lt;br /&gt;
# Apply the change.&lt;br /&gt;
# Verify the result.&lt;br /&gt;
# Restore or review it afterward.&lt;br /&gt;
&lt;br /&gt;
A forced mode should never be used merely because it is faster than contacting the channel founder or using ChanServ correctly.&lt;br /&gt;
&lt;br /&gt;
= 24. Server Links and Netsplits =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC uses multiple linked servers.&lt;br /&gt;
&lt;br /&gt;
A server-link problem may cause:&lt;br /&gt;
&lt;br /&gt;
* Many users to quit simultaneously.&lt;br /&gt;
* Channels to temporarily split.&lt;br /&gt;
* Duplicate state on separate sides.&lt;br /&gt;
* Services access to disappear temporarily.&lt;br /&gt;
* Servers to reconnect repeatedly.&lt;br /&gt;
* Large groups of users to return.&lt;br /&gt;
* Mode synchronization activity.&lt;br /&gt;
&lt;br /&gt;
Operators should distinguish:&lt;br /&gt;
&lt;br /&gt;
* A normal user disconnection.&lt;br /&gt;
* A server ping timeout.&lt;br /&gt;
* A netsplit.&lt;br /&gt;
* A deliberate server disconnect.&lt;br /&gt;
* A routing or TLS link failure.&lt;br /&gt;
* A server under attack.&lt;br /&gt;
&lt;br /&gt;
== Operator Response ==&lt;br /&gt;
&lt;br /&gt;
# Identify the affected server.&lt;br /&gt;
# Record the time.&lt;br /&gt;
# Review authorized server notices.&lt;br /&gt;
# Notify network operations.&lt;br /&gt;
# Avoid unnecessary global restrictions.&lt;br /&gt;
# Avoid promising an unsupported cause.&lt;br /&gt;
# Allow synchronization after reconnection.&lt;br /&gt;
# Check whether channels and Services recovered.&lt;br /&gt;
# Document persistent or repeated failures.&lt;br /&gt;
&lt;br /&gt;
= 25. Server Administration Commands =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide commands capable of:&lt;br /&gt;
&lt;br /&gt;
* Connecting a server.&lt;br /&gt;
* Disconnecting a server.&lt;br /&gt;
* Rehashing configuration.&lt;br /&gt;
* Restarting a server.&lt;br /&gt;
* Shutting down a server.&lt;br /&gt;
* Changing routing.&lt;br /&gt;
* Broadcasting network notices.&lt;br /&gt;
&lt;br /&gt;
Examples may include command names such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CONNECT&lt;br /&gt;
SQUIT&lt;br /&gt;
REHASH&lt;br /&gt;
RESTART&lt;br /&gt;
DIE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Critical restriction:&#039;&#039;&#039; These are server-administration commands, not general IRC operator tools. They must not be used by trainees or unauthorized operators.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Incorrect use may:&lt;br /&gt;
&lt;br /&gt;
* Disconnect hundreds of users.&lt;br /&gt;
* Split the network.&lt;br /&gt;
* Interrupt Services.&lt;br /&gt;
* Prevent reconnection.&lt;br /&gt;
* Apply broken configuration.&lt;br /&gt;
* Create a security incident.&lt;br /&gt;
&lt;br /&gt;
Detailed use belongs in the separate IRCd Administration Program.&lt;br /&gt;
&lt;br /&gt;
= 26. Flood and Attack Response =&lt;br /&gt;
&lt;br /&gt;
Network attacks may include:&lt;br /&gt;
&lt;br /&gt;
* Connection floods.&lt;br /&gt;
* Registration floods.&lt;br /&gt;
* Nickname floods.&lt;br /&gt;
* Join floods.&lt;br /&gt;
* Distributed message floods.&lt;br /&gt;
* CTCP floods.&lt;br /&gt;
* Reconnect loops.&lt;br /&gt;
* Malicious bot networks.&lt;br /&gt;
* Targeted server attacks.&lt;br /&gt;
&lt;br /&gt;
An IRC operator should:&lt;br /&gt;
&lt;br /&gt;
# Confirm the observed behavior.&lt;br /&gt;
# Determine affected servers and channels.&lt;br /&gt;
# Notify the incident lead.&lt;br /&gt;
# Apply only approved protective measures.&lt;br /&gt;
# Avoid broad reactive bans without impact review.&lt;br /&gt;
# Preserve server notices and timestamps.&lt;br /&gt;
# Coordinate with IRCd administrators.&lt;br /&gt;
# Monitor whether the attack changes method.&lt;br /&gt;
# Record temporary actions.&lt;br /&gt;
# Review and remove emergency restrictions later.&lt;br /&gt;
&lt;br /&gt;
IRC operators should not independently change firewalls, IRCd configuration, DNS, or provider-level protection unless separately authorized.&lt;br /&gt;
&lt;br /&gt;
= 27. Network Notices =&lt;br /&gt;
&lt;br /&gt;
Authorized operators may send notices to:&lt;br /&gt;
&lt;br /&gt;
* One user.&lt;br /&gt;
* One server’s users.&lt;br /&gt;
* All network users.&lt;br /&gt;
* Specific staff groups.&lt;br /&gt;
&lt;br /&gt;
Network-wide notices should be reserved for information that users need.&lt;br /&gt;
&lt;br /&gt;
A good notice is:&lt;br /&gt;
&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Short.&lt;br /&gt;
* Actionable.&lt;br /&gt;
* Professionally written.&lt;br /&gt;
* Approved where required.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DarkWorld IRC is investigating a temporary connectivity issue affecting some users. Please avoid repeated reconnect attempts and monitor #Help for updates.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
* Personal announcements.&lt;br /&gt;
* Arguments.&lt;br /&gt;
* Unverified claims.&lt;br /&gt;
* Public accusations.&lt;br /&gt;
* Excessive repeated notices.&lt;br /&gt;
* Confidential incident details.&lt;br /&gt;
* Advertising unrelated to network operations.&lt;br /&gt;
&lt;br /&gt;
= 28. Services and IRC Operator Boundaries =&lt;br /&gt;
&lt;br /&gt;
IRC operator access and Services administration are separate.&lt;br /&gt;
&lt;br /&gt;
An IRC operator may be able to:&lt;br /&gt;
&lt;br /&gt;
* Disconnect an abusive user.&lt;br /&gt;
* Apply an authorized connection restriction.&lt;br /&gt;
* Respond to a network attack.&lt;br /&gt;
* Review operational information.&lt;br /&gt;
&lt;br /&gt;
They may not automatically be authorized to:&lt;br /&gt;
&lt;br /&gt;
* Change a NickServ account owner.&lt;br /&gt;
* Change a ChanServ founder.&lt;br /&gt;
* Drop registered accounts or channels.&lt;br /&gt;
* Suspend Services records.&lt;br /&gt;
* Modify the Anope database.&lt;br /&gt;
* Assign vhosts.&lt;br /&gt;
* Use all OperServ commands.&lt;br /&gt;
&lt;br /&gt;
Services actions require the appropriate Services role.&lt;br /&gt;
&lt;br /&gt;
= 29. Other DarkWorld Project Boundaries =&lt;br /&gt;
&lt;br /&gt;
IRC operator access does not authorize the operator to:&lt;br /&gt;
&lt;br /&gt;
* Access DWShells servers.&lt;br /&gt;
* Suspend shell accounts.&lt;br /&gt;
* Modify DWBouncers users.&lt;br /&gt;
* Access project databases.&lt;br /&gt;
* Change websites.&lt;br /&gt;
* Manage unrelated project applications.&lt;br /&gt;
* Use server credentials belonging to another team.&lt;br /&gt;
&lt;br /&gt;
If IRC abuse originates from another DarkWorld project:&lt;br /&gt;
&lt;br /&gt;
# Protect the IRC network.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Notify the relevant project team.&lt;br /&gt;
# Separate IRC action from project action.&lt;br /&gt;
# Coordinate through authorized staff.&lt;br /&gt;
# Record cross-project decisions.&lt;br /&gt;
&lt;br /&gt;
= 30. Operator Logs and Accountability =&lt;br /&gt;
&lt;br /&gt;
Important operator actions should be logged.&lt;br /&gt;
&lt;br /&gt;
A record may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Operator:&lt;br /&gt;
Command or action:&lt;br /&gt;
Target:&lt;br /&gt;
Scope:&lt;br /&gt;
Duration:&lt;br /&gt;
Reason:&lt;br /&gt;
Policy or incident reference:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Authorized by:&lt;br /&gt;
Result:&lt;br /&gt;
Unexpected impact:&lt;br /&gt;
Review date:&lt;br /&gt;
Removal or expiry:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Operator logs must not be altered to conceal mistakes.&lt;br /&gt;
&lt;br /&gt;
Where sensitive information is required, access to the record should be restricted appropriately.&lt;br /&gt;
&lt;br /&gt;
= 31. Mistakes and Emergency Correction =&lt;br /&gt;
&lt;br /&gt;
If an operator affects the wrong user or scope:&lt;br /&gt;
&lt;br /&gt;
# Stop continuing harm.&lt;br /&gt;
# Correct or remove the action.&lt;br /&gt;
# Verify recovery.&lt;br /&gt;
# Notify the incident lead or senior staff.&lt;br /&gt;
# Inform affected users appropriately.&lt;br /&gt;
# Preserve the original command record.&lt;br /&gt;
# Record the correction.&lt;br /&gt;
# Review why the mistake occurred.&lt;br /&gt;
# Improve the procedure.&lt;br /&gt;
&lt;br /&gt;
Operators should not hide mistakes out of fear of criticism. Concealment creates a greater trust and security problem.&lt;br /&gt;
&lt;br /&gt;
= 32. Operator Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
An operator should not be the sole decision-maker when:&lt;br /&gt;
&lt;br /&gt;
* They are personally involved.&lt;br /&gt;
* A friend or project associate is involved.&lt;br /&gt;
* They previously argued with the user.&lt;br /&gt;
* Their own action is being appealed.&lt;br /&gt;
* They may benefit from the restriction.&lt;br /&gt;
* They have publicly prejudged the case.&lt;br /&gt;
&lt;br /&gt;
During immediate danger, they may take the minimum protective action and then transfer the matter to a neutral reviewer.&lt;br /&gt;
&lt;br /&gt;
= 33. Operator Handover =&lt;br /&gt;
&lt;br /&gt;
When leaving an active incident, provide:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Incident reference:&lt;br /&gt;
Current incident lead:&lt;br /&gt;
Affected users/channels/servers:&lt;br /&gt;
Confirmed facts:&lt;br /&gt;
Active network restrictions:&lt;br /&gt;
Restriction scope:&lt;br /&gt;
Restriction duration:&lt;br /&gt;
Reason:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Server or Services state:&lt;br /&gt;
Teams notified:&lt;br /&gt;
Pending actions:&lt;br /&gt;
Next review time:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The receiving operator should confirm acceptance.&lt;br /&gt;
&lt;br /&gt;
= 34. Practical Laboratory Rules =&lt;br /&gt;
&lt;br /&gt;
Operator exercises must use:&lt;br /&gt;
&lt;br /&gt;
* A dedicated test server, or&lt;br /&gt;
* An approved isolated training environment, or&lt;br /&gt;
* A trainer-controlled simulation.&lt;br /&gt;
&lt;br /&gt;
Production operator commands must not be used for practice.&lt;br /&gt;
&lt;br /&gt;
The laboratory should use:&lt;br /&gt;
&lt;br /&gt;
* Test accounts.&lt;br /&gt;
* Test channels.&lt;br /&gt;
* Non-production oper credentials.&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Incident_Handling&amp;diff=395</id>
		<title>DWIRC:Staff Training/Incident Handling</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Incident_Handling&amp;diff=395"/>
		<updated>2026-08-08T17:57:01Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Incident Handling&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 8 — Abuse and Incident Handling}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 8: Abuse and Incident Handling&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 8 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–6 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, incident simulations, and formal incident report&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
An incident is an event that threatens or disrupts DarkWorld IRC users, channels, Services, servers, policies, or operations.&lt;br /&gt;
&lt;br /&gt;
Incidents may include:&lt;br /&gt;
&lt;br /&gt;
* Serious harassment.&lt;br /&gt;
* Threats or exposure of private information.&lt;br /&gt;
* Coordinated flooding or raids.&lt;br /&gt;
* Spam across multiple channels.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Malicious bots.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Unauthorized relays.&lt;br /&gt;
* Services failures.&lt;br /&gt;
* Server disconnections.&lt;br /&gt;
* Network attacks.&lt;br /&gt;
* Compromised accounts.&lt;br /&gt;
* Staff misconduct.&lt;br /&gt;
* Policy or approval violations.&lt;br /&gt;
&lt;br /&gt;
Incident handling requires more than issuing a kick or ban. Staff must identify the problem, protect users, preserve evidence, coordinate actions, communicate accurately, and review the outcome.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Recognize an incident.&lt;br /&gt;
# Classify its urgency and severity.&lt;br /&gt;
# Take safe immediate protective action.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Separate facts, allegations, and inferences.&lt;br /&gt;
# Protect private and security-sensitive information.&lt;br /&gt;
# Escalate to the correct team.&lt;br /&gt;
# Maintain a clear incident timeline.&lt;br /&gt;
# Avoid conflicting staff actions.&lt;br /&gt;
# Prepare a professional incident report.&lt;br /&gt;
# Hand over an active incident correctly.&lt;br /&gt;
# Close and review an incident.&lt;br /&gt;
# Identify improvements after an incident.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is an Incident? =&lt;br /&gt;
&lt;br /&gt;
An incident is an event requiring coordinated attention because it:&lt;br /&gt;
&lt;br /&gt;
* Causes significant disruption.&lt;br /&gt;
* Affects multiple users, channels, or servers.&lt;br /&gt;
* Creates a security or privacy risk.&lt;br /&gt;
* Requires more authority than ordinary moderation.&lt;br /&gt;
* May continue or spread.&lt;br /&gt;
* Requires formal documentation.&lt;br /&gt;
* Requires coordination between staff teams.&lt;br /&gt;
* Could affect trust in the network.&lt;br /&gt;
&lt;br /&gt;
Not every disagreement or minor rule violation is an incident.&lt;br /&gt;
&lt;br /&gt;
Examples of ordinary moderation include:&lt;br /&gt;
&lt;br /&gt;
* A user posting off-topic content.&lt;br /&gt;
* A single accidental flood.&lt;br /&gt;
* A minor channel-rule violation.&lt;br /&gt;
* A routine kick or temporary channel ban.&lt;br /&gt;
&lt;br /&gt;
The matter may become an incident when it is repeated, coordinated, severe, widespread, security-related, or disputed at a high level.&lt;br /&gt;
&lt;br /&gt;
= 2. Incident Priorities =&lt;br /&gt;
&lt;br /&gt;
During an incident, staff should prioritize:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Safety&#039;&#039;&#039; – Protect users and prevent immediate harm.&lt;br /&gt;
# &#039;&#039;&#039;Containment&#039;&#039;&#039; – Stop the incident from spreading.&lt;br /&gt;
# &#039;&#039;&#039;Evidence&#039;&#039;&#039; – Preserve enough reliable information.&lt;br /&gt;
# &#039;&#039;&#039;Coordination&#039;&#039;&#039; – Ensure staff actions do not conflict.&lt;br /&gt;
# &#039;&#039;&#039;Recovery&#039;&#039;&#039; – Restore normal service safely.&lt;br /&gt;
# &#039;&#039;&#039;Communication&#039;&#039;&#039; – Provide accurate and approved information.&lt;br /&gt;
# &#039;&#039;&#039;Review&#039;&#039;&#039; – Learn from the incident and improve controls.&lt;br /&gt;
&lt;br /&gt;
Evidence is important, but staff must not allow serious ongoing harm merely to obtain a more complete log.&lt;br /&gt;
&lt;br /&gt;
= 3. Incident Severity Levels =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may classify incidents using four operational levels.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Classification&lt;br /&gt;
! Examples&lt;br /&gt;
! General response&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 1&#039;&#039;&#039;&lt;br /&gt;
| Low&lt;br /&gt;
| Minor isolated disruption, first-time low-impact violation&lt;br /&gt;
| Guidance, warning, routine moderation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 2&#039;&#039;&#039;&lt;br /&gt;
| Moderate&lt;br /&gt;
| Repeated flooding, ongoing harassment, repeated advertising, limited ban evasion&lt;br /&gt;
| Contain, document, notify appropriate staff&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 3&#039;&#039;&#039;&lt;br /&gt;
| High&lt;br /&gt;
| Coordinated raid, multi-channel abuse, phishing, serious threats, unauthorized relay campaign&lt;br /&gt;
| Immediate containment and senior escalation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 4&#039;&#039;&#039;&lt;br /&gt;
| Critical&lt;br /&gt;
| Network attack, server compromise, staff-account compromise, Services database risk, widespread data exposure&lt;br /&gt;
| Emergency escalation, incident leadership, controlled recovery&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Severity may change as new information becomes available.&lt;br /&gt;
&lt;br /&gt;
A Level 2 incident may become Level 3 if it spreads across channels. A suspected Level 4 incident may be downgraded after investigation.&lt;br /&gt;
&lt;br /&gt;
= 4. Severity Assessment Factors =&lt;br /&gt;
&lt;br /&gt;
Consider:&lt;br /&gt;
&lt;br /&gt;
* Number of users affected.&lt;br /&gt;
* Number of channels or servers affected.&lt;br /&gt;
* Whether the incident is ongoing.&lt;br /&gt;
* Whether automation is involved.&lt;br /&gt;
* Whether private information is exposed.&lt;br /&gt;
* Whether credentials are compromised.&lt;br /&gt;
* Whether infrastructure is affected.&lt;br /&gt;
* Whether the conduct is coordinated.&lt;br /&gt;
* Whether the actor is evading restrictions.&lt;br /&gt;
* Whether staff access is involved.&lt;br /&gt;
* Whether normal service is unavailable.&lt;br /&gt;
* Whether harm can spread quickly.&lt;br /&gt;
* Whether immediate senior intervention is required.&lt;br /&gt;
&lt;br /&gt;
Do not classify an incident based solely on how angry the reporter appears.&lt;br /&gt;
&lt;br /&gt;
= 5. Incident Response Process =&lt;br /&gt;
&lt;br /&gt;
The general process is:&lt;br /&gt;
&lt;br /&gt;
# Detect or receive the report.&lt;br /&gt;
# Acknowledge the incident.&lt;br /&gt;
# Perform initial assessment.&lt;br /&gt;
# Assign severity.&lt;br /&gt;
# Protect affected users.&lt;br /&gt;
# Contain active harm.&lt;br /&gt;
# Preserve evidence.&lt;br /&gt;
# Notify the correct staff.&lt;br /&gt;
# Assign or identify incident leadership.&lt;br /&gt;
# Investigate within authorization.&lt;br /&gt;
# Restore normal operation.&lt;br /&gt;
# Communicate the outcome appropriately.&lt;br /&gt;
# Close the incident.&lt;br /&gt;
# Perform a post-incident review.&lt;br /&gt;
&lt;br /&gt;
= 6. Detecting an Incident =&lt;br /&gt;
&lt;br /&gt;
Incidents may be detected through:&lt;br /&gt;
&lt;br /&gt;
* User reports.&lt;br /&gt;
* Staff observation.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Services messages.&lt;br /&gt;
* Monitoring systems.&lt;br /&gt;
* Bot alerts.&lt;br /&gt;
* PolicyServ.&lt;br /&gt;
* RelayServ.&lt;br /&gt;
* Channel logs.&lt;br /&gt;
* Repeated support requests.&lt;br /&gt;
* Server or Services failures.&lt;br /&gt;
* Unusual connection patterns.&lt;br /&gt;
&lt;br /&gt;
An alert is not always proof of an incident. Staff should verify available information while remaining ready to act if the risk is high.&lt;br /&gt;
&lt;br /&gt;
= 7. Receiving an Abuse Report =&lt;br /&gt;
&lt;br /&gt;
When a user reports abuse:&lt;br /&gt;
&lt;br /&gt;
# Acknowledge the report.&lt;br /&gt;
# Determine whether harm is still occurring.&lt;br /&gt;
# Ask where and when it happened.&lt;br /&gt;
# Ask which users or channels are involved.&lt;br /&gt;
# Move sensitive evidence to the approved private process.&lt;br /&gt;
# Avoid promising a specific punishment.&lt;br /&gt;
# Preserve the original report.&lt;br /&gt;
# Escalate according to severity.&lt;br /&gt;
# Explain the next available step.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Thank you for reporting this. Is the behavior still happening? Please provide the channel, approximate time, and nicknames involved. Do not post IP addresses, passwords, or private evidence publicly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 8. Immediate Protective Action =&lt;br /&gt;
&lt;br /&gt;
Immediate action may be necessary to:&lt;br /&gt;
&lt;br /&gt;
* Stop active flooding.&lt;br /&gt;
* Remove a malicious link.&lt;br /&gt;
* Restrict a phishing account.&lt;br /&gt;
* Protect a user from repeated harassment.&lt;br /&gt;
* Moderate a channel during a raid.&lt;br /&gt;
* Remove a malfunctioning bot.&lt;br /&gt;
* Stop an unauthorized relay from importing harmful content.&lt;br /&gt;
* Prevent further exposure of private information.&lt;br /&gt;
&lt;br /&gt;
The action should:&lt;br /&gt;
&lt;br /&gt;
* Be within the staff member’s authority.&lt;br /&gt;
* Target the active harm.&lt;br /&gt;
* Minimize impact on legitimate users.&lt;br /&gt;
* Be reversible where practical.&lt;br /&gt;
* Be documented.&lt;br /&gt;
* Be reviewed after the emergency.&lt;br /&gt;
&lt;br /&gt;
A trainee should request assistance immediately when the available response requires higher authority.&lt;br /&gt;
&lt;br /&gt;
= 9. Incident Leadership =&lt;br /&gt;
&lt;br /&gt;
A serious incident should have a clear incident lead.&lt;br /&gt;
&lt;br /&gt;
The incident lead coordinates:&lt;br /&gt;
&lt;br /&gt;
* Priorities.&lt;br /&gt;
* Staff assignments.&lt;br /&gt;
* Containment actions.&lt;br /&gt;
* Evidence collection.&lt;br /&gt;
* Internal communication.&lt;br /&gt;
* Public updates.&lt;br /&gt;
* Recovery decisions.&lt;br /&gt;
* Incident closure.&lt;br /&gt;
* Post-incident review.&lt;br /&gt;
&lt;br /&gt;
The incident lead should normally be the most appropriate authorized senior staff member—not necessarily the first person who noticed the problem.&lt;br /&gt;
&lt;br /&gt;
Trainees should follow the incident lead’s instructions and report observations clearly.&lt;br /&gt;
&lt;br /&gt;
= 10. Staff Roles During an Incident =&lt;br /&gt;
&lt;br /&gt;
Where enough staff are available, responsibilities may be divided:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! Responsibility&lt;br /&gt;
|-&lt;br /&gt;
| Incident lead&lt;br /&gt;
| Coordinates the overall response&lt;br /&gt;
|-&lt;br /&gt;
| Moderation responder&lt;br /&gt;
| Applies approved IRC protections&lt;br /&gt;
|-&lt;br /&gt;
| Technical responder&lt;br /&gt;
| Checks servers, Services, or infrastructure&lt;br /&gt;
|-&lt;br /&gt;
| Evidence recorder&lt;br /&gt;
| Maintains logs, timestamps, and the timeline&lt;br /&gt;
|-&lt;br /&gt;
| Communications contact&lt;br /&gt;
| Provides approved user or staff updates&lt;br /&gt;
|-&lt;br /&gt;
| Policy reviewer&lt;br /&gt;
| Confirms applicable rules and approval status&lt;br /&gt;
|-&lt;br /&gt;
| Liaison&lt;br /&gt;
| Coordinates with a DarkWorld project or external operator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
One person may perform several roles in a small incident, but responsibilities should remain clear.&lt;br /&gt;
&lt;br /&gt;
= 11. Internal Communication =&lt;br /&gt;
&lt;br /&gt;
During an incident:&lt;br /&gt;
&lt;br /&gt;
* Use the approved staff channel or system.&lt;br /&gt;
* Keep messages factual and concise.&lt;br /&gt;
* State what was observed.&lt;br /&gt;
* State what action was taken.&lt;br /&gt;
* Include accurate timestamps.&lt;br /&gt;
* Avoid speculation presented as fact.&lt;br /&gt;
* Avoid posting credentials.&lt;br /&gt;
* Avoid duplicating commands.&lt;br /&gt;
* Confirm changes made by other staff.&lt;br /&gt;
* Identify who is leading the response.&lt;br /&gt;
&lt;br /&gt;
A useful update is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:14 UTC — Flooding observed in #Example from six new connections. Channel temporarily set +m. Three targeted bans applied. Network operator assistance requested. No evidence of other affected channels yet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A poor update is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We are being destroyed. Ban everyone.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 12. Incident Timeline =&lt;br /&gt;
&lt;br /&gt;
A timeline records events in chronological order.&lt;br /&gt;
&lt;br /&gt;
Use a consistent timezone, preferably &#039;&#039;&#039;UTC&#039;&#039;&#039;, and state it clearly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:11 UTC — First repeated advertisement observed in #Example.&lt;br /&gt;
20:12 UTC — Same content observed in #Help.&lt;br /&gt;
20:13 UTC — Formal warning issued.&lt;br /&gt;
20:14 UTC — Additional connections joined and began flooding.&lt;br /&gt;
20:14 UTC — #Example set +m by StaffNick.&lt;br /&gt;
20:15 UTC — Senior network staff notified.&lt;br /&gt;
20:17 UTC — Targeted channel bans applied.&lt;br /&gt;
20:21 UTC — Flooding stopped.&lt;br /&gt;
20:28 UTC — Normal channel modes restored.&lt;br /&gt;
20:35 UTC — Evidence and action record completed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A timeline should record facts and actions, not emotional commentary.&lt;br /&gt;
&lt;br /&gt;
= 13. Evidence Preservation =&lt;br /&gt;
&lt;br /&gt;
Evidence may include:&lt;br /&gt;
&lt;br /&gt;
* Exact IRC messages.&lt;br /&gt;
* Timestamps.&lt;br /&gt;
* Channel names.&lt;br /&gt;
* Nicknames.&lt;br /&gt;
* Visible user masks.&lt;br /&gt;
* Registered accounts, where authorized.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Mode changes.&lt;br /&gt;
* Kick and ban reasons.&lt;br /&gt;
* Services responses.&lt;br /&gt;
* Bot or relay activity.&lt;br /&gt;
* Screenshots.&lt;br /&gt;
* Client logs.&lt;br /&gt;
* Authorized server logs.&lt;br /&gt;
* Policy or application records.&lt;br /&gt;
* Staff actions.&lt;br /&gt;
&lt;br /&gt;
== Evidence Principles ==&lt;br /&gt;
&lt;br /&gt;
Evidence should be:&lt;br /&gt;
&lt;br /&gt;
* Relevant.&lt;br /&gt;
* Preserved in its original form where possible.&lt;br /&gt;
* Complete enough to show context.&lt;br /&gt;
* Protected from unauthorized access.&lt;br /&gt;
* Linked to the incident record.&lt;br /&gt;
* Retained according to approved procedures.&lt;br /&gt;
* Shared only with people who require access.&lt;br /&gt;
&lt;br /&gt;
= 14. Evidence Integrity =&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Alter evidence to change its meaning.&lt;br /&gt;
* Delete inconvenient staff actions.&lt;br /&gt;
* Fabricate messages.&lt;br /&gt;
* Remove timestamps.&lt;br /&gt;
* Present a partial log as complete.&lt;br /&gt;
* Add assumptions to quoted material.&lt;br /&gt;
* Share private evidence publicly.&lt;br /&gt;
* Collect unrelated user information.&lt;br /&gt;
* Access systems beyond their authorization.&lt;br /&gt;
&lt;br /&gt;
If evidence must be redacted for wider sharing:&lt;br /&gt;
&lt;br /&gt;
* Preserve the protected original.&lt;br /&gt;
* Mark the copy as redacted.&lt;br /&gt;
* Remove only information not required by the audience.&lt;br /&gt;
* Do not change the meaning.&lt;br /&gt;
&lt;br /&gt;
= 15. Facts, Reports, and Inferences =&lt;br /&gt;
&lt;br /&gt;
Incident records should distinguish:&lt;br /&gt;
&lt;br /&gt;
== Direct Observation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Staff directly observed the user posting the same link four times in #Example.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Report ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The reporting user stated that similar messages were sent privately.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical Evidence ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Authorized logs show twelve connections within the same time window.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inference ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The matching timing and content suggest coordination, but common control has not yet been confirmed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clear wording protects the accuracy of the investigation.&lt;br /&gt;
&lt;br /&gt;
= 16. Screenshots and Logs =&lt;br /&gt;
&lt;br /&gt;
Screenshots can be useful, but they may:&lt;br /&gt;
&lt;br /&gt;
* Omit earlier context.&lt;br /&gt;
* Be edited.&lt;br /&gt;
* Hide timestamps.&lt;br /&gt;
* Exclude relevant users.&lt;br /&gt;
* Show only client-rendered information.&lt;br /&gt;
* Expose unrelated private conversations.&lt;br /&gt;
&lt;br /&gt;
Logs can also be incomplete or locally edited.&lt;br /&gt;
&lt;br /&gt;
Where possible:&lt;br /&gt;
&lt;br /&gt;
# Obtain the relevant time range.&lt;br /&gt;
# Preserve surrounding context.&lt;br /&gt;
# Compare user-provided evidence with authorized logs.&lt;br /&gt;
# Record the source.&lt;br /&gt;
# Avoid assuming a screenshot alone proves the entire allegation.&lt;br /&gt;
# Protect unrelated private information.&lt;br /&gt;
&lt;br /&gt;
= 17. Confidentiality Levels =&lt;br /&gt;
&lt;br /&gt;
Incident information may be classified operationally as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Classification&lt;br /&gt;
! Example&lt;br /&gt;
! Intended audience&lt;br /&gt;
|-&lt;br /&gt;
| Public&lt;br /&gt;
| Approved service-status message&lt;br /&gt;
| Network users&lt;br /&gt;
|-&lt;br /&gt;
| Internal&lt;br /&gt;
| Routine staff coordination&lt;br /&gt;
| Authorized DWIRC staff&lt;br /&gt;
|-&lt;br /&gt;
| Restricted&lt;br /&gt;
| Abuse evidence and account information&lt;br /&gt;
| Assigned investigation team&lt;br /&gt;
|-&lt;br /&gt;
| Highly Restricted&lt;br /&gt;
| Credentials, vulnerabilities, infrastructure details&lt;br /&gt;
| Specifically authorized senior or technical staff&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Not every staff member needs access to every incident detail.&lt;br /&gt;
&lt;br /&gt;
= 18. Privacy and Data Minimization =&lt;br /&gt;
&lt;br /&gt;
Collect only the information required to:&lt;br /&gt;
&lt;br /&gt;
* Understand the incident.&lt;br /&gt;
* Protect users.&lt;br /&gt;
* Apply policy.&lt;br /&gt;
* Support an appeal.&lt;br /&gt;
* Perform technical recovery.&lt;br /&gt;
* Meet an authorized operational requirement.&lt;br /&gt;
&lt;br /&gt;
Do not collect unrelated personal information “in case it becomes useful.”&lt;br /&gt;
&lt;br /&gt;
Incident reports should avoid unnecessary:&lt;br /&gt;
&lt;br /&gt;
* Full email addresses.&lt;br /&gt;
* Unmasked IP addresses.&lt;br /&gt;
* Private conversations.&lt;br /&gt;
* External account details.&lt;br /&gt;
* Personal documents.&lt;br /&gt;
* Credentials.&lt;br /&gt;
* Information about uninvolved users.&lt;br /&gt;
&lt;br /&gt;
= 19. Incident Escalation Paths =&lt;br /&gt;
&lt;br /&gt;
The appropriate destination depends on the incident.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Incident&lt;br /&gt;
! Escalation destination&lt;br /&gt;
|-&lt;br /&gt;
| Routine channel problem&lt;br /&gt;
| Channel founder or authorized channel staff&lt;br /&gt;
|-&lt;br /&gt;
| Network policy violation&lt;br /&gt;
| Authorized DWIRC staff or policy team&lt;br /&gt;
|-&lt;br /&gt;
| Advertising approval matter&lt;br /&gt;
| Policy team&lt;br /&gt;
|-&lt;br /&gt;
| Relay or bridge violation&lt;br /&gt;
| Relay team&lt;br /&gt;
|-&lt;br /&gt;
| NickServ or ChanServ administration&lt;br /&gt;
| Services staff&lt;br /&gt;
|-&lt;br /&gt;
| Multi-channel abuse&lt;br /&gt;
| IRC operators or network administration&lt;br /&gt;
|-&lt;br /&gt;
| Server or link problem&lt;br /&gt;
| IRCd/network operations&lt;br /&gt;
|-&lt;br /&gt;
| Compromised staff account&lt;br /&gt;
| Senior network management and security responders&lt;br /&gt;
|-&lt;br /&gt;
| Staff misconduct allegation&lt;br /&gt;
| Appropriate independent senior reviewer&lt;br /&gt;
|-&lt;br /&gt;
| Other DarkWorld project issue&lt;br /&gt;
| Relevant project team&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An incident may require more than one team.&lt;br /&gt;
&lt;br /&gt;
= 20. Advertising Incidents =&lt;br /&gt;
&lt;br /&gt;
For serious or repeated unauthorized advertising:&lt;br /&gt;
&lt;br /&gt;
# Preserve the exact content and context.&lt;br /&gt;
# Identify channels and recipients.&lt;br /&gt;
# Determine whether private messages were involved.&lt;br /&gt;
# Check the approval system.&lt;br /&gt;
# Identify repeated or coordinated distribution.&lt;br /&gt;
# Contain ongoing spam where authorized.&lt;br /&gt;
# Escalate approval decisions to the policy team.&lt;br /&gt;
# Record any warning or restriction.&lt;br /&gt;
# Monitor for evasion.&lt;br /&gt;
&lt;br /&gt;
Trainees must not change advertising application statuses without authorization.&lt;br /&gt;
&lt;br /&gt;
= 21. Relay and Bridge Incidents =&lt;br /&gt;
&lt;br /&gt;
For relay-related incidents:&lt;br /&gt;
&lt;br /&gt;
# Identify the relay bot.&lt;br /&gt;
# Identify the DarkWorld channel.&lt;br /&gt;
# Identify the external source where possible.&lt;br /&gt;
# Check registration or approval status.&lt;br /&gt;
# Determine whether the problem is isolated or repeated.&lt;br /&gt;
# Preserve relayed messages.&lt;br /&gt;
# Contact the operator through the approved process.&lt;br /&gt;
# Apply immediate channel protection if necessary.&lt;br /&gt;
# Escalate to the relay team.&lt;br /&gt;
# Record compliance notices and deadlines.&lt;br /&gt;
# Monitor corrective action.&lt;br /&gt;
&lt;br /&gt;
The relay bot may be the delivery mechanism rather than the original author, but its operator remains responsible for compliance.&lt;br /&gt;
&lt;br /&gt;
= 22. Harassment and Threat Incidents =&lt;br /&gt;
&lt;br /&gt;
For serious harassment:&lt;br /&gt;
&lt;br /&gt;
# Protect the targeted user.&lt;br /&gt;
# Ask whether the behavior is continuing.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Avoid requiring public disclosure.&lt;br /&gt;
# Identify repeated contact or evasion.&lt;br /&gt;
# Apply authorized restrictions.&lt;br /&gt;
# Escalate credible threats promptly.&lt;br /&gt;
# Avoid promising real-world protection beyond DarkWorld’s capabilities.&lt;br /&gt;
# Provide appropriate emergency guidance when immediate danger is reported.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff are not law enforcement or emergency services.&lt;br /&gt;
&lt;br /&gt;
If a person appears to face immediate real-world danger, they should be encouraged to contact the appropriate local emergency or law-enforcement service.&lt;br /&gt;
&lt;br /&gt;
= 23. Doxxing and Private Information Exposure =&lt;br /&gt;
&lt;br /&gt;
Doxxing involves exposing private identifying information without authorization.&lt;br /&gt;
&lt;br /&gt;
Possible examples include:&lt;br /&gt;
&lt;br /&gt;
* Home address.&lt;br /&gt;
* Telephone number.&lt;br /&gt;
* Private email address.&lt;br /&gt;
* Government identification.&lt;br /&gt;
* Financial details.&lt;br /&gt;
* Hidden IP or connection information.&lt;br /&gt;
* Private workplace or family information.&lt;br /&gt;
&lt;br /&gt;
Response priorities:&lt;br /&gt;
&lt;br /&gt;
# Stop further distribution.&lt;br /&gt;
# Avoid repeating the information.&lt;br /&gt;
# Preserve restricted evidence.&lt;br /&gt;
# Remove exposure where technically possible and authorized.&lt;br /&gt;
# Restrict the responsible accounts.&lt;br /&gt;
# Notify senior staff.&lt;br /&gt;
# Inform the affected user appropriately.&lt;br /&gt;
# Review whether any staff or system data was compromised.&lt;br /&gt;
&lt;br /&gt;
= 24. Credential Phishing =&lt;br /&gt;
&lt;br /&gt;
Phishing may involve:&lt;br /&gt;
&lt;br /&gt;
* Fake NickServ messages.&lt;br /&gt;
* Fake staff accounts.&lt;br /&gt;
* Links to imitation login pages.&lt;br /&gt;
* Requests for passwords.&lt;br /&gt;
* Claims that users must “verify” through an unofficial bot.&lt;br /&gt;
* Malicious files or scripts.&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
# Stop distribution.&lt;br /&gt;
# Warn users through an approved notice.&lt;br /&gt;
# Preserve the sender, content, destination, and time.&lt;br /&gt;
# Identify affected accounts.&lt;br /&gt;
# Advise exposed users to change credentials.&lt;br /&gt;
# Escalate immediately.&lt;br /&gt;
# Avoid opening malicious content on production systems.&lt;br /&gt;
# Record confirmed compromise separately from possible exposure.&lt;br /&gt;
&lt;br /&gt;
= 25. Coordinated Floods and Raids =&lt;br /&gt;
&lt;br /&gt;
A coordinated flood may affect:&lt;br /&gt;
&lt;br /&gt;
* One channel.&lt;br /&gt;
* Several channels.&lt;br /&gt;
* One IRC server.&lt;br /&gt;
* Multiple servers.&lt;br /&gt;
* Services.&lt;br /&gt;
* Private messages.&lt;br /&gt;
* Network connection capacity.&lt;br /&gt;
&lt;br /&gt;
Initial response may include:&lt;br /&gt;
&lt;br /&gt;
* Temporary channel modes.&lt;br /&gt;
* Targeted restrictions.&lt;br /&gt;
* Requesting IRC operator assistance.&lt;br /&gt;
* Reviewing connection patterns.&lt;br /&gt;
* Applying approved network protections.&lt;br /&gt;
* Keeping public communication brief.&lt;br /&gt;
* Recording every emergency change.&lt;br /&gt;
&lt;br /&gt;
Trainees must not make IRCd configuration or firewall changes.&lt;br /&gt;
&lt;br /&gt;
= 26. Server and Network Incidents =&lt;br /&gt;
&lt;br /&gt;
Possible indicators include:&lt;br /&gt;
&lt;br /&gt;
* Many users disconnecting simultaneously.&lt;br /&gt;
* A server disappearing from the network.&lt;br /&gt;
* Repeated link failures.&lt;br /&gt;
* Significant lag.&lt;br /&gt;
* Widespread connection failures.&lt;br /&gt;
* Unusual server notices.&lt;br /&gt;
* Large numbers of automated connections.&lt;br /&gt;
* Several servers becoming unreachable.&lt;br /&gt;
* TLS problems affecting multiple users.&lt;br /&gt;
&lt;br /&gt;
Trainees should:&lt;br /&gt;
&lt;br /&gt;
# Record the affected server or service.&lt;br /&gt;
# Record the time and observed symptoms.&lt;br /&gt;
# Determine whether multiple users are affected.&lt;br /&gt;
# Notify authorized network operations.&lt;br /&gt;
# Avoid making unsupported public claims.&lt;br /&gt;
# Avoid confusing a netsplit with a ban.&lt;br /&gt;
# Follow the approved status-message process.&lt;br /&gt;
&lt;br /&gt;
= 27. Services Incidents =&lt;br /&gt;
&lt;br /&gt;
Possible Services incidents include:&lt;br /&gt;
&lt;br /&gt;
* NickServ, ChanServ, or HostServ disconnecting.&lt;br /&gt;
* Widespread SASL failures.&lt;br /&gt;
* Registered channel status not being restored.&lt;br /&gt;
* Unexpected account or channel changes.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Services database errors.&lt;br /&gt;
* Repeated Services reconnects.&lt;br /&gt;
&lt;br /&gt;
During instability:&lt;br /&gt;
&lt;br /&gt;
* Avoid unnecessary ownership changes.&lt;br /&gt;
* Avoid telling all users to reset passwords unless compromise is confirmed.&lt;br /&gt;
* Record affected Services.&lt;br /&gt;
* Notify Services administration.&lt;br /&gt;
* Allow synchronization after recovery.&lt;br /&gt;
* Verify that channel access and modes are restored correctly.&lt;br /&gt;
&lt;br /&gt;
= 28. Compromised Staff Accounts =&lt;br /&gt;
&lt;br /&gt;
Indicators may include:&lt;br /&gt;
&lt;br /&gt;
* Unexpected operator commands.&lt;br /&gt;
* Unusual login location or timing.&lt;br /&gt;
* Unauthorized access grants.&lt;br /&gt;
* Unexplained configuration changes.&lt;br /&gt;
* Staff denial of actions recorded under their account.&lt;br /&gt;
* Password or token exposure.&lt;br /&gt;
* Impersonation combined with valid privileges.&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
# Notify senior management immediately.&lt;br /&gt;
# Limit the compromised access through authorized procedures.&lt;br /&gt;
# Preserve relevant logs.&lt;br /&gt;
# Do not confront the suspected attacker publicly.&lt;br /&gt;
# Rotate affected credentials.&lt;br /&gt;
# Review other systems using related credentials.&lt;br /&gt;
# Identify actions performed during the compromise.&lt;br /&gt;
# Restore altered settings carefully.&lt;br /&gt;
# Record the complete response.&lt;br /&gt;
&lt;br /&gt;
Trainees must not attempt to access another staff member’s account.&lt;br /&gt;
&lt;br /&gt;
= 29. Staff Misconduct Incidents =&lt;br /&gt;
&lt;br /&gt;
A staff misconduct allegation may include:&lt;br /&gt;
&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Unauthorized access.&lt;br /&gt;
* Exposure of private information.&lt;br /&gt;
* Abuse of operator commands.&lt;br /&gt;
* Favoritism.&lt;br /&gt;
* Falsified records.&lt;br /&gt;
* Improper account or channel changes.&lt;br /&gt;
* Sharing staff information.&lt;br /&gt;
* Interference with an investigation.&lt;br /&gt;
&lt;br /&gt;
The case should be:&lt;br /&gt;
&lt;br /&gt;
* Handled confidentially.&lt;br /&gt;
* Preserved accurately.&lt;br /&gt;
* Assigned to an appropriate independent reviewer.&lt;br /&gt;
* Protected from retaliation.&lt;br /&gt;
* Separated from unrelated personal disagreements.&lt;br /&gt;
* Decided using evidence and policy.&lt;br /&gt;
&lt;br /&gt;
The accused staff member should not be the sole investigator or decision-maker.&lt;br /&gt;
&lt;br /&gt;
= 30. Public Communication During an Incident =&lt;br /&gt;
&lt;br /&gt;
Public communication should be:&lt;br /&gt;
&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Brief.&lt;br /&gt;
* Approved.&lt;br /&gt;
* Free from speculation.&lt;br /&gt;
* Free from confidential details.&lt;br /&gt;
* Updated when meaningful information changes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We are investigating a service disruption affecting some IRC connections. Network staff are working on recovery. Please avoid repeatedly reconnecting and watch the official channel for updates.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The server was hacked.&lt;br /&gt;
We know who did it.&lt;br /&gt;
All accounts are compromised.&lt;br /&gt;
Everything is fixed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unless those statements have been confirmed and approved.&lt;br /&gt;
&lt;br /&gt;
= 31. Incident Handover =&lt;br /&gt;
&lt;br /&gt;
If responsibility passes to another staff member, provide:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Incident reference:&lt;br /&gt;
Current severity:&lt;br /&gt;
Start time:&lt;br /&gt;
Current status:&lt;br /&gt;
Affected users/channels/servers:&lt;br /&gt;
Confirmed facts:&lt;br /&gt;
Unverified reports:&lt;br /&gt;
Containment actions:&lt;br /&gt;
Active restrictions:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Teams notified:&lt;br /&gt;
Pending tasks:&lt;br /&gt;
Next review time:&lt;br /&gt;
Current incident lead:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outgoing staff member should confirm that the receiving person accepted the handover.&lt;br /&gt;
&lt;br /&gt;
= 32. Recovery =&lt;br /&gt;
&lt;br /&gt;
Recovery means safely returning the network or channel to normal operation.&lt;br /&gt;
&lt;br /&gt;
Recovery may include:&lt;br /&gt;
&lt;br /&gt;
* Removing temporary emergency modes.&lt;br /&gt;
* Reviewing bans.&lt;br /&gt;
* Reconnecting Services.&lt;br /&gt;
* Restoring channel access.&lt;br /&gt;
* Correcting account settings.&lt;br /&gt;
* Re-enabling approved relays.&lt;br /&gt;
* Updating status messages.&lt;br /&gt;
* Confirming server synchronization.&lt;br /&gt;
* Verifying that abuse has stopped.&lt;br /&gt;
* Monitoring for recurrence.&lt;br /&gt;
&lt;br /&gt;
Recovery should not begin blindly. Confirm that removing protection will not immediately restart the incident.&lt;br /&gt;
&lt;br /&gt;
= 33. Closing an Incident =&lt;br /&gt;
&lt;br /&gt;
An incident may be closed when:&lt;br /&gt;
&lt;br /&gt;
* Active harm has stopped.&lt;br /&gt;
* Necessary restrictions are in place.&lt;br /&gt;
* Affected services are stable.&lt;br /&gt;
* Required evidence is preserved.&lt;br /&gt;
* Users or teams have received appropriate updates.&lt;br /&gt;
* Pending actions have owners.&lt;br /&gt;
* The final report is complete.&lt;br /&gt;
* Review requirements are identified.&lt;br /&gt;
&lt;br /&gt;
Closing an incident does not necessarily mean all long-term work is finished.&lt;br /&gt;
&lt;br /&gt;
Follow-up tasks may remain open.&lt;br /&gt;
&lt;br /&gt;
= 34. Post-Incident Review =&lt;br /&gt;
&lt;br /&gt;
A post-incident review should ask:&lt;br /&gt;
&lt;br /&gt;
* What happened?&lt;br /&gt;
* When was it detected?&lt;br /&gt;
* What was the impact?&lt;br /&gt;
* What worked well?&lt;br /&gt;
* What delayed the response?&lt;br /&gt;
* Were actions proportionate?&lt;br /&gt;
* Were innocent users affected?&lt;br /&gt;
* Were records complete?&lt;br /&gt;
* Were policies clear?&lt;br /&gt;
* Did staff communication work?&lt;br /&gt;
* Were tools or bots reliable?&lt;br /&gt;
* What documentation should change?&lt;br /&gt;
* What technical controls should improve?&lt;br /&gt;
* Who owns each follow-up action?&lt;br /&gt;
&lt;br /&gt;
The purpose is improvement and accountability, not personal blame.&lt;br /&gt;
&lt;br /&gt;
= 35. Incident Report Template =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DARKWORLD IRC INCIDENT REPORT&lt;br /&gt;
&lt;br /&gt;
Case reference:&lt;br /&gt;
Incident title:&lt;br /&gt;
Date:&lt;br /&gt;
Timezone:&lt;br /&gt;
Reported by:&lt;br /&gt;
Incident lead:&lt;br /&gt;
Severity:&lt;br /&gt;
Current status:&lt;br /&gt;
&lt;br /&gt;
1. Summary&lt;br /&gt;
Brief description of the incident.&lt;br /&gt;
&lt;br /&gt;
2. Scope&lt;br /&gt;
Affected users:&lt;br /&gt;
Affected channels:&lt;br /&gt;
Affected servers:&lt;br /&gt;
Affected Services:&lt;br /&gt;
Affected projects:&lt;br /&gt;
&lt;br /&gt;
3. Timeline&lt;br /&gt;
Time — Event or action&lt;br /&gt;
Time — Event or action&lt;br /&gt;
&lt;br /&gt;
4. Confirmed Facts&lt;br /&gt;
List facts supported by evidence.&lt;br /&gt;
&lt;br /&gt;
5. User or Staff Reports&lt;br /&gt;
List relevant claims not directly observed.&lt;br /&gt;
&lt;br /&gt;
6. Inferences and Unknowns&lt;br /&gt;
Clearly identify conclusions and unanswered questions.&lt;br /&gt;
&lt;br /&gt;
7. Evidence&lt;br /&gt;
Evidence type:&lt;br /&gt;
Source:&lt;br /&gt;
Location:&lt;br /&gt;
Access classification:&lt;br /&gt;
&lt;br /&gt;
8. Immediate Actions&lt;br /&gt;
Action:&lt;br /&gt;
Performed by:&lt;br /&gt;
Time:&lt;br /&gt;
Reason:&lt;br /&gt;
&lt;br /&gt;
9. Restrictions Applied&lt;br /&gt;
Restriction:&lt;br /&gt;
Target:&lt;br /&gt;
Scope:&lt;br /&gt;
Duration:&lt;br /&gt;
Review date:&lt;br /&gt;
&lt;br /&gt;
10. Communications&lt;br /&gt;
Internal notices:&lt;br /&gt;
Public notices:&lt;br /&gt;
Affected-user communication:&lt;br /&gt;
&lt;br /&gt;
11. Escalation&lt;br /&gt;
Teams notified:&lt;br /&gt;
Time notified:&lt;br /&gt;
Response received:&lt;br /&gt;
&lt;br /&gt;
12. Recovery&lt;br /&gt;
Services restored:&lt;br /&gt;
Modes restored:&lt;br /&gt;
Restrictions reviewed:&lt;br /&gt;
Verification performed:&lt;br /&gt;
&lt;br /&gt;
13. Impact&lt;br /&gt;
Users affected:&lt;br /&gt;
Service interruption:&lt;br /&gt;
Innocent users affected:&lt;br /&gt;
Other consequences:&lt;br /&gt;
&lt;br /&gt;
14. Final Outcome&lt;br /&gt;
Resolution:&lt;br /&gt;
Remaining risks:&lt;br /&gt;
Open follow-up tasks:&lt;br /&gt;
&lt;br /&gt;
15. Review&lt;br /&gt;
What worked:&lt;br /&gt;
What did not work:&lt;br /&gt;
Required improvements:&lt;br /&gt;
Responsible person:&lt;br /&gt;
Target date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 36. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Severity Classification ==&lt;br /&gt;
&lt;br /&gt;
Classify each simulated case:&lt;br /&gt;
&lt;br /&gt;
* One accidental repeated message.&lt;br /&gt;
* Repeated private-message advertising.&lt;br /&gt;
* A coordinated raid across three channels.&lt;br /&gt;
* A fake NickServ collecting passwords.&lt;br /&gt;
* A suspected compromised Services Administrator account.&lt;br /&gt;
* A persistent server-link failure.&lt;br /&gt;
&lt;br /&gt;
Explain the reason for each classification.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Incident Timeline ==&lt;br /&gt;
&lt;br /&gt;
Using trainer-provided logs:&lt;br /&gt;
&lt;br /&gt;
* Convert events into UTC.&lt;br /&gt;
* Arrange them chronologically.&lt;br /&gt;
* Separate user actions from staff actions.&lt;br /&gt;
* Mark unverified reports.&lt;br /&gt;
* Identify missing information.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Confidential Evidence ==&lt;br /&gt;
&lt;br /&gt;
The trainer provides a simulated report containing:&lt;br /&gt;
&lt;br /&gt;
* A password.&lt;br /&gt;
* An IP address.&lt;br /&gt;
* A private-message log.&lt;br /&gt;
* Unrelated personal information.&lt;br /&gt;
&lt;br /&gt;
The candidate must identify:&lt;br /&gt;
&lt;br /&gt;
* What must be revoked or changed.&lt;br /&gt;
* What evidence is relevant.&lt;br /&gt;
* What should be redacted.&lt;br /&gt;
* Who may receive the restricted original.&lt;br /&gt;
* What must not be posted publicly.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
During a simulated raid, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the incident.&lt;br /&gt;
* Notify the trainer acting as incident lead.&lt;br /&gt;
* Recommend proportionate containment.&lt;br /&gt;
* Record mode changes.&lt;br /&gt;
* Preserve relevant evidence.&lt;br /&gt;
* Prepare a public status message.&lt;br /&gt;
* Restore the channel after authorization.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Handover ==&lt;br /&gt;
&lt;br /&gt;
The candidate must hand an active simulated incident to another trainee using the handover template.&lt;br /&gt;
&lt;br /&gt;
The receiving trainee must confirm:&lt;br /&gt;
&lt;br /&gt;
* Current severity.&lt;br /&gt;
* Active restrictions.&lt;br /&gt;
* Pending actions.&lt;br /&gt;
* Evidence location.&lt;br /&gt;
* Next review time.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Post-Incident Review ==&lt;br /&gt;
&lt;br /&gt;
Prepare a short review identifying:&lt;br /&gt;
&lt;br /&gt;
* What happened.&lt;br /&gt;
* What worked.&lt;br /&gt;
* What failed.&lt;br /&gt;
* Whether innocent users were affected.&lt;br /&gt;
* Three specific improvements.&lt;br /&gt;
* An owner for each improvement.&lt;br /&gt;
&lt;br /&gt;
= 37. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Phishing Nickname ==&lt;br /&gt;
&lt;br /&gt;
A user named `NickServ-Help` messages users asking for passwords.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat it as a high-severity impersonation and phishing incident. Stop ongoing distribution, warn users, preserve evidence, identify exposed accounts, and escalate immediately.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Netsplit Misidentified as Attack ==&lt;br /&gt;
&lt;br /&gt;
Many users quit simultaneously from one server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check for a server disconnection or netsplit. Record the affected server and time, consult authorized notices, and avoid claiming an attack without evidence.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Relay Imports Threats ==&lt;br /&gt;
&lt;br /&gt;
An approved relay imports repeated threats from a remote user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Protect affected users, preserve the relayed messages, identify the relay and external source, contact the relay operator, and escalate to the relay team and senior network staff.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Staff Credential Leak ==&lt;br /&gt;
&lt;br /&gt;
An IRC operator accidentally posts an operator password in a restricted channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat the credential as compromised even if the channel is restricted. Notify senior staff, rotate the credential, preserve the event record, and review related access.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Public Doxxing ==&lt;br /&gt;
&lt;br /&gt;
A user posts another person’s address and telephone number in a public channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stop further distribution, avoid repeating the information, preserve restricted evidence, remove exposure where authorized, protect the affected user, and escalate immediately.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Conflicting Staff Actions ==&lt;br /&gt;
&lt;br /&gt;
One staff member sets a channel to `+m`; another repeatedly removes it during an active raid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Establish incident leadership, stop public mode conflict, coordinate in the staff channel, confirm the active protection plan, and review the conflicting actions afterward.&lt;br /&gt;
&lt;br /&gt;
= 38. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What makes an event an incident rather than routine moderation?&lt;br /&gt;
# What are the main incident-response priorities?&lt;br /&gt;
# What are the four proposed severity levels?&lt;br /&gt;
# Which factors influence severity?&lt;br /&gt;
# What is the general incident-response process?&lt;br /&gt;
# What should staff ask when receiving an abuse report?&lt;br /&gt;
# When may immediate protective action be taken?&lt;br /&gt;
# What is the role of an incident lead?&lt;br /&gt;
# Why should staff roles be clear during an incident?&lt;br /&gt;
# What makes a useful internal incident update?&lt;br /&gt;
# Why should one consistent timezone be used?&lt;br /&gt;
# What information belongs in an incident timeline?&lt;br /&gt;
# What types of evidence may be relevant?&lt;br /&gt;
# What is evidence integrity?&lt;br /&gt;
# How should redacted evidence be handled?&lt;br /&gt;
# What is the difference between direct observation and inference?&lt;br /&gt;
# Why should screenshots not always be treated as complete proof?&lt;br /&gt;
# What are the proposed confidentiality levels?&lt;br /&gt;
# What is data minimization?&lt;br /&gt;
# Which team should handle an advertising approval violation?&lt;br /&gt;
# Which team should handle relay compliance?&lt;br /&gt;
# How should serious threats be handled?&lt;br /&gt;
# What are the priorities during a doxxing incident?&lt;br /&gt;
# What steps are required during credential phishing?&lt;br /&gt;
# What should trainees do during a network flood?&lt;br /&gt;
# What may indicate a server or Services incident?&lt;br /&gt;
# Why should permanent access changes be avoided during Services instability?&lt;br /&gt;
# How should a compromised staff account be handled?&lt;br /&gt;
# Who should review a staff-misconduct allegation?&lt;br /&gt;
# What makes an appropriate public incident update?&lt;br /&gt;
# What information belongs in a handover?&lt;br /&gt;
# What is required before recovery protections are removed?&lt;br /&gt;
# When may an incident be closed?&lt;br /&gt;
# What is the purpose of a post-incident review?&lt;br /&gt;
# Why must important staff mistakes remain in the record?&lt;br /&gt;
&lt;br /&gt;
= 39. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write a formal incident report for the following case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
At 19:05 UTC, users in `#DarkWorld` report private messages from `DarkWorldSecurity` containing a link to a fake account-verification page. At 19:08 UTC, the same nickname begins posting the link in `#Help` and `#Support`. Two users say they entered their NickServ passwords. At 19:10 UTC, several affected accounts reconnect and begin distributing the same message. One trainee publicly announces that “all DarkWorld accounts have been hacked,” although no network compromise has been confirmed.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your report must include:&lt;br /&gt;
&lt;br /&gt;
* Initial severity.&lt;br /&gt;
* Confirmed facts.&lt;br /&gt;
* Unverified reports.&lt;br /&gt;
* Immediate containment.&lt;br /&gt;
* Evidence requirements.&lt;br /&gt;
* Credential-response guidance.&lt;br /&gt;
* Internal escalation.&lt;br /&gt;
* Appropriate public communication.&lt;br /&gt;
* Correction of the trainee’s unsupported statement.&lt;br /&gt;
* Identification of potentially compromised accounts.&lt;br /&gt;
* Recovery steps.&lt;br /&gt;
* Follow-up actions.&lt;br /&gt;
* Post-incident improvements.&lt;br /&gt;
&lt;br /&gt;
= 40. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;27 of the 35&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the formal written incident report.&lt;br /&gt;
* Correctly classify simulated incidents.&lt;br /&gt;
* Preserve evidence appropriately.&lt;br /&gt;
* Complete a successful incident handover.&lt;br /&gt;
* Participate in the raid simulation.&lt;br /&gt;
* Demonstrate accurate public communication.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 41. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Incident recognition and severity&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Immediate protection and containment&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Evidence integrity and privacy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Timeline and documentation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and coordination&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Incident communication&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Recovery and closure&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Post-incident review&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Falsify, conceal, or improperly alter evidence.&lt;br /&gt;
* Publicly expose confidential information.&lt;br /&gt;
* Ignore a compromised staff account.&lt;br /&gt;
* Make unsupported public claims during incidents.&lt;br /&gt;
* Repeatedly act outside their authority.&lt;br /&gt;
* Obstruct an independent staff review.&lt;br /&gt;
* Fail to protect users during serious active harm.&lt;br /&gt;
* Refuse to document major actions.&lt;br /&gt;
&lt;br /&gt;
= 42. Quick Incident Checklist =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What happened?&lt;br /&gt;
2. Is it still happening?&lt;br /&gt;
3. Who or what is affected?&lt;br /&gt;
4. What is the current severity?&lt;br /&gt;
5. Is immediate protection required?&lt;br /&gt;
6. What action is within my authority?&lt;br /&gt;
7. Who is the incident lead?&lt;br /&gt;
8. What evidence must be preserved?&lt;br /&gt;
9. Is any information confidential?&lt;br /&gt;
10. Which team must be notified?&lt;br /&gt;
11. What temporary restrictions are active?&lt;br /&gt;
12. What can be communicated publicly?&lt;br /&gt;
13. What remains unverified?&lt;br /&gt;
14. What is required for recovery?&lt;br /&gt;
15. Who owns the follow-up actions?&lt;br /&gt;
16. When will the incident be reviewed?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 43. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Incident Response]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Incident_Handling&amp;diff=394</id>
		<title>DWIRC:Staff Training/Incident Handling</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Incident_Handling&amp;diff=394"/>
		<updated>2026-08-08T17:56:35Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 8 — Abuse and Incident Handling}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 8: Abuse and Incident Handling&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 8 of 10 |- ! Difficulty...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 8 — Abuse and Incident Handling}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 8: Abuse and Incident Handling&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 8 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Advanced&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–6 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, incident simulations, and formal incident report&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
An incident is an event that threatens or disrupts DarkWorld IRC users, channels, Services, servers, policies, or operations.&lt;br /&gt;
&lt;br /&gt;
Incidents may include:&lt;br /&gt;
&lt;br /&gt;
* Serious harassment.&lt;br /&gt;
* Threats or exposure of private information.&lt;br /&gt;
* Coordinated flooding or raids.&lt;br /&gt;
* Spam across multiple channels.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Malicious bots.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Unauthorized relays.&lt;br /&gt;
* Services failures.&lt;br /&gt;
* Server disconnections.&lt;br /&gt;
* Network attacks.&lt;br /&gt;
* Compromised accounts.&lt;br /&gt;
* Staff misconduct.&lt;br /&gt;
* Policy or approval violations.&lt;br /&gt;
&lt;br /&gt;
Incident handling requires more than issuing a kick or ban. Staff must identify the problem, protect users, preserve evidence, coordinate actions, communicate accurately, and review the outcome.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Recognize an incident.&lt;br /&gt;
# Classify its urgency and severity.&lt;br /&gt;
# Take safe immediate protective action.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Separate facts, allegations, and inferences.&lt;br /&gt;
# Protect private and security-sensitive information.&lt;br /&gt;
# Escalate to the correct team.&lt;br /&gt;
# Maintain a clear incident timeline.&lt;br /&gt;
# Avoid conflicting staff actions.&lt;br /&gt;
# Prepare a professional incident report.&lt;br /&gt;
# Hand over an active incident correctly.&lt;br /&gt;
# Close and review an incident.&lt;br /&gt;
# Identify improvements after an incident.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is an Incident? =&lt;br /&gt;
&lt;br /&gt;
An incident is an event requiring coordinated attention because it:&lt;br /&gt;
&lt;br /&gt;
* Causes significant disruption.&lt;br /&gt;
* Affects multiple users, channels, or servers.&lt;br /&gt;
* Creates a security or privacy risk.&lt;br /&gt;
* Requires more authority than ordinary moderation.&lt;br /&gt;
* May continue or spread.&lt;br /&gt;
* Requires formal documentation.&lt;br /&gt;
* Requires coordination between staff teams.&lt;br /&gt;
* Could affect trust in the network.&lt;br /&gt;
&lt;br /&gt;
Not every disagreement or minor rule violation is an incident.&lt;br /&gt;
&lt;br /&gt;
Examples of ordinary moderation include:&lt;br /&gt;
&lt;br /&gt;
* A user posting off-topic content.&lt;br /&gt;
* A single accidental flood.&lt;br /&gt;
* A minor channel-rule violation.&lt;br /&gt;
* A routine kick or temporary channel ban.&lt;br /&gt;
&lt;br /&gt;
The matter may become an incident when it is repeated, coordinated, severe, widespread, security-related, or disputed at a high level.&lt;br /&gt;
&lt;br /&gt;
= 2. Incident Priorities =&lt;br /&gt;
&lt;br /&gt;
During an incident, staff should prioritize:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Safety&#039;&#039;&#039; – Protect users and prevent immediate harm.&lt;br /&gt;
# &#039;&#039;&#039;Containment&#039;&#039;&#039; – Stop the incident from spreading.&lt;br /&gt;
# &#039;&#039;&#039;Evidence&#039;&#039;&#039; – Preserve enough reliable information.&lt;br /&gt;
# &#039;&#039;&#039;Coordination&#039;&#039;&#039; – Ensure staff actions do not conflict.&lt;br /&gt;
# &#039;&#039;&#039;Recovery&#039;&#039;&#039; – Restore normal service safely.&lt;br /&gt;
# &#039;&#039;&#039;Communication&#039;&#039;&#039; – Provide accurate and approved information.&lt;br /&gt;
# &#039;&#039;&#039;Review&#039;&#039;&#039; – Learn from the incident and improve controls.&lt;br /&gt;
&lt;br /&gt;
Evidence is important, but staff must not allow serious ongoing harm merely to obtain a more complete log.&lt;br /&gt;
&lt;br /&gt;
= 3. Incident Severity Levels =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may classify incidents using four operational levels.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Level&lt;br /&gt;
! Classification&lt;br /&gt;
! Examples&lt;br /&gt;
! General response&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 1&#039;&#039;&#039;&lt;br /&gt;
| Low&lt;br /&gt;
| Minor isolated disruption, first-time low-impact violation&lt;br /&gt;
| Guidance, warning, routine moderation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 2&#039;&#039;&#039;&lt;br /&gt;
| Moderate&lt;br /&gt;
| Repeated flooding, ongoing harassment, repeated advertising, limited ban evasion&lt;br /&gt;
| Contain, document, notify appropriate staff&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 3&#039;&#039;&#039;&lt;br /&gt;
| High&lt;br /&gt;
| Coordinated raid, multi-channel abuse, phishing, serious threats, unauthorized relay campaign&lt;br /&gt;
| Immediate containment and senior escalation&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Level 4&#039;&#039;&#039;&lt;br /&gt;
| Critical&lt;br /&gt;
| Network attack, server compromise, staff-account compromise, Services database risk, widespread data exposure&lt;br /&gt;
| Emergency escalation, incident leadership, controlled recovery&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Severity may change as new information becomes available.&lt;br /&gt;
&lt;br /&gt;
A Level 2 incident may become Level 3 if it spreads across channels. A suspected Level 4 incident may be downgraded after investigation.&lt;br /&gt;
&lt;br /&gt;
= 4. Severity Assessment Factors =&lt;br /&gt;
&lt;br /&gt;
Consider:&lt;br /&gt;
&lt;br /&gt;
* Number of users affected.&lt;br /&gt;
* Number of channels or servers affected.&lt;br /&gt;
* Whether the incident is ongoing.&lt;br /&gt;
* Whether automation is involved.&lt;br /&gt;
* Whether private information is exposed.&lt;br /&gt;
* Whether credentials are compromised.&lt;br /&gt;
* Whether infrastructure is affected.&lt;br /&gt;
* Whether the conduct is coordinated.&lt;br /&gt;
* Whether the actor is evading restrictions.&lt;br /&gt;
* Whether staff access is involved.&lt;br /&gt;
* Whether normal service is unavailable.&lt;br /&gt;
* Whether harm can spread quickly.&lt;br /&gt;
* Whether immediate senior intervention is required.&lt;br /&gt;
&lt;br /&gt;
Do not classify an incident based solely on how angry the reporter appears.&lt;br /&gt;
&lt;br /&gt;
= 5. Incident Response Process =&lt;br /&gt;
&lt;br /&gt;
The general process is:&lt;br /&gt;
&lt;br /&gt;
# Detect or receive the report.&lt;br /&gt;
# Acknowledge the incident.&lt;br /&gt;
# Perform initial assessment.&lt;br /&gt;
# Assign severity.&lt;br /&gt;
# Protect affected users.&lt;br /&gt;
# Contain active harm.&lt;br /&gt;
# Preserve evidence.&lt;br /&gt;
# Notify the correct staff.&lt;br /&gt;
# Assign or identify incident leadership.&lt;br /&gt;
# Investigate within authorization.&lt;br /&gt;
# Restore normal operation.&lt;br /&gt;
# Communicate the outcome appropriately.&lt;br /&gt;
# Close the incident.&lt;br /&gt;
# Perform a post-incident review.&lt;br /&gt;
&lt;br /&gt;
= 6. Detecting an Incident =&lt;br /&gt;
&lt;br /&gt;
Incidents may be detected through:&lt;br /&gt;
&lt;br /&gt;
* User reports.&lt;br /&gt;
* Staff observation.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Services messages.&lt;br /&gt;
* Monitoring systems.&lt;br /&gt;
* Bot alerts.&lt;br /&gt;
* PolicyServ.&lt;br /&gt;
* RelayServ.&lt;br /&gt;
* Channel logs.&lt;br /&gt;
* Repeated support requests.&lt;br /&gt;
* Server or Services failures.&lt;br /&gt;
* Unusual connection patterns.&lt;br /&gt;
&lt;br /&gt;
An alert is not always proof of an incident. Staff should verify available information while remaining ready to act if the risk is high.&lt;br /&gt;
&lt;br /&gt;
= 7. Receiving an Abuse Report =&lt;br /&gt;
&lt;br /&gt;
When a user reports abuse:&lt;br /&gt;
&lt;br /&gt;
# Acknowledge the report.&lt;br /&gt;
# Determine whether harm is still occurring.&lt;br /&gt;
# Ask where and when it happened.&lt;br /&gt;
# Ask which users or channels are involved.&lt;br /&gt;
# Move sensitive evidence to the approved private process.&lt;br /&gt;
# Avoid promising a specific punishment.&lt;br /&gt;
# Preserve the original report.&lt;br /&gt;
# Escalate according to severity.&lt;br /&gt;
# Explain the next available step.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Thank you for reporting this. Is the behavior still happening? Please provide the channel, approximate time, and nicknames involved. Do not post IP addresses, passwords, or private evidence publicly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 8. Immediate Protective Action =&lt;br /&gt;
&lt;br /&gt;
Immediate action may be necessary to:&lt;br /&gt;
&lt;br /&gt;
* Stop active flooding.&lt;br /&gt;
* Remove a malicious link.&lt;br /&gt;
* Restrict a phishing account.&lt;br /&gt;
* Protect a user from repeated harassment.&lt;br /&gt;
* Moderate a channel during a raid.&lt;br /&gt;
* Remove a malfunctioning bot.&lt;br /&gt;
* Stop an unauthorized relay from importing harmful content.&lt;br /&gt;
* Prevent further exposure of private information.&lt;br /&gt;
&lt;br /&gt;
The action should:&lt;br /&gt;
&lt;br /&gt;
* Be within the staff member’s authority.&lt;br /&gt;
* Target the active harm.&lt;br /&gt;
* Minimize impact on legitimate users.&lt;br /&gt;
* Be reversible where practical.&lt;br /&gt;
* Be documented.&lt;br /&gt;
* Be reviewed after the emergency.&lt;br /&gt;
&lt;br /&gt;
A trainee should request assistance immediately when the available response requires higher authority.&lt;br /&gt;
&lt;br /&gt;
= 9. Incident Leadership =&lt;br /&gt;
&lt;br /&gt;
A serious incident should have a clear incident lead.&lt;br /&gt;
&lt;br /&gt;
The incident lead coordinates:&lt;br /&gt;
&lt;br /&gt;
* Priorities.&lt;br /&gt;
* Staff assignments.&lt;br /&gt;
* Containment actions.&lt;br /&gt;
* Evidence collection.&lt;br /&gt;
* Internal communication.&lt;br /&gt;
* Public updates.&lt;br /&gt;
* Recovery decisions.&lt;br /&gt;
* Incident closure.&lt;br /&gt;
* Post-incident review.&lt;br /&gt;
&lt;br /&gt;
The incident lead should normally be the most appropriate authorized senior staff member—not necessarily the first person who noticed the problem.&lt;br /&gt;
&lt;br /&gt;
Trainees should follow the incident lead’s instructions and report observations clearly.&lt;br /&gt;
&lt;br /&gt;
= 10. Staff Roles During an Incident =&lt;br /&gt;
&lt;br /&gt;
Where enough staff are available, responsibilities may be divided:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! Responsibility&lt;br /&gt;
|-&lt;br /&gt;
| Incident lead&lt;br /&gt;
| Coordinates the overall response&lt;br /&gt;
|-&lt;br /&gt;
| Moderation responder&lt;br /&gt;
| Applies approved IRC protections&lt;br /&gt;
|-&lt;br /&gt;
| Technical responder&lt;br /&gt;
| Checks servers, Services, or infrastructure&lt;br /&gt;
|-&lt;br /&gt;
| Evidence recorder&lt;br /&gt;
| Maintains logs, timestamps, and the timeline&lt;br /&gt;
|-&lt;br /&gt;
| Communications contact&lt;br /&gt;
| Provides approved user or staff updates&lt;br /&gt;
|-&lt;br /&gt;
| Policy reviewer&lt;br /&gt;
| Confirms applicable rules and approval status&lt;br /&gt;
|-&lt;br /&gt;
| Liaison&lt;br /&gt;
| Coordinates with a DarkWorld project or external operator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
One person may perform several roles in a small incident, but responsibilities should remain clear.&lt;br /&gt;
&lt;br /&gt;
= 11. Internal Communication =&lt;br /&gt;
&lt;br /&gt;
During an incident:&lt;br /&gt;
&lt;br /&gt;
* Use the approved staff channel or system.&lt;br /&gt;
* Keep messages factual and concise.&lt;br /&gt;
* State what was observed.&lt;br /&gt;
* State what action was taken.&lt;br /&gt;
* Include accurate timestamps.&lt;br /&gt;
* Avoid speculation presented as fact.&lt;br /&gt;
* Avoid posting credentials.&lt;br /&gt;
* Avoid duplicating commands.&lt;br /&gt;
* Confirm changes made by other staff.&lt;br /&gt;
* Identify who is leading the response.&lt;br /&gt;
&lt;br /&gt;
A useful update is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:14 UTC — Flooding observed in #Example from six new connections. Channel temporarily set +m. Three targeted bans applied. Network operator assistance requested. No evidence of other affected channels yet.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A poor update is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We are being destroyed. Ban everyone.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 12. Incident Timeline =&lt;br /&gt;
&lt;br /&gt;
A timeline records events in chronological order.&lt;br /&gt;
&lt;br /&gt;
Use a consistent timezone, preferably &#039;&#039;&#039;UTC&#039;&#039;&#039;, and state it clearly.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
20:11 UTC — First repeated advertisement observed in #Example.&lt;br /&gt;
20:12 UTC — Same content observed in #Help.&lt;br /&gt;
20:13 UTC — Formal warning issued.&lt;br /&gt;
20:14 UTC — Additional connections joined and began flooding.&lt;br /&gt;
20:14 UTC — #Example set +m by StaffNick.&lt;br /&gt;
20:15 UTC — Senior network staff notified.&lt;br /&gt;
20:17 UTC — Targeted channel bans applied.&lt;br /&gt;
20:21 UTC — Flooding stopped.&lt;br /&gt;
20:28 UTC — Normal channel modes restored.&lt;br /&gt;
20:35 UTC — Evidence and action record completed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A timeline should record facts and actions, not emotional commentary.&lt;br /&gt;
&lt;br /&gt;
= 13. Evidence Preservation =&lt;br /&gt;
&lt;br /&gt;
Evidence may include:&lt;br /&gt;
&lt;br /&gt;
* Exact IRC messages.&lt;br /&gt;
* Timestamps.&lt;br /&gt;
* Channel names.&lt;br /&gt;
* Nicknames.&lt;br /&gt;
* Visible user masks.&lt;br /&gt;
* Registered accounts, where authorized.&lt;br /&gt;
* Server notices.&lt;br /&gt;
* Mode changes.&lt;br /&gt;
* Kick and ban reasons.&lt;br /&gt;
* Services responses.&lt;br /&gt;
* Bot or relay activity.&lt;br /&gt;
* Screenshots.&lt;br /&gt;
* Client logs.&lt;br /&gt;
* Authorized server logs.&lt;br /&gt;
* Policy or application records.&lt;br /&gt;
* Staff actions.&lt;br /&gt;
&lt;br /&gt;
== Evidence Principles ==&lt;br /&gt;
&lt;br /&gt;
Evidence should be:&lt;br /&gt;
&lt;br /&gt;
* Relevant.&lt;br /&gt;
* Preserved in its original form where possible.&lt;br /&gt;
* Complete enough to show context.&lt;br /&gt;
* Protected from unauthorized access.&lt;br /&gt;
* Linked to the incident record.&lt;br /&gt;
* Retained according to approved procedures.&lt;br /&gt;
* Shared only with people who require access.&lt;br /&gt;
&lt;br /&gt;
= 14. Evidence Integrity =&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Alter evidence to change its meaning.&lt;br /&gt;
* Delete inconvenient staff actions.&lt;br /&gt;
* Fabricate messages.&lt;br /&gt;
* Remove timestamps.&lt;br /&gt;
* Present a partial log as complete.&lt;br /&gt;
* Add assumptions to quoted material.&lt;br /&gt;
* Share private evidence publicly.&lt;br /&gt;
* Collect unrelated user information.&lt;br /&gt;
* Access systems beyond their authorization.&lt;br /&gt;
&lt;br /&gt;
If evidence must be redacted for wider sharing:&lt;br /&gt;
&lt;br /&gt;
* Preserve the protected original.&lt;br /&gt;
* Mark the copy as redacted.&lt;br /&gt;
* Remove only information not required by the audience.&lt;br /&gt;
* Do not change the meaning.&lt;br /&gt;
&lt;br /&gt;
= 15. Facts, Reports, and Inferences =&lt;br /&gt;
&lt;br /&gt;
Incident records should distinguish:&lt;br /&gt;
&lt;br /&gt;
== Direct Observation ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Staff directly observed the user posting the same link four times in #Example.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User Report ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The reporting user stated that similar messages were sent privately.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Technical Evidence ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Authorized logs show twelve connections within the same time window.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inference ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The matching timing and content suggest coordination, but common control has not yet been confirmed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Clear wording protects the accuracy of the investigation.&lt;br /&gt;
&lt;br /&gt;
= 16. Screenshots and Logs =&lt;br /&gt;
&lt;br /&gt;
Screenshots can be useful, but they may:&lt;br /&gt;
&lt;br /&gt;
* Omit earlier context.&lt;br /&gt;
* Be edited.&lt;br /&gt;
* Hide timestamps.&lt;br /&gt;
* Exclude relevant users.&lt;br /&gt;
* Show only client-rendered information.&lt;br /&gt;
* Expose unrelated private conversations.&lt;br /&gt;
&lt;br /&gt;
Logs can also be incomplete or locally edited.&lt;br /&gt;
&lt;br /&gt;
Where possible:&lt;br /&gt;
&lt;br /&gt;
# Obtain the relevant time range.&lt;br /&gt;
# Preserve surrounding context.&lt;br /&gt;
# Compare user-provided evidence with authorized logs.&lt;br /&gt;
# Record the source.&lt;br /&gt;
# Avoid assuming a screenshot alone proves the entire allegation.&lt;br /&gt;
# Protect unrelated private information.&lt;br /&gt;
&lt;br /&gt;
= 17. Confidentiality Levels =&lt;br /&gt;
&lt;br /&gt;
Incident information may be classified operationally as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Classification&lt;br /&gt;
! Example&lt;br /&gt;
! Intended audience&lt;br /&gt;
|-&lt;br /&gt;
| Public&lt;br /&gt;
| Approved service-status message&lt;br /&gt;
| Network users&lt;br /&gt;
|-&lt;br /&gt;
| Internal&lt;br /&gt;
| Routine staff coordination&lt;br /&gt;
| Authorized DWIRC staff&lt;br /&gt;
|-&lt;br /&gt;
| Restricted&lt;br /&gt;
| Abuse evidence and account information&lt;br /&gt;
| Assigned investigation team&lt;br /&gt;
|-&lt;br /&gt;
| Highly Restricted&lt;br /&gt;
| Credentials, vulnerabilities, infrastructure details&lt;br /&gt;
| Specifically authorized senior or technical staff&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Not every staff member needs access to every incident detail.&lt;br /&gt;
&lt;br /&gt;
= 18. Privacy and Data Minimization =&lt;br /&gt;
&lt;br /&gt;
Collect only the information required to:&lt;br /&gt;
&lt;br /&gt;
* Understand the incident.&lt;br /&gt;
* Protect users.&lt;br /&gt;
* Apply policy.&lt;br /&gt;
* Support an appeal.&lt;br /&gt;
* Perform technical recovery.&lt;br /&gt;
* Meet an authorized operational requirement.&lt;br /&gt;
&lt;br /&gt;
Do not collect unrelated personal information “in case it becomes useful.”&lt;br /&gt;
&lt;br /&gt;
Incident reports should avoid unnecessary:&lt;br /&gt;
&lt;br /&gt;
* Full email addresses.&lt;br /&gt;
* Unmasked IP addresses.&lt;br /&gt;
* Private conversations.&lt;br /&gt;
* External account details.&lt;br /&gt;
* Personal documents.&lt;br /&gt;
* Credentials.&lt;br /&gt;
* Information about uninvolved users.&lt;br /&gt;
&lt;br /&gt;
= 19. Incident Escalation Paths =&lt;br /&gt;
&lt;br /&gt;
The appropriate destination depends on the incident.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Incident&lt;br /&gt;
! Escalation destination&lt;br /&gt;
|-&lt;br /&gt;
| Routine channel problem&lt;br /&gt;
| Channel founder or authorized channel staff&lt;br /&gt;
|-&lt;br /&gt;
| Network policy violation&lt;br /&gt;
| Authorized DWIRC staff or policy team&lt;br /&gt;
|-&lt;br /&gt;
| Advertising approval matter&lt;br /&gt;
| Policy team&lt;br /&gt;
|-&lt;br /&gt;
| Relay or bridge violation&lt;br /&gt;
| Relay team&lt;br /&gt;
|-&lt;br /&gt;
| NickServ or ChanServ administration&lt;br /&gt;
| Services staff&lt;br /&gt;
|-&lt;br /&gt;
| Multi-channel abuse&lt;br /&gt;
| IRC operators or network administration&lt;br /&gt;
|-&lt;br /&gt;
| Server or link problem&lt;br /&gt;
| IRCd/network operations&lt;br /&gt;
|-&lt;br /&gt;
| Compromised staff account&lt;br /&gt;
| Senior network management and security responders&lt;br /&gt;
|-&lt;br /&gt;
| Staff misconduct allegation&lt;br /&gt;
| Appropriate independent senior reviewer&lt;br /&gt;
|-&lt;br /&gt;
| Other DarkWorld project issue&lt;br /&gt;
| Relevant project team&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An incident may require more than one team.&lt;br /&gt;
&lt;br /&gt;
= 20. Advertising Incidents =&lt;br /&gt;
&lt;br /&gt;
For serious or repeated unauthorized advertising:&lt;br /&gt;
&lt;br /&gt;
# Preserve the exact content and context.&lt;br /&gt;
# Identify channels and recipients.&lt;br /&gt;
# Determine whether private messages were involved.&lt;br /&gt;
# Check the approval system.&lt;br /&gt;
# Identify repeated or coordinated distribution.&lt;br /&gt;
# Contain ongoing spam where authorized.&lt;br /&gt;
# Escalate approval decisions to the policy team.&lt;br /&gt;
# Record any warning or restriction.&lt;br /&gt;
# Monitor for evasion.&lt;br /&gt;
&lt;br /&gt;
Trainees must not change advertising application statuses without authorization.&lt;br /&gt;
&lt;br /&gt;
= 21. Relay and Bridge Incidents =&lt;br /&gt;
&lt;br /&gt;
For relay-related incidents:&lt;br /&gt;
&lt;br /&gt;
# Identify the relay bot.&lt;br /&gt;
# Identify the DarkWorld channel.&lt;br /&gt;
# Identify the external source where possible.&lt;br /&gt;
# Check registration or approval status.&lt;br /&gt;
# Determine whether the problem is isolated or repeated.&lt;br /&gt;
# Preserve relayed messages.&lt;br /&gt;
# Contact the operator through the approved process.&lt;br /&gt;
# Apply immediate channel protection if necessary.&lt;br /&gt;
# Escalate to the relay team.&lt;br /&gt;
# Record compliance notices and deadlines.&lt;br /&gt;
# Monitor corrective action.&lt;br /&gt;
&lt;br /&gt;
The relay bot may be the delivery mechanism rather than the original author, but its operator remains responsible for compliance.&lt;br /&gt;
&lt;br /&gt;
= 22. Harassment and Threat Incidents =&lt;br /&gt;
&lt;br /&gt;
For serious harassment:&lt;br /&gt;
&lt;br /&gt;
# Protect the targeted user.&lt;br /&gt;
# Ask whether the behavior is continuing.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Avoid requiring public disclosure.&lt;br /&gt;
# Identify repeated contact or evasion.&lt;br /&gt;
# Apply authorized restrictions.&lt;br /&gt;
# Escalate credible threats promptly.&lt;br /&gt;
# Avoid promising real-world protection beyond DarkWorld’s capabilities.&lt;br /&gt;
# Provide appropriate emergency guidance when immediate danger is reported.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff are not law enforcement or emergency services.&lt;br /&gt;
&lt;br /&gt;
If a person appears to face immediate real-world danger, they should be encouraged to contact the appropriate local emergency or law-enforcement service.&lt;br /&gt;
&lt;br /&gt;
= 23. Doxxing and Private Information Exposure =&lt;br /&gt;
&lt;br /&gt;
Doxxing involves exposing private identifying information without authorization.&lt;br /&gt;
&lt;br /&gt;
Possible examples include:&lt;br /&gt;
&lt;br /&gt;
* Home address.&lt;br /&gt;
* Telephone number.&lt;br /&gt;
* Private email address.&lt;br /&gt;
* Government identification.&lt;br /&gt;
* Financial details.&lt;br /&gt;
* Hidden IP or connection information.&lt;br /&gt;
* Private workplace or family information.&lt;br /&gt;
&lt;br /&gt;
Response priorities:&lt;br /&gt;
&lt;br /&gt;
# Stop further distribution.&lt;br /&gt;
# Avoid repeating the information.&lt;br /&gt;
# Preserve restricted evidence.&lt;br /&gt;
# Remove exposure where technically possible and authorized.&lt;br /&gt;
# Restrict the responsible accounts.&lt;br /&gt;
# Notify senior staff.&lt;br /&gt;
# Inform the affected user appropriately.&lt;br /&gt;
# Review whether any staff or system data was compromised.&lt;br /&gt;
&lt;br /&gt;
= 24. Credential Phishing =&lt;br /&gt;
&lt;br /&gt;
Phishing may involve:&lt;br /&gt;
&lt;br /&gt;
* Fake NickServ messages.&lt;br /&gt;
* Fake staff accounts.&lt;br /&gt;
* Links to imitation login pages.&lt;br /&gt;
* Requests for passwords.&lt;br /&gt;
* Claims that users must “verify” through an unofficial bot.&lt;br /&gt;
* Malicious files or scripts.&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
# Stop distribution.&lt;br /&gt;
# Warn users through an approved notice.&lt;br /&gt;
# Preserve the sender, content, destination, and time.&lt;br /&gt;
# Identify affected accounts.&lt;br /&gt;
# Advise exposed users to change credentials.&lt;br /&gt;
# Escalate immediately.&lt;br /&gt;
# Avoid opening malicious content on production systems.&lt;br /&gt;
# Record confirmed compromise separately from possible exposure.&lt;br /&gt;
&lt;br /&gt;
= 25. Coordinated Floods and Raids =&lt;br /&gt;
&lt;br /&gt;
A coordinated flood may affect:&lt;br /&gt;
&lt;br /&gt;
* One channel.&lt;br /&gt;
* Several channels.&lt;br /&gt;
* One IRC server.&lt;br /&gt;
* Multiple servers.&lt;br /&gt;
* Services.&lt;br /&gt;
* Private messages.&lt;br /&gt;
* Network connection capacity.&lt;br /&gt;
&lt;br /&gt;
Initial response may include:&lt;br /&gt;
&lt;br /&gt;
* Temporary channel modes.&lt;br /&gt;
* Targeted restrictions.&lt;br /&gt;
* Requesting IRC operator assistance.&lt;br /&gt;
* Reviewing connection patterns.&lt;br /&gt;
* Applying approved network protections.&lt;br /&gt;
* Keeping public communication brief.&lt;br /&gt;
* Recording every emergency change.&lt;br /&gt;
&lt;br /&gt;
Trainees must not make IRCd configuration or firewall changes.&lt;br /&gt;
&lt;br /&gt;
= 26. Server and Network Incidents =&lt;br /&gt;
&lt;br /&gt;
Possible indicators include:&lt;br /&gt;
&lt;br /&gt;
* Many users disconnecting simultaneously.&lt;br /&gt;
* A server disappearing from the network.&lt;br /&gt;
* Repeated link failures.&lt;br /&gt;
* Significant lag.&lt;br /&gt;
* Widespread connection failures.&lt;br /&gt;
* Unusual server notices.&lt;br /&gt;
* Large numbers of automated connections.&lt;br /&gt;
* Several servers becoming unreachable.&lt;br /&gt;
* TLS problems affecting multiple users.&lt;br /&gt;
&lt;br /&gt;
Trainees should:&lt;br /&gt;
&lt;br /&gt;
# Record the affected server or service.&lt;br /&gt;
# Record the time and observed symptoms.&lt;br /&gt;
# Determine whether multiple users are affected.&lt;br /&gt;
# Notify authorized network operations.&lt;br /&gt;
# Avoid making unsupported public claims.&lt;br /&gt;
# Avoid confusing a netsplit with a ban.&lt;br /&gt;
# Follow the approved status-message process.&lt;br /&gt;
&lt;br /&gt;
= 27. Services Incidents =&lt;br /&gt;
&lt;br /&gt;
Possible Services incidents include:&lt;br /&gt;
&lt;br /&gt;
* NickServ, ChanServ, or HostServ disconnecting.&lt;br /&gt;
* Widespread SASL failures.&lt;br /&gt;
* Registered channel status not being restored.&lt;br /&gt;
* Unexpected account or channel changes.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Services database errors.&lt;br /&gt;
* Repeated Services reconnects.&lt;br /&gt;
&lt;br /&gt;
During instability:&lt;br /&gt;
&lt;br /&gt;
* Avoid unnecessary ownership changes.&lt;br /&gt;
* Avoid telling all users to reset passwords unless compromise is confirmed.&lt;br /&gt;
* Record affected Services.&lt;br /&gt;
* Notify Services administration.&lt;br /&gt;
* Allow synchronization after recovery.&lt;br /&gt;
* Verify that channel access and modes are restored correctly.&lt;br /&gt;
&lt;br /&gt;
= 28. Compromised Staff Accounts =&lt;br /&gt;
&lt;br /&gt;
Indicators may include:&lt;br /&gt;
&lt;br /&gt;
* Unexpected operator commands.&lt;br /&gt;
* Unusual login location or timing.&lt;br /&gt;
* Unauthorized access grants.&lt;br /&gt;
* Unexplained configuration changes.&lt;br /&gt;
* Staff denial of actions recorded under their account.&lt;br /&gt;
* Password or token exposure.&lt;br /&gt;
* Impersonation combined with valid privileges.&lt;br /&gt;
&lt;br /&gt;
Response:&lt;br /&gt;
&lt;br /&gt;
# Notify senior management immediately.&lt;br /&gt;
# Limit the compromised access through authorized procedures.&lt;br /&gt;
# Preserve relevant logs.&lt;br /&gt;
# Do not confront the suspected attacker publicly.&lt;br /&gt;
# Rotate affected credentials.&lt;br /&gt;
# Review other systems using related credentials.&lt;br /&gt;
# Identify actions performed during the compromise.&lt;br /&gt;
# Restore altered settings carefully.&lt;br /&gt;
# Record the complete response.&lt;br /&gt;
&lt;br /&gt;
Trainees must not attempt to access another staff member’s account.&lt;br /&gt;
&lt;br /&gt;
= 29. Staff Misconduct Incidents =&lt;br /&gt;
&lt;br /&gt;
A staff misconduct allegation may include:&lt;br /&gt;
&lt;br /&gt;
* Retaliation.&lt;br /&gt;
* Unauthorized access.&lt;br /&gt;
* Exposure of private information.&lt;br /&gt;
* Abuse of operator commands.&lt;br /&gt;
* Favoritism.&lt;br /&gt;
* Falsified records.&lt;br /&gt;
* Improper account or channel changes.&lt;br /&gt;
* Sharing staff information.&lt;br /&gt;
* Interference with an investigation.&lt;br /&gt;
&lt;br /&gt;
The case should be:&lt;br /&gt;
&lt;br /&gt;
* Handled confidentially.&lt;br /&gt;
* Preserved accurately.&lt;br /&gt;
* Assigned to an appropriate independent reviewer.&lt;br /&gt;
* Protected from retaliation.&lt;br /&gt;
* Separated from unrelated personal disagreements.&lt;br /&gt;
* Decided using evidence and policy.&lt;br /&gt;
&lt;br /&gt;
The accused staff member should not be the sole investigator or decision-maker.&lt;br /&gt;
&lt;br /&gt;
= 30. Public Communication During an Incident =&lt;br /&gt;
&lt;br /&gt;
Public communication should be:&lt;br /&gt;
&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Brief.&lt;br /&gt;
* Approved.&lt;br /&gt;
* Free from speculation.&lt;br /&gt;
* Free from confidential details.&lt;br /&gt;
* Updated when meaningful information changes.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We are investigating a service disruption affecting some IRC connections. Network staff are working on recovery. Please avoid repeatedly reconnecting and watch the official channel for updates.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The server was hacked.&lt;br /&gt;
We know who did it.&lt;br /&gt;
All accounts are compromised.&lt;br /&gt;
Everything is fixed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Unless those statements have been confirmed and approved.&lt;br /&gt;
&lt;br /&gt;
= 31. Incident Handover =&lt;br /&gt;
&lt;br /&gt;
If responsibility passes to another staff member, provide:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Incident reference:&lt;br /&gt;
Current severity:&lt;br /&gt;
Start time:&lt;br /&gt;
Current status:&lt;br /&gt;
Affected users/channels/servers:&lt;br /&gt;
Confirmed facts:&lt;br /&gt;
Unverified reports:&lt;br /&gt;
Containment actions:&lt;br /&gt;
Active restrictions:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Teams notified:&lt;br /&gt;
Pending tasks:&lt;br /&gt;
Next review time:&lt;br /&gt;
Current incident lead:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The outgoing staff member should confirm that the receiving person accepted the handover.&lt;br /&gt;
&lt;br /&gt;
= 32. Recovery =&lt;br /&gt;
&lt;br /&gt;
Recovery means safely returning the network or channel to normal operation.&lt;br /&gt;
&lt;br /&gt;
Recovery may include:&lt;br /&gt;
&lt;br /&gt;
* Removing temporary emergency modes.&lt;br /&gt;
* Reviewing bans.&lt;br /&gt;
* Reconnecting Services.&lt;br /&gt;
* Restoring channel access.&lt;br /&gt;
* Correcting account settings.&lt;br /&gt;
* Re-enabling approved relays.&lt;br /&gt;
* Updating status messages.&lt;br /&gt;
* Confirming server synchronization.&lt;br /&gt;
* Verifying that abuse has stopped.&lt;br /&gt;
* Monitoring for recurrence.&lt;br /&gt;
&lt;br /&gt;
Recovery should not begin blindly. Confirm that removing protection will not immediately restart the incident.&lt;br /&gt;
&lt;br /&gt;
= 33. Closing an Incident =&lt;br /&gt;
&lt;br /&gt;
An incident may be closed when:&lt;br /&gt;
&lt;br /&gt;
* Active harm has stopped.&lt;br /&gt;
* Necessary restrictions are in place.&lt;br /&gt;
* Affected services are stable.&lt;br /&gt;
* Required evidence is preserved.&lt;br /&gt;
* Users or teams have received appropriate updates.&lt;br /&gt;
* Pending actions have owners.&lt;br /&gt;
* The final report is complete.&lt;br /&gt;
* Review requirements are identified.&lt;br /&gt;
&lt;br /&gt;
Closing an incident does not necessarily mean all long-term work is finished.&lt;br /&gt;
&lt;br /&gt;
Follow-up tasks may remain open.&lt;br /&gt;
&lt;br /&gt;
= 34. Post-Incident Review =&lt;br /&gt;
&lt;br /&gt;
A post-incident review should ask:&lt;br /&gt;
&lt;br /&gt;
* What happened?&lt;br /&gt;
* When was it detected?&lt;br /&gt;
* What was the impact?&lt;br /&gt;
* What worked well?&lt;br /&gt;
* What delayed the response?&lt;br /&gt;
* Were actions proportionate?&lt;br /&gt;
* Were innocent users affected?&lt;br /&gt;
* Were records complete?&lt;br /&gt;
* Were policies clear?&lt;br /&gt;
* Did staff communication work?&lt;br /&gt;
* Were tools or bots reliable?&lt;br /&gt;
* What documentation should change?&lt;br /&gt;
* What technical controls should improve?&lt;br /&gt;
* Who owns each follow-up action?&lt;br /&gt;
&lt;br /&gt;
The purpose is improvement and accountability, not personal blame.&lt;br /&gt;
&lt;br /&gt;
= 35. Incident Report Template =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DARKWORLD IRC INCIDENT REPORT&lt;br /&gt;
&lt;br /&gt;
Case reference:&lt;br /&gt;
Incident title:&lt;br /&gt;
Date:&lt;br /&gt;
Timezone:&lt;br /&gt;
Reported by:&lt;br /&gt;
Incident lead:&lt;br /&gt;
Severity:&lt;br /&gt;
Current status:&lt;br /&gt;
&lt;br /&gt;
1. Summary&lt;br /&gt;
Brief description of the incident.&lt;br /&gt;
&lt;br /&gt;
2. Scope&lt;br /&gt;
Affected users:&lt;br /&gt;
Affected channels:&lt;br /&gt;
Affected servers:&lt;br /&gt;
Affected Services:&lt;br /&gt;
Affected projects:&lt;br /&gt;
&lt;br /&gt;
3. Timeline&lt;br /&gt;
Time — Event or action&lt;br /&gt;
Time — Event or action&lt;br /&gt;
&lt;br /&gt;
4. Confirmed Facts&lt;br /&gt;
List facts supported by evidence.&lt;br /&gt;
&lt;br /&gt;
5. User or Staff Reports&lt;br /&gt;
List relevant claims not directly observed.&lt;br /&gt;
&lt;br /&gt;
6. Inferences and Unknowns&lt;br /&gt;
Clearly identify conclusions and unanswered questions.&lt;br /&gt;
&lt;br /&gt;
7. Evidence&lt;br /&gt;
Evidence type:&lt;br /&gt;
Source:&lt;br /&gt;
Location:&lt;br /&gt;
Access classification:&lt;br /&gt;
&lt;br /&gt;
8. Immediate Actions&lt;br /&gt;
Action:&lt;br /&gt;
Performed by:&lt;br /&gt;
Time:&lt;br /&gt;
Reason:&lt;br /&gt;
&lt;br /&gt;
9. Restrictions Applied&lt;br /&gt;
Restriction:&lt;br /&gt;
Target:&lt;br /&gt;
Scope:&lt;br /&gt;
Duration:&lt;br /&gt;
Review date:&lt;br /&gt;
&lt;br /&gt;
10. Communications&lt;br /&gt;
Internal notices:&lt;br /&gt;
Public notices:&lt;br /&gt;
Affected-user communication:&lt;br /&gt;
&lt;br /&gt;
11. Escalation&lt;br /&gt;
Teams notified:&lt;br /&gt;
Time notified:&lt;br /&gt;
Response received:&lt;br /&gt;
&lt;br /&gt;
12. Recovery&lt;br /&gt;
Services restored:&lt;br /&gt;
Modes restored:&lt;br /&gt;
Restrictions reviewed:&lt;br /&gt;
Verification performed:&lt;br /&gt;
&lt;br /&gt;
13. Impact&lt;br /&gt;
Users affected:&lt;br /&gt;
Service interruption:&lt;br /&gt;
Innocent users affected:&lt;br /&gt;
Other consequences:&lt;br /&gt;
&lt;br /&gt;
14. Final Outcome&lt;br /&gt;
Resolution:&lt;br /&gt;
Remaining risks:&lt;br /&gt;
Open follow-up tasks:&lt;br /&gt;
&lt;br /&gt;
15. Review&lt;br /&gt;
What worked:&lt;br /&gt;
What did not work:&lt;br /&gt;
Required improvements:&lt;br /&gt;
Responsible person:&lt;br /&gt;
Target date:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 36. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Severity Classification ==&lt;br /&gt;
&lt;br /&gt;
Classify each simulated case:&lt;br /&gt;
&lt;br /&gt;
* One accidental repeated message.&lt;br /&gt;
* Repeated private-message advertising.&lt;br /&gt;
* A coordinated raid across three channels.&lt;br /&gt;
* A fake NickServ collecting passwords.&lt;br /&gt;
* A suspected compromised Services Administrator account.&lt;br /&gt;
* A persistent server-link failure.&lt;br /&gt;
&lt;br /&gt;
Explain the reason for each classification.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Incident Timeline ==&lt;br /&gt;
&lt;br /&gt;
Using trainer-provided logs:&lt;br /&gt;
&lt;br /&gt;
* Convert events into UTC.&lt;br /&gt;
* Arrange them chronologically.&lt;br /&gt;
* Separate user actions from staff actions.&lt;br /&gt;
* Mark unverified reports.&lt;br /&gt;
* Identify missing information.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Confidential Evidence ==&lt;br /&gt;
&lt;br /&gt;
The trainer provides a simulated report containing:&lt;br /&gt;
&lt;br /&gt;
* A password.&lt;br /&gt;
* An IP address.&lt;br /&gt;
* A private-message log.&lt;br /&gt;
* Unrelated personal information.&lt;br /&gt;
&lt;br /&gt;
The candidate must identify:&lt;br /&gt;
&lt;br /&gt;
* What must be revoked or changed.&lt;br /&gt;
* What evidence is relevant.&lt;br /&gt;
* What should be redacted.&lt;br /&gt;
* Who may receive the restricted original.&lt;br /&gt;
* What must not be posted publicly.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
During a simulated raid, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the incident.&lt;br /&gt;
* Notify the trainer acting as incident lead.&lt;br /&gt;
* Recommend proportionate containment.&lt;br /&gt;
* Record mode changes.&lt;br /&gt;
* Preserve relevant evidence.&lt;br /&gt;
* Prepare a public status message.&lt;br /&gt;
* Restore the channel after authorization.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Handover ==&lt;br /&gt;
&lt;br /&gt;
The candidate must hand an active simulated incident to another trainee using the handover template.&lt;br /&gt;
&lt;br /&gt;
The receiving trainee must confirm:&lt;br /&gt;
&lt;br /&gt;
* Current severity.&lt;br /&gt;
* Active restrictions.&lt;br /&gt;
* Pending actions.&lt;br /&gt;
* Evidence location.&lt;br /&gt;
* Next review time.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Post-Incident Review ==&lt;br /&gt;
&lt;br /&gt;
Prepare a short review identifying:&lt;br /&gt;
&lt;br /&gt;
* What happened.&lt;br /&gt;
* What worked.&lt;br /&gt;
* What failed.&lt;br /&gt;
* Whether innocent users were affected.&lt;br /&gt;
* Three specific improvements.&lt;br /&gt;
* An owner for each improvement.&lt;br /&gt;
&lt;br /&gt;
= 37. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Phishing Nickname ==&lt;br /&gt;
&lt;br /&gt;
A user named `NickServ-Help` messages users asking for passwords.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat it as a high-severity impersonation and phishing incident. Stop ongoing distribution, warn users, preserve evidence, identify exposed accounts, and escalate immediately.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Netsplit Misidentified as Attack ==&lt;br /&gt;
&lt;br /&gt;
Many users quit simultaneously from one server.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check for a server disconnection or netsplit. Record the affected server and time, consult authorized notices, and avoid claiming an attack without evidence.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Relay Imports Threats ==&lt;br /&gt;
&lt;br /&gt;
An approved relay imports repeated threats from a remote user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Protect affected users, preserve the relayed messages, identify the relay and external source, contact the relay operator, and escalate to the relay team and senior network staff.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Staff Credential Leak ==&lt;br /&gt;
&lt;br /&gt;
An IRC operator accidentally posts an operator password in a restricted channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat the credential as compromised even if the channel is restricted. Notify senior staff, rotate the credential, preserve the event record, and review related access.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Public Doxxing ==&lt;br /&gt;
&lt;br /&gt;
A user posts another person’s address and telephone number in a public channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Stop further distribution, avoid repeating the information, preserve restricted evidence, remove exposure where authorized, protect the affected user, and escalate immediately.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Conflicting Staff Actions ==&lt;br /&gt;
&lt;br /&gt;
One staff member sets a channel to `+m`; another repeatedly removes it during an active raid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Establish incident leadership, stop public mode conflict, coordinate in the staff channel, confirm the active protection plan, and review the conflicting actions afterward.&lt;br /&gt;
&lt;br /&gt;
= 38. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What makes an event an incident rather than routine moderation?&lt;br /&gt;
# What are the main incident-response priorities?&lt;br /&gt;
# What are the four proposed severity levels?&lt;br /&gt;
# Which factors influence severity?&lt;br /&gt;
# What is the general incident-response process?&lt;br /&gt;
# What should staff ask when receiving an abuse report?&lt;br /&gt;
# When may immediate protective action be taken?&lt;br /&gt;
# What is the role of an incident lead?&lt;br /&gt;
# Why should staff roles be clear during an incident?&lt;br /&gt;
# What makes a useful internal incident update?&lt;br /&gt;
# Why should one consistent timezone be used?&lt;br /&gt;
# What information belongs in an incident timeline?&lt;br /&gt;
# What types of evidence may be relevant?&lt;br /&gt;
# What is evidence integrity?&lt;br /&gt;
# How should redacted evidence be handled?&lt;br /&gt;
# What is the difference between direct observation and inference?&lt;br /&gt;
# Why should screenshots not always be treated as complete proof?&lt;br /&gt;
# What are the proposed confidentiality levels?&lt;br /&gt;
# What is data minimization?&lt;br /&gt;
# Which team should handle an advertising approval violation?&lt;br /&gt;
# Which team should handle relay compliance?&lt;br /&gt;
# How should serious threats be handled?&lt;br /&gt;
# What are the priorities during a doxxing incident?&lt;br /&gt;
# What steps are required during credential phishing?&lt;br /&gt;
# What should trainees do during a network flood?&lt;br /&gt;
# What may indicate a server or Services incident?&lt;br /&gt;
# Why should permanent access changes be avoided during Services instability?&lt;br /&gt;
# How should a compromised staff account be handled?&lt;br /&gt;
# Who should review a staff-misconduct allegation?&lt;br /&gt;
# What makes an appropriate public incident update?&lt;br /&gt;
# What information belongs in a handover?&lt;br /&gt;
# What is required before recovery protections are removed?&lt;br /&gt;
# When may an incident be closed?&lt;br /&gt;
# What is the purpose of a post-incident review?&lt;br /&gt;
# Why must important staff mistakes remain in the record?&lt;br /&gt;
&lt;br /&gt;
= 39. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write a formal incident report for the following case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
At 19:05 UTC, users in `#DarkWorld` report private messages from `DarkWorldSecurity` containing a link to a fake account-verification page. At 19:08 UTC, the same nickname begins posting the link in `#Help` and `#Support`. Two users say they entered their NickServ passwords. At 19:10 UTC, several affected accounts reconnect and begin distributing the same message. One trainee publicly announces that “all DarkWorld accounts have been hacked,” although no network compromise has been confirmed.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your report must include:&lt;br /&gt;
&lt;br /&gt;
* Initial severity.&lt;br /&gt;
* Confirmed facts.&lt;br /&gt;
* Unverified reports.&lt;br /&gt;
* Immediate containment.&lt;br /&gt;
* Evidence requirements.&lt;br /&gt;
* Credential-response guidance.&lt;br /&gt;
* Internal escalation.&lt;br /&gt;
* Appropriate public communication.&lt;br /&gt;
* Correction of the trainee’s unsupported statement.&lt;br /&gt;
* Identification of potentially compromised accounts.&lt;br /&gt;
* Recovery steps.&lt;br /&gt;
* Follow-up actions.&lt;br /&gt;
* Post-incident improvements.&lt;br /&gt;
&lt;br /&gt;
= 40. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;27 of the 35&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the formal written incident report.&lt;br /&gt;
* Correctly classify simulated incidents.&lt;br /&gt;
* Preserve evidence appropriately.&lt;br /&gt;
* Complete a successful incident handover.&lt;br /&gt;
* Participate in the raid simulation.&lt;br /&gt;
* Demonstrate accurate public communication.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 41. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Incident recognition and severity&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Immediate protection and containment&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Evidence integrity and privacy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Timeline and documentation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and coordination&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Incident communication&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Recovery and closure&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Post-incident review&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Falsify, conceal, or improperly alter evidence.&lt;br /&gt;
* Publicly expose confidential information.&lt;br /&gt;
* Ignore a compromised staff account.&lt;br /&gt;
* Make unsupported public claims during incidents.&lt;br /&gt;
* Repeatedly act outside their authority.&lt;br /&gt;
* Obstruct an independent staff review.&lt;br /&gt;
* Fail to protect users during serious active harm.&lt;br /&gt;
* Refuse to document major actions.&lt;br /&gt;
&lt;br /&gt;
= 42. Quick Incident Checklist =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What happened?&lt;br /&gt;
2. Is it still happening?&lt;br /&gt;
3. Who or what is affected?&lt;br /&gt;
4. What is the current severity?&lt;br /&gt;
5. Is immediate protection required?&lt;br /&gt;
6. What action is within my authority?&lt;br /&gt;
7. Who is the incident lead?&lt;br /&gt;
8. What evidence must be preserved?&lt;br /&gt;
9. Is any information confidential?&lt;br /&gt;
10. Which team must be notified?&lt;br /&gt;
11. What temporary restrictions are active?&lt;br /&gt;
12. What can be communicated publicly?&lt;br /&gt;
13. What remains unverified?&lt;br /&gt;
14. What is required for recovery?&lt;br /&gt;
15. Who owns the follow-up actions?&lt;br /&gt;
16. When will the incident be reviewed?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 43. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Incident Response]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Moderation&amp;diff=393</id>
		<title>DWIRC:Staff Training/Moderation</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Moderation&amp;diff=393"/>
		<updated>2026-08-08T17:50:43Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Moderation&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 7 — IRC Moderation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 7: IRC Moderation&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 7 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–5 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, moderation simulations, and written case analysis&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
IRC moderation is the controlled use of channel or network authority to stop harmful or disruptive behavior.&lt;br /&gt;
&lt;br /&gt;
Effective moderation is not measured by the number of users warned, kicked, or banned. It is measured by whether staff:&lt;br /&gt;
&lt;br /&gt;
* Protect users and channels.&lt;br /&gt;
* Restore normal communication.&lt;br /&gt;
* Apply policies consistently.&lt;br /&gt;
* Use proportionate action.&lt;br /&gt;
* Minimize harm to innocent users.&lt;br /&gt;
* Explain important actions clearly.&lt;br /&gt;
* Preserve relevant evidence.&lt;br /&gt;
* Escalate serious incidents.&lt;br /&gt;
* Review temporary restrictions.&lt;br /&gt;
* Remain accountable.&lt;br /&gt;
&lt;br /&gt;
This module focuses primarily on channel moderation and the judgment required before using elevated IRC authority.&lt;br /&gt;
&lt;br /&gt;
Network-wide operator enforcement will be covered in:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Distinguish channel moderation from network enforcement.&lt;br /&gt;
# Determine when staff intervention is appropriate.&lt;br /&gt;
# Use warnings, voice restrictions, kicks, and bans proportionately.&lt;br /&gt;
# Select a reasonably precise ban mask.&lt;br /&gt;
# Handle spam, flooding, harassment, and ban evasion.&lt;br /&gt;
# Respond to bots, raids, and relayed abuse.&lt;br /&gt;
# Avoid punishing innocent users.&lt;br /&gt;
# Preserve evidence before it disappears.&lt;br /&gt;
# Write clear moderation reasons.&lt;br /&gt;
# Record significant actions.&lt;br /&gt;
# Review temporary restrictions.&lt;br /&gt;
# Escalate cases outside their authority.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of Moderation =&lt;br /&gt;
&lt;br /&gt;
The purpose of moderation is to:&lt;br /&gt;
&lt;br /&gt;
* Stop disruptive behavior.&lt;br /&gt;
* Protect users.&lt;br /&gt;
* Preserve the purpose of a channel.&lt;br /&gt;
* Restore normal conversation.&lt;br /&gt;
* Enforce applicable rules.&lt;br /&gt;
* Prevent repeated abuse.&lt;br /&gt;
* Provide a fair and reviewable response.&lt;br /&gt;
&lt;br /&gt;
Moderation must not be used to:&lt;br /&gt;
&lt;br /&gt;
* Win arguments.&lt;br /&gt;
* Silence reasonable criticism.&lt;br /&gt;
* Punish someone for disliking staff.&lt;br /&gt;
* Promote a staff member’s personal beliefs.&lt;br /&gt;
* Favor friends.&lt;br /&gt;
* Take over a channel.&lt;br /&gt;
* Demonstrate power.&lt;br /&gt;
* Retaliate against complaints.&lt;br /&gt;
* Bypass an investigation.&lt;br /&gt;
* Conceal staff mistakes.&lt;br /&gt;
&lt;br /&gt;
= 2. Channel Authority and Network Authority =&lt;br /&gt;
&lt;br /&gt;
== Channel Authority ==&lt;br /&gt;
&lt;br /&gt;
Channel founders and authorized channel staff normally manage:&lt;br /&gt;
&lt;br /&gt;
* Channel topics.&lt;br /&gt;
* Participation rules.&lt;br /&gt;
* Voice and operator status.&lt;br /&gt;
* Kicks.&lt;br /&gt;
* Channel bans.&lt;br /&gt;
* Channel access lists.&lt;br /&gt;
* Channel bots.&lt;br /&gt;
* Channel-specific moderation.&lt;br /&gt;
&lt;br /&gt;
== Network Authority ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC network staff may handle:&lt;br /&gt;
&lt;br /&gt;
* Network-wide policy violations.&lt;br /&gt;
* Spam across multiple channels.&lt;br /&gt;
* Network advertising and recruitment.&lt;br /&gt;
* Severe harassment.&lt;br /&gt;
* Ban evasion across channels.&lt;br /&gt;
* Attacks against users or infrastructure.&lt;br /&gt;
* Malicious bots.&lt;br /&gt;
* Services abuse.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Unauthorized relays.&lt;br /&gt;
* Incidents affecting multiple servers or channels.&lt;br /&gt;
&lt;br /&gt;
A channel operator should not pretend to have network authority.&lt;br /&gt;
&lt;br /&gt;
An IRC operator should not interfere with legitimate channel management without a valid network-level reason.&lt;br /&gt;
&lt;br /&gt;
= 3. When Should Staff Intervene? =&lt;br /&gt;
&lt;br /&gt;
Staff intervention may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* A network rule is being violated.&lt;br /&gt;
* Harm is ongoing.&lt;br /&gt;
* A channel requests authorized assistance.&lt;br /&gt;
* Normal channel management is unavailable.&lt;br /&gt;
* Multiple channels are affected.&lt;br /&gt;
* A bot or relay creates network-wide disruption.&lt;br /&gt;
* A serious security or safety issue exists.&lt;br /&gt;
* Management assigns the matter.&lt;br /&gt;
&lt;br /&gt;
Staff may decide that no action is required when:&lt;br /&gt;
&lt;br /&gt;
* The issue is a minor personal disagreement.&lt;br /&gt;
* A legitimate channel rule was enforced.&lt;br /&gt;
* Evidence is insufficient.&lt;br /&gt;
* The reported conduct is not prohibited.&lt;br /&gt;
* The user is asking staff to retaliate.&lt;br /&gt;
* The issue belongs to another project.&lt;br /&gt;
* The situation has already ended and requires review rather than immediate intervention.&lt;br /&gt;
&lt;br /&gt;
Choosing not to take enforcement action can be the correct professional decision.&lt;br /&gt;
&lt;br /&gt;
= 4. Moderation Decision Framework =&lt;br /&gt;
&lt;br /&gt;
Before acting, ask:&lt;br /&gt;
&lt;br /&gt;
# What conduct is occurring?&lt;br /&gt;
# Is it still happening?&lt;br /&gt;
# Which rule applies?&lt;br /&gt;
# Who is affected?&lt;br /&gt;
# What evidence is available?&lt;br /&gt;
# Has the user already been warned?&lt;br /&gt;
# Is immediate action necessary?&lt;br /&gt;
# What is the least severe effective response?&lt;br /&gt;
# Could the response affect innocent users?&lt;br /&gt;
# Do I have authority?&lt;br /&gt;
# Must the action be recorded?&lt;br /&gt;
# Does the case require escalation?&lt;br /&gt;
&lt;br /&gt;
During an emergency, staff may need to act quickly. The action should still be reviewed and documented afterward.&lt;br /&gt;
&lt;br /&gt;
= 5. The Moderation Response Ladder =&lt;br /&gt;
&lt;br /&gt;
A general response ladder is:&lt;br /&gt;
&lt;br /&gt;
# No action.&lt;br /&gt;
# Guidance or informal correction.&lt;br /&gt;
# Formal warning.&lt;br /&gt;
# Targeted speak restriction or removal of voice.&lt;br /&gt;
# Kick.&lt;br /&gt;
# Temporary channel ban.&lt;br /&gt;
# Longer channel restriction.&lt;br /&gt;
# Escalation for network-level action.&lt;br /&gt;
# Permanent action approved through the proper process.&lt;br /&gt;
&lt;br /&gt;
This is a framework, not a mandatory sequence.&lt;br /&gt;
&lt;br /&gt;
Serious incidents may require immediate protective action without a warning, including:&lt;br /&gt;
&lt;br /&gt;
* Active flooding.&lt;br /&gt;
* Malware distribution.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Credible threats.&lt;br /&gt;
* Doxxing.&lt;br /&gt;
* Coordinated raids.&lt;br /&gt;
* Active ban evasion.&lt;br /&gt;
* Attacks against network infrastructure.&lt;br /&gt;
&lt;br /&gt;
= 6. Guidance and Informal Correction =&lt;br /&gt;
&lt;br /&gt;
Guidance is appropriate when:&lt;br /&gt;
&lt;br /&gt;
* The violation is minor.&lt;br /&gt;
* The user may not understand the rule.&lt;br /&gt;
* The conduct caused limited harm.&lt;br /&gt;
* The user is cooperative.&lt;br /&gt;
* An immediate sanction is unnecessary.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please stop repeating the same message. It is disrupting the channel.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guidance should not sound like a threat.&lt;br /&gt;
&lt;br /&gt;
= 7. Formal Warnings =&lt;br /&gt;
&lt;br /&gt;
A formal warning should include:&lt;br /&gt;
&lt;br /&gt;
* The conduct that must stop.&lt;br /&gt;
* The applicable rule or policy.&lt;br /&gt;
* The required corrective action.&lt;br /&gt;
* A possible consequence if it continues.&lt;br /&gt;
* An official policy link where relevant.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Formal warning: Stop sending unsolicited external-network invitations. This may violate the DarkWorld IRC advertising and recruitment policy. Continued activity may result in further restrictions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A warning is useful only if:&lt;br /&gt;
&lt;br /&gt;
* It reaches the correct user.&lt;br /&gt;
* It is understandable.&lt;br /&gt;
* The user has a reasonable opportunity to comply.&lt;br /&gt;
* It is documented when significant.&lt;br /&gt;
&lt;br /&gt;
A warning may be skipped when delay would permit serious ongoing harm.&lt;br /&gt;
&lt;br /&gt;
= 8. Speak Restrictions and Moderated Mode =&lt;br /&gt;
&lt;br /&gt;
Sometimes it is sufficient to stop a user from speaking without removing them.&lt;br /&gt;
&lt;br /&gt;
Possible options, depending on current server configuration, include:&lt;br /&gt;
&lt;br /&gt;
* Removing voice.&lt;br /&gt;
* Applying a targeted quiet or speak restriction.&lt;br /&gt;
* Setting the channel to moderated mode.&lt;br /&gt;
* Restricting unidentified users from speaking.&lt;br /&gt;
* Restricting notices or CTCP messages.&lt;br /&gt;
&lt;br /&gt;
A targeted restriction is usually less disruptive than moderating an entire channel.&lt;br /&gt;
&lt;br /&gt;
Before using `+m`, consider:&lt;br /&gt;
&lt;br /&gt;
* How many legitimate users will be silenced.&lt;br /&gt;
* Whether voiced users can continue.&lt;br /&gt;
* Whether staff can manage voice requests.&lt;br /&gt;
* Whether a targeted restriction is available.&lt;br /&gt;
* How long the mode will remain.&lt;br /&gt;
* Who will restore normal operation.&lt;br /&gt;
&lt;br /&gt;
= 9. Kicks =&lt;br /&gt;
&lt;br /&gt;
A kick removes a user from a channel but does not necessarily prevent them from returning.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #channel nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #Training ExampleUser Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A kick may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* The disruptive conduct must stop immediately.&lt;br /&gt;
* A warning was ignored.&lt;br /&gt;
* The user needs to be removed from the current discussion.&lt;br /&gt;
* A channel rule authorizes removal.&lt;br /&gt;
* A ban is not yet necessary.&lt;br /&gt;
&lt;br /&gt;
A professional kick reason should be:&lt;br /&gt;
&lt;br /&gt;
* Short.&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Neutral.&lt;br /&gt;
* Related to the conduct.&lt;br /&gt;
* Free from insults.&lt;br /&gt;
* Free from unnecessary confidential details.&lt;br /&gt;
&lt;br /&gt;
Poor reasons include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Annoying&lt;br /&gt;
Go away&lt;br /&gt;
Because I said so&lt;br /&gt;
Idiot&lt;br /&gt;
Staff decision&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 10. Channel Bans =&lt;br /&gt;
&lt;br /&gt;
A channel ban normally prevents a matching user from joining or participating.&lt;br /&gt;
&lt;br /&gt;
Add a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View bans:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ban may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* A kicked user immediately returns and continues.&lt;br /&gt;
* The conduct is serious.&lt;br /&gt;
* Ban evasion is occurring.&lt;br /&gt;
* A bot repeatedly disrupts the channel.&lt;br /&gt;
* The user presents an ongoing risk.&lt;br /&gt;
* The channel’s established rules support the restriction.&lt;br /&gt;
&lt;br /&gt;
= 11. Choosing a Ban Mask =&lt;br /&gt;
&lt;br /&gt;
A full user mask appears as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nickname!ident@hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible masks include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! General match&lt;br /&gt;
! Limitation&lt;br /&gt;
|-&lt;br /&gt;
| `ExampleNick!*@*`&lt;br /&gt;
| Current nickname&lt;br /&gt;
| Easy to evade by changing nickname&lt;br /&gt;
|-&lt;br /&gt;
| `*!example@*`&lt;br /&gt;
| Ident&lt;br /&gt;
| Idents may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@Example.User.DarkWorld.Network`&lt;br /&gt;
| Displayed host&lt;br /&gt;
| Host may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*.provider.example`&lt;br /&gt;
| Wider provider range&lt;br /&gt;
| May affect many innocent users&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*`&lt;br /&gt;
| Everyone&lt;br /&gt;
| Normally dangerously broad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Before selecting a mask, consider:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Displayed host or cloak.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Whether the host is shared.&lt;br /&gt;
* Whether a bouncer, VPN, gateway, or relay is involved.&lt;br /&gt;
* Whether an extended account-based restriction is available.&lt;br /&gt;
* Whether the ban is temporary.&lt;br /&gt;
* How many innocent users may match.&lt;br /&gt;
&lt;br /&gt;
The goal is the narrowest reliable restriction that stops the harmful conduct.&lt;br /&gt;
&lt;br /&gt;
= 12. Ban Then Kick =&lt;br /&gt;
&lt;br /&gt;
When both a ban and kick are necessary, the normal sequence is:&lt;br /&gt;
&lt;br /&gt;
# Set the ban.&lt;br /&gt;
# Kick the user.&lt;br /&gt;
# Confirm the ban entry.&lt;br /&gt;
# Record the action.&lt;br /&gt;
# Review the ban later.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
/KICK #channel ExampleNick Repeated disruption after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting the ban first helps prevent immediate re-entry between commands.&lt;br /&gt;
&lt;br /&gt;
Staff should verify the exact target and mask before sending either command.&lt;br /&gt;
&lt;br /&gt;
= 13. Temporary and Permanent Restrictions =&lt;br /&gt;
&lt;br /&gt;
Most ordinary moderation bans should be reviewable.&lt;br /&gt;
&lt;br /&gt;
A moderation record should identify:&lt;br /&gt;
&lt;br /&gt;
* Whether the restriction is temporary or indefinite.&lt;br /&gt;
* When it was applied.&lt;br /&gt;
* Why it was applied.&lt;br /&gt;
* Who applied it.&lt;br /&gt;
* When it should be reviewed.&lt;br /&gt;
* Which evidence supports it.&lt;br /&gt;
* Whether the user was warned.&lt;br /&gt;
* Whether innocent users may be affected.&lt;br /&gt;
&lt;br /&gt;
An indefinite restriction should not mean “set and forgotten.”&lt;br /&gt;
&lt;br /&gt;
Permanent or long-term network restrictions should require appropriate authorization and review.&lt;br /&gt;
&lt;br /&gt;
= 14. Ban Exceptions =&lt;br /&gt;
&lt;br /&gt;
A ban exception may allow a user to bypass a matching channel ban.&lt;br /&gt;
&lt;br /&gt;
View exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exceptions can help users affected by a shared-host ban, but they can also make the ban structure difficult to understand.&lt;br /&gt;
&lt;br /&gt;
Where possible, replace an unnecessarily broad ban with a more precise restriction instead of creating many exceptions.&lt;br /&gt;
&lt;br /&gt;
= 15. Spam Moderation =&lt;br /&gt;
&lt;br /&gt;
Spam may include:&lt;br /&gt;
&lt;br /&gt;
* Repeated messages.&lt;br /&gt;
* Mass private messages.&lt;br /&gt;
* Repeated links.&lt;br /&gt;
* Automated promotions.&lt;br /&gt;
* Cross-channel advertising.&lt;br /&gt;
* Repetitive irrelevant text.&lt;br /&gt;
* Messages distributed through multiple accounts.&lt;br /&gt;
&lt;br /&gt;
Response factors include:&lt;br /&gt;
&lt;br /&gt;
* Number of messages.&lt;br /&gt;
* Number of recipients.&lt;br /&gt;
* Number of channels.&lt;br /&gt;
* Whether automation is involved.&lt;br /&gt;
* Whether the user was warned.&lt;br /&gt;
* Whether the messages contain malicious links.&lt;br /&gt;
* Whether the conduct is continuing.&lt;br /&gt;
&lt;br /&gt;
A single accidental repeated message usually does not require the same response as coordinated mass spam.&lt;br /&gt;
&lt;br /&gt;
= 16. Flood Moderation =&lt;br /&gt;
&lt;br /&gt;
Flooding may include:&lt;br /&gt;
&lt;br /&gt;
* Text flooding.&lt;br /&gt;
* Join and part flooding.&lt;br /&gt;
* Nickname-change flooding.&lt;br /&gt;
* CTCP flooding.&lt;br /&gt;
* Notice flooding.&lt;br /&gt;
* Private-message flooding.&lt;br /&gt;
* Repeated formatting.&lt;br /&gt;
* Bot-command flooding.&lt;br /&gt;
&lt;br /&gt;
== Single-User Flood ==&lt;br /&gt;
&lt;br /&gt;
Possible response:&lt;br /&gt;
&lt;br /&gt;
# Warn if practical.&lt;br /&gt;
# Apply a targeted restriction.&lt;br /&gt;
# Kick if necessary.&lt;br /&gt;
# Ban if the behavior continues.&lt;br /&gt;
# Record repeated or serious conduct.&lt;br /&gt;
&lt;br /&gt;
== Multi-User Raid ==&lt;br /&gt;
&lt;br /&gt;
Possible response:&lt;br /&gt;
&lt;br /&gt;
# Apply emergency channel modes if authorized.&lt;br /&gt;
# Preserve evidence.&lt;br /&gt;
# Restrict the active sources.&lt;br /&gt;
# Avoid uncontrolled broad bans.&lt;br /&gt;
# Request assistance.&lt;br /&gt;
# Escalate to network operators.&lt;br /&gt;
# Restore normal channel modes afterward.&lt;br /&gt;
# Document the complete incident.&lt;br /&gt;
&lt;br /&gt;
= 17. Harassment Moderation =&lt;br /&gt;
&lt;br /&gt;
Harassment cases require attention to:&lt;br /&gt;
&lt;br /&gt;
* Repetition.&lt;br /&gt;
* Targeting.&lt;br /&gt;
* Whether contact is unwanted.&lt;br /&gt;
* Attempts to evade blocks or bans.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Use of multiple accounts.&lt;br /&gt;
* Private-message conduct.&lt;br /&gt;
* Exposure of personal information.&lt;br /&gt;
* Conduct across several channels.&lt;br /&gt;
&lt;br /&gt;
Staff should not require a targeted user to continue engaging with the harasser.&lt;br /&gt;
&lt;br /&gt;
A normal response may include:&lt;br /&gt;
&lt;br /&gt;
* Advising the target to stop responding.&lt;br /&gt;
* Helping the target use client ignore features.&lt;br /&gt;
* Preserving evidence.&lt;br /&gt;
* Applying channel restrictions.&lt;br /&gt;
* Escalating repeated or network-wide conduct.&lt;br /&gt;
* Taking immediate protective action for threats or doxxing.&lt;br /&gt;
&lt;br /&gt;
Client-side ignore is useful, but it should not be treated as the only response to serious network abuse.&lt;br /&gt;
&lt;br /&gt;
= 18. Ban Evasion =&lt;br /&gt;
&lt;br /&gt;
Possible indicators of ban evasion include:&lt;br /&gt;
&lt;br /&gt;
* Immediate return under a different nickname.&lt;br /&gt;
* Repeated conduct from another connection.&lt;br /&gt;
* Use of a different account after restriction.&lt;br /&gt;
* Admission of evasion.&lt;br /&gt;
* Use of a relay, bot, or another user to continue.&lt;br /&gt;
* Strongly matching timing and behavior.&lt;br /&gt;
&lt;br /&gt;
However:&lt;br /&gt;
&lt;br /&gt;
* Similar behavior does not prove identity.&lt;br /&gt;
* A shared host does not prove identity.&lt;br /&gt;
* A VPN exit may be shared.&lt;br /&gt;
* A bouncer may host multiple users.&lt;br /&gt;
* A relay may display remote users through one bot.&lt;br /&gt;
&lt;br /&gt;
Staff should combine available evidence and escalate broader enforcement decisions.&lt;br /&gt;
&lt;br /&gt;
= 19. Bots and Automated Clients =&lt;br /&gt;
&lt;br /&gt;
Bots may be legitimate, misconfigured, compromised, or malicious.&lt;br /&gt;
&lt;br /&gt;
Before acting, determine:&lt;br /&gt;
&lt;br /&gt;
* What the bot does.&lt;br /&gt;
* Who operates it.&lt;br /&gt;
* Whether the channel authorized it.&lt;br /&gt;
* Whether it is an official or registered service.&lt;br /&gt;
* Whether it is a relay.&lt;br /&gt;
* Whether it responds to commands from anyone.&lt;br /&gt;
* Whether the behavior is accidental.&lt;br /&gt;
* Whether other channels are affected.&lt;br /&gt;
&lt;br /&gt;
An actively flooding bot may need immediate removal even if the cause is accidental.&lt;br /&gt;
&lt;br /&gt;
After containment:&lt;br /&gt;
&lt;br /&gt;
# Notify the operator where appropriate.&lt;br /&gt;
# Explain what behavior must be corrected.&lt;br /&gt;
# Require testing before return where necessary.&lt;br /&gt;
# Escalate malicious or repeated behavior.&lt;br /&gt;
# Record significant incidents.&lt;br /&gt;
&lt;br /&gt;
= 20. Relay-Related Moderation =&lt;br /&gt;
&lt;br /&gt;
A relay bot may display messages originating from users outside DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Staff should identify:&lt;br /&gt;
&lt;br /&gt;
* The DarkWorld channel.&lt;br /&gt;
* Relay bot nickname.&lt;br /&gt;
* External network or platform.&lt;br /&gt;
* Remote channel.&lt;br /&gt;
* Registration or approval status.&lt;br /&gt;
* Whether prohibited advertising is being relayed.&lt;br /&gt;
* Whether the relay operator can filter the content.&lt;br /&gt;
* Whether the abuse comes from one remote user or the relay system generally.&lt;br /&gt;
&lt;br /&gt;
Do not assume the relay bot’s operator personally wrote every relayed message.&lt;br /&gt;
&lt;br /&gt;
However, relay operators remain responsible for compliance and moderation controls.&lt;br /&gt;
&lt;br /&gt;
Unauthorized or non-compliant relays should be handled through the approved relay-compliance process.&lt;br /&gt;
&lt;br /&gt;
= 21. Advertising and Recruitment Moderation =&lt;br /&gt;
&lt;br /&gt;
When possible advertising is observed:&lt;br /&gt;
&lt;br /&gt;
# Preserve the message and context.&lt;br /&gt;
# Determine whether it was requested.&lt;br /&gt;
# Check frequency and distribution.&lt;br /&gt;
# Determine whether it promotes or recruits for an external network or project.&lt;br /&gt;
# Check for an applicable approval.&lt;br /&gt;
# Compare the conduct with the approved scope.&lt;br /&gt;
# Stop ongoing mass abuse where authorized.&lt;br /&gt;
# Escalate administrative decisions.&lt;br /&gt;
# Document the result.&lt;br /&gt;
&lt;br /&gt;
A normal relevant link in conversation is not automatically the same as repeated unsolicited recruitment.&lt;br /&gt;
&lt;br /&gt;
= 22. Malicious Links and Phishing =&lt;br /&gt;
&lt;br /&gt;
Possible malicious conduct includes:&lt;br /&gt;
&lt;br /&gt;
* Fake NickServ links.&lt;br /&gt;
* Fake login pages.&lt;br /&gt;
* Credential requests.&lt;br /&gt;
* Malware downloads.&lt;br /&gt;
* Shortened links designed to conceal a destination.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Messages claiming that users must reveal passwords.&lt;br /&gt;
&lt;br /&gt;
If malicious content is active:&lt;br /&gt;
&lt;br /&gt;
# Stop further distribution.&lt;br /&gt;
# Preserve the destination safely without encouraging users to open it.&lt;br /&gt;
# Warn affected users.&lt;br /&gt;
# Do not publicly repeat sensitive tokens or credentials.&lt;br /&gt;
# Escalate immediately.&lt;br /&gt;
# Identify potentially compromised accounts.&lt;br /&gt;
# Record where the content was distributed.&lt;br /&gt;
&lt;br /&gt;
Trainees should not open suspicious files or links on personal or production systems.&lt;br /&gt;
&lt;br /&gt;
= 23. Channel Takeover Situations =&lt;br /&gt;
&lt;br /&gt;
A channel takeover claim may involve:&lt;br /&gt;
&lt;br /&gt;
* A compromised founder account.&lt;br /&gt;
* Unauthorized access-list changes.&lt;br /&gt;
* A netsplit or Services outage.&lt;br /&gt;
* Former staff retaining access.&lt;br /&gt;
* An external project dispute.&lt;br /&gt;
* A user misunderstanding live operator status.&lt;br /&gt;
* Abuse of IRC operator override.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
# Preserve current information.&lt;br /&gt;
# Avoid irreversible changes.&lt;br /&gt;
# Confirm registered ownership.&lt;br /&gt;
# Separate live modes from ChanServ access.&lt;br /&gt;
# Protect the channel from immediate harm.&lt;br /&gt;
# Escalate founder or ownership changes.&lt;br /&gt;
# Record every administrative intervention.&lt;br /&gt;
&lt;br /&gt;
A trainee must not resolve a takeover claim by simply giving founder or owner access to the person who complains first.&lt;br /&gt;
&lt;br /&gt;
= 24. Evidence During Moderation =&lt;br /&gt;
&lt;br /&gt;
Relevant evidence may disappear after:&lt;br /&gt;
&lt;br /&gt;
* A user quits.&lt;br /&gt;
* A message scrolls away.&lt;br /&gt;
* A bot disconnects.&lt;br /&gt;
* A channel mode changes.&lt;br /&gt;
* Services resynchronize.&lt;br /&gt;
* A netsplit ends.&lt;br /&gt;
&lt;br /&gt;
Where practical, preserve:&lt;br /&gt;
&lt;br /&gt;
* Exact messages.&lt;br /&gt;
* Timestamps.&lt;br /&gt;
* Channel name.&lt;br /&gt;
* Nickname and visible mask.&lt;br /&gt;
* Registered account information, where authorized.&lt;br /&gt;
* Relevant mode changes.&lt;br /&gt;
* Kick or ban reasons.&lt;br /&gt;
* User warnings.&lt;br /&gt;
* Staff actions.&lt;br /&gt;
* Relay or bot information.&lt;br /&gt;
&lt;br /&gt;
Do not delay immediate protection solely to collect perfect evidence.&lt;br /&gt;
&lt;br /&gt;
= 25. Moderation Records =&lt;br /&gt;
&lt;br /&gt;
Use a record such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Case reference:&lt;br /&gt;
Date and time:&lt;br /&gt;
Channel:&lt;br /&gt;
Moderating staff:&lt;br /&gt;
User nickname:&lt;br /&gt;
Registered account, if relevant:&lt;br /&gt;
Visible user mask:&lt;br /&gt;
Conduct observed:&lt;br /&gt;
Rule or policy:&lt;br /&gt;
Warning issued:&lt;br /&gt;
Action taken:&lt;br /&gt;
Ban or restriction:&lt;br /&gt;
Reason:&lt;br /&gt;
Duration:&lt;br /&gt;
Other users affected:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Escalated to:&lt;br /&gt;
Review date:&lt;br /&gt;
Final outcome:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid unnecessary personal information.&lt;br /&gt;
&lt;br /&gt;
= 26. Moderation Reasons =&lt;br /&gt;
&lt;br /&gt;
Good reasons describe conduct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Repeated message flooding after warning&lt;br /&gt;
Unsolicited advertising across multiple channels&lt;br /&gt;
Continued harassment and ban evasion&lt;br /&gt;
Malicious link distribution&lt;br /&gt;
Unauthorized relay activity pending compliance review&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bad reasons attack the person:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bad person&lt;br /&gt;
Annoying&lt;br /&gt;
Idiot&lt;br /&gt;
Nobody likes you&lt;br /&gt;
Staff says so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moderate conduct, not personality.&lt;br /&gt;
&lt;br /&gt;
= 27. Correcting Moderation Mistakes =&lt;br /&gt;
&lt;br /&gt;
If staff make a mistake:&lt;br /&gt;
&lt;br /&gt;
# Stop any continuing harm.&lt;br /&gt;
# Remove or correct the incorrect restriction.&lt;br /&gt;
# Restore affected access where appropriate.&lt;br /&gt;
# Inform the affected user honestly.&lt;br /&gt;
# Notify senior staff when required.&lt;br /&gt;
# Preserve the original action record.&lt;br /&gt;
# Add the correction and reason.&lt;br /&gt;
# Identify how to prevent recurrence.&lt;br /&gt;
&lt;br /&gt;
Do not delete or falsify records to hide an error.&lt;br /&gt;
&lt;br /&gt;
An appropriate acknowledgement may be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The restriction was applied to an incorrect mask and has now been removed. We apologize for the disruption. The incident record has been corrected and referred for review.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 28. Appeals =&lt;br /&gt;
&lt;br /&gt;
A user may disagree with a moderation decision.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Explain the available review process.&lt;br /&gt;
* Avoid public arguments.&lt;br /&gt;
* Preserve the original record.&lt;br /&gt;
* Refer the matter to an authorized reviewer.&lt;br /&gt;
* Disclose conflicts of interest.&lt;br /&gt;
* Avoid retaliating against the appellant.&lt;br /&gt;
* Implement the review outcome.&lt;br /&gt;
* Correct confirmed errors.&lt;br /&gt;
&lt;br /&gt;
Where independent review is required, the person who took the disputed action should not be the only person deciding the appeal.&lt;br /&gt;
&lt;br /&gt;
= 29. Staff Disagreement During an Incident =&lt;br /&gt;
&lt;br /&gt;
If staff disagree:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm.&lt;br /&gt;
# Avoid arguing publicly.&lt;br /&gt;
# Preserve the relevant facts.&lt;br /&gt;
# Follow the current incident leader or senior authority.&lt;br /&gt;
# Move the disagreement to an approved staff channel.&lt;br /&gt;
# Record major conflicting actions.&lt;br /&gt;
# Request review after the incident.&lt;br /&gt;
&lt;br /&gt;
Staff must not repeatedly reverse each other’s modes in public while an incident is active.&lt;br /&gt;
&lt;br /&gt;
= 30. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
These exercises must be performed only in an approved training channel using test identities.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Warning ==&lt;br /&gt;
&lt;br /&gt;
Write and deliver a professional warning for repeated text flooding.&lt;br /&gt;
&lt;br /&gt;
The warning must state:&lt;br /&gt;
&lt;br /&gt;
* What must stop.&lt;br /&gt;
* Why it is disruptive.&lt;br /&gt;
* What may happen if it continues.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Kick ==&lt;br /&gt;
&lt;br /&gt;
With trainer authorization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #ApprovedTrainingChannel TestUser Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The trainer should assess the accuracy and professionalism of the reason.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Ban and Removal ==&lt;br /&gt;
&lt;br /&gt;
Using a trainer-provided test identity:&lt;br /&gt;
&lt;br /&gt;
# Inspect the visible user mask.&lt;br /&gt;
# Select a precise mask.&lt;br /&gt;
# Add the ban.&lt;br /&gt;
# Confirm the ban list.&lt;br /&gt;
# Kick the test user.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify removal.&lt;br /&gt;
# Record the exercise.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
The trainer provides three test users sharing a host.&lt;br /&gt;
&lt;br /&gt;
The candidate must propose a restriction targeting only the disruptive identity, using currently supported methods.&lt;br /&gt;
&lt;br /&gt;
No broad ban should be applied without trainer approval.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Channel Raid ==&lt;br /&gt;
&lt;br /&gt;
The trainer simulates several flooding users.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the raid.&lt;br /&gt;
* Apply approved temporary modes.&lt;br /&gt;
* Request assistance.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Restore the original modes.&lt;br /&gt;
* Complete an incident record.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Appeal ==&lt;br /&gt;
&lt;br /&gt;
The candidate receives a simulated complaint about their own ban.&lt;br /&gt;
&lt;br /&gt;
They must:&lt;br /&gt;
&lt;br /&gt;
* Avoid arguing.&lt;br /&gt;
* Explain the review process.&lt;br /&gt;
* Preserve the record.&lt;br /&gt;
* Disclose their involvement.&lt;br /&gt;
* Refer the decision appropriately.&lt;br /&gt;
&lt;br /&gt;
= 31. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: First Minor Flood ==&lt;br /&gt;
&lt;br /&gt;
A normally cooperative user accidentally pastes several lines rapidly and immediately apologizes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Guidance may be sufficient. Consider context, harm, and cooperation before using a sanction.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Repeated Flood After Warning ==&lt;br /&gt;
&lt;br /&gt;
A user continues flooding after a clear warning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A kick or targeted temporary restriction may be proportionate. Apply a ban if needed to prevent immediate return and continued disruption.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared VPN Address ==&lt;br /&gt;
&lt;br /&gt;
One abusive user and several innocent users appear through the same VPN host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not automatically ban the entire host. Consider account-based or more precise restrictions and escalate if network-level action is needed.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
Twenty new connections join and flood several official channels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Apply authorized emergency protection, request network-operator assistance, preserve evidence, and treat it as a network incident rather than an ordinary single-channel violation.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Critical Staff User ==&lt;br /&gt;
&lt;br /&gt;
A user respectfully criticizes a staff decision without flooding or harassment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not punish the user for criticism. Direct them to the review process if appropriate.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Relay Advertisement ==&lt;br /&gt;
&lt;br /&gt;
An approved relay repeatedly imports invitations to an external network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contain ongoing disruption if necessary, record the relayed content, notify the relay operator, and escalate through relay compliance. Existing approval does not authorize policy violations.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: Staff Friend ==&lt;br /&gt;
&lt;br /&gt;
A friend of a staff member repeatedly violates channel rules, and the staff member asks others to ignore it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Apply policy neutrally, document the conflict, and escalate interference or favoritism.&lt;br /&gt;
&lt;br /&gt;
== Scenario 8: Incorrect Ban ==&lt;br /&gt;
&lt;br /&gt;
A ban intended for one user removes several legitimate users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Correct the restriction promptly, restore affected access, acknowledge the error, record the correction, and select a more precise method.&lt;br /&gt;
&lt;br /&gt;
= 32. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of IRC moderation?&lt;br /&gt;
# What must moderation never be used for?&lt;br /&gt;
# What is the difference between channel and network authority?&lt;br /&gt;
# When may no staff action be the correct decision?&lt;br /&gt;
# What questions should be asked before moderating?&lt;br /&gt;
# What is the moderation response ladder?&lt;br /&gt;
# When may a warning reasonably be skipped?&lt;br /&gt;
# What should a formal warning contain?&lt;br /&gt;
# When might a targeted speak restriction be preferable to `+m`?&lt;br /&gt;
# What is the purpose of a kick?&lt;br /&gt;
# Does a kick prevent a user from returning?&lt;br /&gt;
# When may a channel ban be appropriate?&lt;br /&gt;
# Why should a ban be set before a kick when both are needed?&lt;br /&gt;
# What factors determine a suitable ban mask?&lt;br /&gt;
# Why are broad provider bans risky?&lt;br /&gt;
# What information should a temporary ban record contain?&lt;br /&gt;
# What is a ban exception?&lt;br /&gt;
# How does single-user flooding differ from a coordinated raid?&lt;br /&gt;
# Why is client-side ignore not always sufficient for serious harassment?&lt;br /&gt;
# What evidence may indicate ban evasion?&lt;br /&gt;
# Why does a shared VPN or bouncer host not prove identity?&lt;br /&gt;
# How should a malfunctioning bot be handled?&lt;br /&gt;
# What information should be collected about an abusive relay?&lt;br /&gt;
# How should possible advertising be evaluated?&lt;br /&gt;
# What should staff do about active phishing?&lt;br /&gt;
# Why must channel-takeover claims be escalated?&lt;br /&gt;
# What evidence should be preserved during moderation?&lt;br /&gt;
# What makes a good moderation reason?&lt;br /&gt;
# What should staff do after applying an incorrect restriction?&lt;br /&gt;
# How should an appeal be handled?&lt;br /&gt;
# What should staff do when they disagree during an active incident?&lt;br /&gt;
# Why must temporary emergency modes be reviewed?&lt;br /&gt;
&lt;br /&gt;
= 33. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;800–1,100 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a busy event in an official DarkWorld channel, ten new users join within one minute. Four begin flooding repeated advertisements for another IRC network. Two use the same VPN hostname as three legitimate users already in the channel. An approved relay also begins importing similar advertisements. A channel operator sets `+m`, bans the entire VPN host, kicks all newly joined users, and leaves the channel without recording the actions.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Which behavior required immediate intervention.&lt;br /&gt;
* Whether `+m` was proportionate.&lt;br /&gt;
* Why the broad VPN ban requires review.&lt;br /&gt;
* Why all newly joined users should not automatically be treated as attackers.&lt;br /&gt;
* How the relay should be handled.&lt;br /&gt;
* What evidence should be preserved.&lt;br /&gt;
* Which actions belong to channel moderation.&lt;br /&gt;
* Which issues require network or compliance escalation.&lt;br /&gt;
* How innocent users should be restored.&lt;br /&gt;
* What should be documented.&lt;br /&gt;
* When emergency modes should be removed.&lt;br /&gt;
* How the operator’s actions should be reviewed.&lt;br /&gt;
&lt;br /&gt;
= 34. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;24 of the 32&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate accurate warning, kick, and ban procedures.&lt;br /&gt;
* Correctly restore all training modes and bans.&lt;br /&gt;
* Complete an acceptable moderation record.&lt;br /&gt;
* Pass the raid and appeal simulations.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 35. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Moderation judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Warnings and communication&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Kick and ban accuracy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Ban-mask precision&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Flood and raid response&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Evidence and documentation&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Appeals and accountability&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Authority boundaries&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Use moderation for personal retaliation.&lt;br /&gt;
* Repeatedly apply dangerously broad restrictions.&lt;br /&gt;
* Cannot restore their own mode changes.&lt;br /&gt;
* Ignore harm to innocent users.&lt;br /&gt;
* Falsify or conceal actions.&lt;br /&gt;
* Punish users for legitimate complaints.&lt;br /&gt;
* Refuse required escalation.&lt;br /&gt;
* Use elevated commands without authorization.&lt;br /&gt;
&lt;br /&gt;
= 36. Quick Moderation Checklist =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What behavior is occurring?&lt;br /&gt;
2. Is the behavior still active?&lt;br /&gt;
3. Which rule applies?&lt;br /&gt;
4. What evidence is available?&lt;br /&gt;
5. Who is affected?&lt;br /&gt;
6. Was a warning given or reasonably skipped?&lt;br /&gt;
7. What is the smallest effective action?&lt;br /&gt;
8. Could innocent users be affected?&lt;br /&gt;
9. Do I have authority?&lt;br /&gt;
10. Is network-level assistance required?&lt;br /&gt;
11. What must be documented?&lt;br /&gt;
12. When will the restriction be reviewed?&lt;br /&gt;
13. Who will restore temporary modes?&lt;br /&gt;
14. Is an independent review required?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 37. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Moderation]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Moderation&amp;diff=392</id>
		<title>DWIRC:Staff Training/Moderation</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Moderation&amp;diff=392"/>
		<updated>2026-08-08T17:50:34Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 7 — IRC Moderation}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 7: IRC Moderation&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 7 of 10 |- ! Difficulty | Intermediate |- ! Estima...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 7 — IRC Moderation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 7: IRC Moderation&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 7 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 4–5 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, moderation simulations, and written case analysis&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
IRC moderation is the controlled use of channel or network authority to stop harmful or disruptive behavior.&lt;br /&gt;
&lt;br /&gt;
Effective moderation is not measured by the number of users warned, kicked, or banned. It is measured by whether staff:&lt;br /&gt;
&lt;br /&gt;
* Protect users and channels.&lt;br /&gt;
* Restore normal communication.&lt;br /&gt;
* Apply policies consistently.&lt;br /&gt;
* Use proportionate action.&lt;br /&gt;
* Minimize harm to innocent users.&lt;br /&gt;
* Explain important actions clearly.&lt;br /&gt;
* Preserve relevant evidence.&lt;br /&gt;
* Escalate serious incidents.&lt;br /&gt;
* Review temporary restrictions.&lt;br /&gt;
* Remain accountable.&lt;br /&gt;
&lt;br /&gt;
This module focuses primarily on channel moderation and the judgment required before using elevated IRC authority.&lt;br /&gt;
&lt;br /&gt;
Network-wide operator enforcement will be covered in:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Operator Fundamentals|Module 9 — IRC Operator Fundamentals]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Distinguish channel moderation from network enforcement.&lt;br /&gt;
# Determine when staff intervention is appropriate.&lt;br /&gt;
# Use warnings, voice restrictions, kicks, and bans proportionately.&lt;br /&gt;
# Select a reasonably precise ban mask.&lt;br /&gt;
# Handle spam, flooding, harassment, and ban evasion.&lt;br /&gt;
# Respond to bots, raids, and relayed abuse.&lt;br /&gt;
# Avoid punishing innocent users.&lt;br /&gt;
# Preserve evidence before it disappears.&lt;br /&gt;
# Write clear moderation reasons.&lt;br /&gt;
# Record significant actions.&lt;br /&gt;
# Review temporary restrictions.&lt;br /&gt;
# Escalate cases outside their authority.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of Moderation =&lt;br /&gt;
&lt;br /&gt;
The purpose of moderation is to:&lt;br /&gt;
&lt;br /&gt;
* Stop disruptive behavior.&lt;br /&gt;
* Protect users.&lt;br /&gt;
* Preserve the purpose of a channel.&lt;br /&gt;
* Restore normal conversation.&lt;br /&gt;
* Enforce applicable rules.&lt;br /&gt;
* Prevent repeated abuse.&lt;br /&gt;
* Provide a fair and reviewable response.&lt;br /&gt;
&lt;br /&gt;
Moderation must not be used to:&lt;br /&gt;
&lt;br /&gt;
* Win arguments.&lt;br /&gt;
* Silence reasonable criticism.&lt;br /&gt;
* Punish someone for disliking staff.&lt;br /&gt;
* Promote a staff member’s personal beliefs.&lt;br /&gt;
* Favor friends.&lt;br /&gt;
* Take over a channel.&lt;br /&gt;
* Demonstrate power.&lt;br /&gt;
* Retaliate against complaints.&lt;br /&gt;
* Bypass an investigation.&lt;br /&gt;
* Conceal staff mistakes.&lt;br /&gt;
&lt;br /&gt;
= 2. Channel Authority and Network Authority =&lt;br /&gt;
&lt;br /&gt;
== Channel Authority ==&lt;br /&gt;
&lt;br /&gt;
Channel founders and authorized channel staff normally manage:&lt;br /&gt;
&lt;br /&gt;
* Channel topics.&lt;br /&gt;
* Participation rules.&lt;br /&gt;
* Voice and operator status.&lt;br /&gt;
* Kicks.&lt;br /&gt;
* Channel bans.&lt;br /&gt;
* Channel access lists.&lt;br /&gt;
* Channel bots.&lt;br /&gt;
* Channel-specific moderation.&lt;br /&gt;
&lt;br /&gt;
== Network Authority ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC network staff may handle:&lt;br /&gt;
&lt;br /&gt;
* Network-wide policy violations.&lt;br /&gt;
* Spam across multiple channels.&lt;br /&gt;
* Network advertising and recruitment.&lt;br /&gt;
* Severe harassment.&lt;br /&gt;
* Ban evasion across channels.&lt;br /&gt;
* Attacks against users or infrastructure.&lt;br /&gt;
* Malicious bots.&lt;br /&gt;
* Services abuse.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Unauthorized relays.&lt;br /&gt;
* Incidents affecting multiple servers or channels.&lt;br /&gt;
&lt;br /&gt;
A channel operator should not pretend to have network authority.&lt;br /&gt;
&lt;br /&gt;
An IRC operator should not interfere with legitimate channel management without a valid network-level reason.&lt;br /&gt;
&lt;br /&gt;
= 3. When Should Staff Intervene? =&lt;br /&gt;
&lt;br /&gt;
Staff intervention may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* A network rule is being violated.&lt;br /&gt;
* Harm is ongoing.&lt;br /&gt;
* A channel requests authorized assistance.&lt;br /&gt;
* Normal channel management is unavailable.&lt;br /&gt;
* Multiple channels are affected.&lt;br /&gt;
* A bot or relay creates network-wide disruption.&lt;br /&gt;
* A serious security or safety issue exists.&lt;br /&gt;
* Management assigns the matter.&lt;br /&gt;
&lt;br /&gt;
Staff may decide that no action is required when:&lt;br /&gt;
&lt;br /&gt;
* The issue is a minor personal disagreement.&lt;br /&gt;
* A legitimate channel rule was enforced.&lt;br /&gt;
* Evidence is insufficient.&lt;br /&gt;
* The reported conduct is not prohibited.&lt;br /&gt;
* The user is asking staff to retaliate.&lt;br /&gt;
* The issue belongs to another project.&lt;br /&gt;
* The situation has already ended and requires review rather than immediate intervention.&lt;br /&gt;
&lt;br /&gt;
Choosing not to take enforcement action can be the correct professional decision.&lt;br /&gt;
&lt;br /&gt;
= 4. Moderation Decision Framework =&lt;br /&gt;
&lt;br /&gt;
Before acting, ask:&lt;br /&gt;
&lt;br /&gt;
# What conduct is occurring?&lt;br /&gt;
# Is it still happening?&lt;br /&gt;
# Which rule applies?&lt;br /&gt;
# Who is affected?&lt;br /&gt;
# What evidence is available?&lt;br /&gt;
# Has the user already been warned?&lt;br /&gt;
# Is immediate action necessary?&lt;br /&gt;
# What is the least severe effective response?&lt;br /&gt;
# Could the response affect innocent users?&lt;br /&gt;
# Do I have authority?&lt;br /&gt;
# Must the action be recorded?&lt;br /&gt;
# Does the case require escalation?&lt;br /&gt;
&lt;br /&gt;
During an emergency, staff may need to act quickly. The action should still be reviewed and documented afterward.&lt;br /&gt;
&lt;br /&gt;
= 5. The Moderation Response Ladder =&lt;br /&gt;
&lt;br /&gt;
A general response ladder is:&lt;br /&gt;
&lt;br /&gt;
# No action.&lt;br /&gt;
# Guidance or informal correction.&lt;br /&gt;
# Formal warning.&lt;br /&gt;
# Targeted speak restriction or removal of voice.&lt;br /&gt;
# Kick.&lt;br /&gt;
# Temporary channel ban.&lt;br /&gt;
# Longer channel restriction.&lt;br /&gt;
# Escalation for network-level action.&lt;br /&gt;
# Permanent action approved through the proper process.&lt;br /&gt;
&lt;br /&gt;
This is a framework, not a mandatory sequence.&lt;br /&gt;
&lt;br /&gt;
Serious incidents may require immediate protective action without a warning, including:&lt;br /&gt;
&lt;br /&gt;
* Active flooding.&lt;br /&gt;
* Malware distribution.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* Credible threats.&lt;br /&gt;
* Doxxing.&lt;br /&gt;
* Coordinated raids.&lt;br /&gt;
* Active ban evasion.&lt;br /&gt;
* Attacks against network infrastructure.&lt;br /&gt;
&lt;br /&gt;
= 6. Guidance and Informal Correction =&lt;br /&gt;
&lt;br /&gt;
Guidance is appropriate when:&lt;br /&gt;
&lt;br /&gt;
* The violation is minor.&lt;br /&gt;
* The user may not understand the rule.&lt;br /&gt;
* The conduct caused limited harm.&lt;br /&gt;
* The user is cooperative.&lt;br /&gt;
* An immediate sanction is unnecessary.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please stop repeating the same message. It is disrupting the channel.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Guidance should not sound like a threat.&lt;br /&gt;
&lt;br /&gt;
= 7. Formal Warnings =&lt;br /&gt;
&lt;br /&gt;
A formal warning should include:&lt;br /&gt;
&lt;br /&gt;
* The conduct that must stop.&lt;br /&gt;
* The applicable rule or policy.&lt;br /&gt;
* The required corrective action.&lt;br /&gt;
* A possible consequence if it continues.&lt;br /&gt;
* An official policy link where relevant.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Formal warning: Stop sending unsolicited external-network invitations. This may violate the DarkWorld IRC advertising and recruitment policy. Continued activity may result in further restrictions.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A warning is useful only if:&lt;br /&gt;
&lt;br /&gt;
* It reaches the correct user.&lt;br /&gt;
* It is understandable.&lt;br /&gt;
* The user has a reasonable opportunity to comply.&lt;br /&gt;
* It is documented when significant.&lt;br /&gt;
&lt;br /&gt;
A warning may be skipped when delay would permit serious ongoing harm.&lt;br /&gt;
&lt;br /&gt;
= 8. Speak Restrictions and Moderated Mode =&lt;br /&gt;
&lt;br /&gt;
Sometimes it is sufficient to stop a user from speaking without removing them.&lt;br /&gt;
&lt;br /&gt;
Possible options, depending on current server configuration, include:&lt;br /&gt;
&lt;br /&gt;
* Removing voice.&lt;br /&gt;
* Applying a targeted quiet or speak restriction.&lt;br /&gt;
* Setting the channel to moderated mode.&lt;br /&gt;
* Restricting unidentified users from speaking.&lt;br /&gt;
* Restricting notices or CTCP messages.&lt;br /&gt;
&lt;br /&gt;
A targeted restriction is usually less disruptive than moderating an entire channel.&lt;br /&gt;
&lt;br /&gt;
Before using `+m`, consider:&lt;br /&gt;
&lt;br /&gt;
* How many legitimate users will be silenced.&lt;br /&gt;
* Whether voiced users can continue.&lt;br /&gt;
* Whether staff can manage voice requests.&lt;br /&gt;
* Whether a targeted restriction is available.&lt;br /&gt;
* How long the mode will remain.&lt;br /&gt;
* Who will restore normal operation.&lt;br /&gt;
&lt;br /&gt;
= 9. Kicks =&lt;br /&gt;
&lt;br /&gt;
A kick removes a user from a channel but does not necessarily prevent them from returning.&lt;br /&gt;
&lt;br /&gt;
Syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #channel nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #Training ExampleUser Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A kick may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* The disruptive conduct must stop immediately.&lt;br /&gt;
* A warning was ignored.&lt;br /&gt;
* The user needs to be removed from the current discussion.&lt;br /&gt;
* A channel rule authorizes removal.&lt;br /&gt;
* A ban is not yet necessary.&lt;br /&gt;
&lt;br /&gt;
A professional kick reason should be:&lt;br /&gt;
&lt;br /&gt;
* Short.&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Neutral.&lt;br /&gt;
* Related to the conduct.&lt;br /&gt;
* Free from insults.&lt;br /&gt;
* Free from unnecessary confidential details.&lt;br /&gt;
&lt;br /&gt;
Poor reasons include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Annoying&lt;br /&gt;
Go away&lt;br /&gt;
Because I said so&lt;br /&gt;
Idiot&lt;br /&gt;
Staff decision&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 10. Channel Bans =&lt;br /&gt;
&lt;br /&gt;
A channel ban normally prevents a matching user from joining or participating.&lt;br /&gt;
&lt;br /&gt;
Add a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View bans:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A ban may be appropriate when:&lt;br /&gt;
&lt;br /&gt;
* A kicked user immediately returns and continues.&lt;br /&gt;
* The conduct is serious.&lt;br /&gt;
* Ban evasion is occurring.&lt;br /&gt;
* A bot repeatedly disrupts the channel.&lt;br /&gt;
* The user presents an ongoing risk.&lt;br /&gt;
* The channel’s established rules support the restriction.&lt;br /&gt;
&lt;br /&gt;
= 11. Choosing a Ban Mask =&lt;br /&gt;
&lt;br /&gt;
A full user mask appears as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nickname!ident@hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible masks include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! General match&lt;br /&gt;
! Limitation&lt;br /&gt;
|-&lt;br /&gt;
| `ExampleNick!*@*`&lt;br /&gt;
| Current nickname&lt;br /&gt;
| Easy to evade by changing nickname&lt;br /&gt;
|-&lt;br /&gt;
| `*!example@*`&lt;br /&gt;
| Ident&lt;br /&gt;
| Idents may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@Example.User.DarkWorld.Network`&lt;br /&gt;
| Displayed host&lt;br /&gt;
| Host may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*.provider.example`&lt;br /&gt;
| Wider provider range&lt;br /&gt;
| May affect many innocent users&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*`&lt;br /&gt;
| Everyone&lt;br /&gt;
| Normally dangerously broad&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Before selecting a mask, consider:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Displayed host or cloak.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Whether the host is shared.&lt;br /&gt;
* Whether a bouncer, VPN, gateway, or relay is involved.&lt;br /&gt;
* Whether an extended account-based restriction is available.&lt;br /&gt;
* Whether the ban is temporary.&lt;br /&gt;
* How many innocent users may match.&lt;br /&gt;
&lt;br /&gt;
The goal is the narrowest reliable restriction that stops the harmful conduct.&lt;br /&gt;
&lt;br /&gt;
= 12. Ban Then Kick =&lt;br /&gt;
&lt;br /&gt;
When both a ban and kick are necessary, the normal sequence is:&lt;br /&gt;
&lt;br /&gt;
# Set the ban.&lt;br /&gt;
# Kick the user.&lt;br /&gt;
# Confirm the ban entry.&lt;br /&gt;
# Record the action.&lt;br /&gt;
# Review the ban later.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
/KICK #channel ExampleNick Repeated disruption after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting the ban first helps prevent immediate re-entry between commands.&lt;br /&gt;
&lt;br /&gt;
Staff should verify the exact target and mask before sending either command.&lt;br /&gt;
&lt;br /&gt;
= 13. Temporary and Permanent Restrictions =&lt;br /&gt;
&lt;br /&gt;
Most ordinary moderation bans should be reviewable.&lt;br /&gt;
&lt;br /&gt;
A moderation record should identify:&lt;br /&gt;
&lt;br /&gt;
* Whether the restriction is temporary or indefinite.&lt;br /&gt;
* When it was applied.&lt;br /&gt;
* Why it was applied.&lt;br /&gt;
* Who applied it.&lt;br /&gt;
* When it should be reviewed.&lt;br /&gt;
* Which evidence supports it.&lt;br /&gt;
* Whether the user was warned.&lt;br /&gt;
* Whether innocent users may be affected.&lt;br /&gt;
&lt;br /&gt;
An indefinite restriction should not mean “set and forgotten.”&lt;br /&gt;
&lt;br /&gt;
Permanent or long-term network restrictions should require appropriate authorization and review.&lt;br /&gt;
&lt;br /&gt;
= 14. Ban Exceptions =&lt;br /&gt;
&lt;br /&gt;
A ban exception may allow a user to bypass a matching channel ban.&lt;br /&gt;
&lt;br /&gt;
View exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exceptions can help users affected by a shared-host ban, but they can also make the ban structure difficult to understand.&lt;br /&gt;
&lt;br /&gt;
Where possible, replace an unnecessarily broad ban with a more precise restriction instead of creating many exceptions.&lt;br /&gt;
&lt;br /&gt;
= 15. Spam Moderation =&lt;br /&gt;
&lt;br /&gt;
Spam may include:&lt;br /&gt;
&lt;br /&gt;
* Repeated messages.&lt;br /&gt;
* Mass private messages.&lt;br /&gt;
* Repeated links.&lt;br /&gt;
* Automated promotions.&lt;br /&gt;
* Cross-channel advertising.&lt;br /&gt;
* Repetitive irrelevant text.&lt;br /&gt;
* Messages distributed through multiple accounts.&lt;br /&gt;
&lt;br /&gt;
Response factors include:&lt;br /&gt;
&lt;br /&gt;
* Number of messages.&lt;br /&gt;
* Number of recipients.&lt;br /&gt;
* Number of channels.&lt;br /&gt;
* Whether automation is involved.&lt;br /&gt;
* Whether the user was warned.&lt;br /&gt;
* Whether the messages contain malicious links.&lt;br /&gt;
* Whether the conduct is continuing.&lt;br /&gt;
&lt;br /&gt;
A single accidental repeated message usually does not require the same response as coordinated mass spam.&lt;br /&gt;
&lt;br /&gt;
= 16. Flood Moderation =&lt;br /&gt;
&lt;br /&gt;
Flooding may include:&lt;br /&gt;
&lt;br /&gt;
* Text flooding.&lt;br /&gt;
* Join and part flooding.&lt;br /&gt;
* Nickname-change flooding.&lt;br /&gt;
* CTCP flooding.&lt;br /&gt;
* Notice flooding.&lt;br /&gt;
* Private-message flooding.&lt;br /&gt;
* Repeated formatting.&lt;br /&gt;
* Bot-command flooding.&lt;br /&gt;
&lt;br /&gt;
== Single-User Flood ==&lt;br /&gt;
&lt;br /&gt;
Possible response:&lt;br /&gt;
&lt;br /&gt;
# Warn if practical.&lt;br /&gt;
# Apply a targeted restriction.&lt;br /&gt;
# Kick if necessary.&lt;br /&gt;
# Ban if the behavior continues.&lt;br /&gt;
# Record repeated or serious conduct.&lt;br /&gt;
&lt;br /&gt;
== Multi-User Raid ==&lt;br /&gt;
&lt;br /&gt;
Possible response:&lt;br /&gt;
&lt;br /&gt;
# Apply emergency channel modes if authorized.&lt;br /&gt;
# Preserve evidence.&lt;br /&gt;
# Restrict the active sources.&lt;br /&gt;
# Avoid uncontrolled broad bans.&lt;br /&gt;
# Request assistance.&lt;br /&gt;
# Escalate to network operators.&lt;br /&gt;
# Restore normal channel modes afterward.&lt;br /&gt;
# Document the complete incident.&lt;br /&gt;
&lt;br /&gt;
= 17. Harassment Moderation =&lt;br /&gt;
&lt;br /&gt;
Harassment cases require attention to:&lt;br /&gt;
&lt;br /&gt;
* Repetition.&lt;br /&gt;
* Targeting.&lt;br /&gt;
* Whether contact is unwanted.&lt;br /&gt;
* Attempts to evade blocks or bans.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Use of multiple accounts.&lt;br /&gt;
* Private-message conduct.&lt;br /&gt;
* Exposure of personal information.&lt;br /&gt;
* Conduct across several channels.&lt;br /&gt;
&lt;br /&gt;
Staff should not require a targeted user to continue engaging with the harasser.&lt;br /&gt;
&lt;br /&gt;
A normal response may include:&lt;br /&gt;
&lt;br /&gt;
* Advising the target to stop responding.&lt;br /&gt;
* Helping the target use client ignore features.&lt;br /&gt;
* Preserving evidence.&lt;br /&gt;
* Applying channel restrictions.&lt;br /&gt;
* Escalating repeated or network-wide conduct.&lt;br /&gt;
* Taking immediate protective action for threats or doxxing.&lt;br /&gt;
&lt;br /&gt;
Client-side ignore is useful, but it should not be treated as the only response to serious network abuse.&lt;br /&gt;
&lt;br /&gt;
= 18. Ban Evasion =&lt;br /&gt;
&lt;br /&gt;
Possible indicators of ban evasion include:&lt;br /&gt;
&lt;br /&gt;
* Immediate return under a different nickname.&lt;br /&gt;
* Repeated conduct from another connection.&lt;br /&gt;
* Use of a different account after restriction.&lt;br /&gt;
* Admission of evasion.&lt;br /&gt;
* Use of a relay, bot, or another user to continue.&lt;br /&gt;
* Strongly matching timing and behavior.&lt;br /&gt;
&lt;br /&gt;
However:&lt;br /&gt;
&lt;br /&gt;
* Similar behavior does not prove identity.&lt;br /&gt;
* A shared host does not prove identity.&lt;br /&gt;
* A VPN exit may be shared.&lt;br /&gt;
* A bouncer may host multiple users.&lt;br /&gt;
* A relay may display remote users through one bot.&lt;br /&gt;
&lt;br /&gt;
Staff should combine available evidence and escalate broader enforcement decisions.&lt;br /&gt;
&lt;br /&gt;
= 19. Bots and Automated Clients =&lt;br /&gt;
&lt;br /&gt;
Bots may be legitimate, misconfigured, compromised, or malicious.&lt;br /&gt;
&lt;br /&gt;
Before acting, determine:&lt;br /&gt;
&lt;br /&gt;
* What the bot does.&lt;br /&gt;
* Who operates it.&lt;br /&gt;
* Whether the channel authorized it.&lt;br /&gt;
* Whether it is an official or registered service.&lt;br /&gt;
* Whether it is a relay.&lt;br /&gt;
* Whether it responds to commands from anyone.&lt;br /&gt;
* Whether the behavior is accidental.&lt;br /&gt;
* Whether other channels are affected.&lt;br /&gt;
&lt;br /&gt;
An actively flooding bot may need immediate removal even if the cause is accidental.&lt;br /&gt;
&lt;br /&gt;
After containment:&lt;br /&gt;
&lt;br /&gt;
# Notify the operator where appropriate.&lt;br /&gt;
# Explain what behavior must be corrected.&lt;br /&gt;
# Require testing before return where necessary.&lt;br /&gt;
# Escalate malicious or repeated behavior.&lt;br /&gt;
# Record significant incidents.&lt;br /&gt;
&lt;br /&gt;
= 20. Relay-Related Moderation =&lt;br /&gt;
&lt;br /&gt;
A relay bot may display messages originating from users outside DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Staff should identify:&lt;br /&gt;
&lt;br /&gt;
* The DarkWorld channel.&lt;br /&gt;
* Relay bot nickname.&lt;br /&gt;
* External network or platform.&lt;br /&gt;
* Remote channel.&lt;br /&gt;
* Registration or approval status.&lt;br /&gt;
* Whether prohibited advertising is being relayed.&lt;br /&gt;
* Whether the relay operator can filter the content.&lt;br /&gt;
* Whether the abuse comes from one remote user or the relay system generally.&lt;br /&gt;
&lt;br /&gt;
Do not assume the relay bot’s operator personally wrote every relayed message.&lt;br /&gt;
&lt;br /&gt;
However, relay operators remain responsible for compliance and moderation controls.&lt;br /&gt;
&lt;br /&gt;
Unauthorized or non-compliant relays should be handled through the approved relay-compliance process.&lt;br /&gt;
&lt;br /&gt;
= 21. Advertising and Recruitment Moderation =&lt;br /&gt;
&lt;br /&gt;
When possible advertising is observed:&lt;br /&gt;
&lt;br /&gt;
# Preserve the message and context.&lt;br /&gt;
# Determine whether it was requested.&lt;br /&gt;
# Check frequency and distribution.&lt;br /&gt;
# Determine whether it promotes or recruits for an external network or project.&lt;br /&gt;
# Check for an applicable approval.&lt;br /&gt;
# Compare the conduct with the approved scope.&lt;br /&gt;
# Stop ongoing mass abuse where authorized.&lt;br /&gt;
# Escalate administrative decisions.&lt;br /&gt;
# Document the result.&lt;br /&gt;
&lt;br /&gt;
A normal relevant link in conversation is not automatically the same as repeated unsolicited recruitment.&lt;br /&gt;
&lt;br /&gt;
= 22. Malicious Links and Phishing =&lt;br /&gt;
&lt;br /&gt;
Possible malicious conduct includes:&lt;br /&gt;
&lt;br /&gt;
* Fake NickServ links.&lt;br /&gt;
* Fake login pages.&lt;br /&gt;
* Credential requests.&lt;br /&gt;
* Malware downloads.&lt;br /&gt;
* Shortened links designed to conceal a destination.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Messages claiming that users must reveal passwords.&lt;br /&gt;
&lt;br /&gt;
If malicious content is active:&lt;br /&gt;
&lt;br /&gt;
# Stop further distribution.&lt;br /&gt;
# Preserve the destination safely without encouraging users to open it.&lt;br /&gt;
# Warn affected users.&lt;br /&gt;
# Do not publicly repeat sensitive tokens or credentials.&lt;br /&gt;
# Escalate immediately.&lt;br /&gt;
# Identify potentially compromised accounts.&lt;br /&gt;
# Record where the content was distributed.&lt;br /&gt;
&lt;br /&gt;
Trainees should not open suspicious files or links on personal or production systems.&lt;br /&gt;
&lt;br /&gt;
= 23. Channel Takeover Situations =&lt;br /&gt;
&lt;br /&gt;
A channel takeover claim may involve:&lt;br /&gt;
&lt;br /&gt;
* A compromised founder account.&lt;br /&gt;
* Unauthorized access-list changes.&lt;br /&gt;
* A netsplit or Services outage.&lt;br /&gt;
* Former staff retaining access.&lt;br /&gt;
* An external project dispute.&lt;br /&gt;
* A user misunderstanding live operator status.&lt;br /&gt;
* Abuse of IRC operator override.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
# Preserve current information.&lt;br /&gt;
# Avoid irreversible changes.&lt;br /&gt;
# Confirm registered ownership.&lt;br /&gt;
# Separate live modes from ChanServ access.&lt;br /&gt;
# Protect the channel from immediate harm.&lt;br /&gt;
# Escalate founder or ownership changes.&lt;br /&gt;
# Record every administrative intervention.&lt;br /&gt;
&lt;br /&gt;
A trainee must not resolve a takeover claim by simply giving founder or owner access to the person who complains first.&lt;br /&gt;
&lt;br /&gt;
= 24. Evidence During Moderation =&lt;br /&gt;
&lt;br /&gt;
Relevant evidence may disappear after:&lt;br /&gt;
&lt;br /&gt;
* A user quits.&lt;br /&gt;
* A message scrolls away.&lt;br /&gt;
* A bot disconnects.&lt;br /&gt;
* A channel mode changes.&lt;br /&gt;
* Services resynchronize.&lt;br /&gt;
* A netsplit ends.&lt;br /&gt;
&lt;br /&gt;
Where practical, preserve:&lt;br /&gt;
&lt;br /&gt;
* Exact messages.&lt;br /&gt;
* Timestamps.&lt;br /&gt;
* Channel name.&lt;br /&gt;
* Nickname and visible mask.&lt;br /&gt;
* Registered account information, where authorized.&lt;br /&gt;
* Relevant mode changes.&lt;br /&gt;
* Kick or ban reasons.&lt;br /&gt;
* User warnings.&lt;br /&gt;
* Staff actions.&lt;br /&gt;
* Relay or bot information.&lt;br /&gt;
&lt;br /&gt;
Do not delay immediate protection solely to collect perfect evidence.&lt;br /&gt;
&lt;br /&gt;
= 25. Moderation Records =&lt;br /&gt;
&lt;br /&gt;
Use a record such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Case reference:&lt;br /&gt;
Date and time:&lt;br /&gt;
Channel:&lt;br /&gt;
Moderating staff:&lt;br /&gt;
User nickname:&lt;br /&gt;
Registered account, if relevant:&lt;br /&gt;
Visible user mask:&lt;br /&gt;
Conduct observed:&lt;br /&gt;
Rule or policy:&lt;br /&gt;
Warning issued:&lt;br /&gt;
Action taken:&lt;br /&gt;
Ban or restriction:&lt;br /&gt;
Reason:&lt;br /&gt;
Duration:&lt;br /&gt;
Other users affected:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Escalated to:&lt;br /&gt;
Review date:&lt;br /&gt;
Final outcome:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid unnecessary personal information.&lt;br /&gt;
&lt;br /&gt;
= 26. Moderation Reasons =&lt;br /&gt;
&lt;br /&gt;
Good reasons describe conduct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Repeated message flooding after warning&lt;br /&gt;
Unsolicited advertising across multiple channels&lt;br /&gt;
Continued harassment and ban evasion&lt;br /&gt;
Malicious link distribution&lt;br /&gt;
Unauthorized relay activity pending compliance review&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bad reasons attack the person:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Bad person&lt;br /&gt;
Annoying&lt;br /&gt;
Idiot&lt;br /&gt;
Nobody likes you&lt;br /&gt;
Staff says so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moderate conduct, not personality.&lt;br /&gt;
&lt;br /&gt;
= 27. Correcting Moderation Mistakes =&lt;br /&gt;
&lt;br /&gt;
If staff make a mistake:&lt;br /&gt;
&lt;br /&gt;
# Stop any continuing harm.&lt;br /&gt;
# Remove or correct the incorrect restriction.&lt;br /&gt;
# Restore affected access where appropriate.&lt;br /&gt;
# Inform the affected user honestly.&lt;br /&gt;
# Notify senior staff when required.&lt;br /&gt;
# Preserve the original action record.&lt;br /&gt;
# Add the correction and reason.&lt;br /&gt;
# Identify how to prevent recurrence.&lt;br /&gt;
&lt;br /&gt;
Do not delete or falsify records to hide an error.&lt;br /&gt;
&lt;br /&gt;
An appropriate acknowledgement may be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
The restriction was applied to an incorrect mask and has now been removed. We apologize for the disruption. The incident record has been corrected and referred for review.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 28. Appeals =&lt;br /&gt;
&lt;br /&gt;
A user may disagree with a moderation decision.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Explain the available review process.&lt;br /&gt;
* Avoid public arguments.&lt;br /&gt;
* Preserve the original record.&lt;br /&gt;
* Refer the matter to an authorized reviewer.&lt;br /&gt;
* Disclose conflicts of interest.&lt;br /&gt;
* Avoid retaliating against the appellant.&lt;br /&gt;
* Implement the review outcome.&lt;br /&gt;
* Correct confirmed errors.&lt;br /&gt;
&lt;br /&gt;
Where independent review is required, the person who took the disputed action should not be the only person deciding the appeal.&lt;br /&gt;
&lt;br /&gt;
= 29. Staff Disagreement During an Incident =&lt;br /&gt;
&lt;br /&gt;
If staff disagree:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm.&lt;br /&gt;
# Avoid arguing publicly.&lt;br /&gt;
# Preserve the relevant facts.&lt;br /&gt;
# Follow the current incident leader or senior authority.&lt;br /&gt;
# Move the disagreement to an approved staff channel.&lt;br /&gt;
# Record major conflicting actions.&lt;br /&gt;
# Request review after the incident.&lt;br /&gt;
&lt;br /&gt;
Staff must not repeatedly reverse each other’s modes in public while an incident is active.&lt;br /&gt;
&lt;br /&gt;
= 30. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
These exercises must be performed only in an approved training channel using test identities.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Warning ==&lt;br /&gt;
&lt;br /&gt;
Write and deliver a professional warning for repeated text flooding.&lt;br /&gt;
&lt;br /&gt;
The warning must state:&lt;br /&gt;
&lt;br /&gt;
* What must stop.&lt;br /&gt;
* Why it is disruptive.&lt;br /&gt;
* What may happen if it continues.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Kick ==&lt;br /&gt;
&lt;br /&gt;
With trainer authorization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #ApprovedTrainingChannel TestUser Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The trainer should assess the accuracy and professionalism of the reason.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Ban and Removal ==&lt;br /&gt;
&lt;br /&gt;
Using a trainer-provided test identity:&lt;br /&gt;
&lt;br /&gt;
# Inspect the visible user mask.&lt;br /&gt;
# Select a precise mask.&lt;br /&gt;
# Add the ban.&lt;br /&gt;
# Confirm the ban list.&lt;br /&gt;
# Kick the test user.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify removal.&lt;br /&gt;
# Record the exercise.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
The trainer provides three test users sharing a host.&lt;br /&gt;
&lt;br /&gt;
The candidate must propose a restriction targeting only the disruptive identity, using currently supported methods.&lt;br /&gt;
&lt;br /&gt;
No broad ban should be applied without trainer approval.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Channel Raid ==&lt;br /&gt;
&lt;br /&gt;
The trainer simulates several flooding users.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Identify the raid.&lt;br /&gt;
* Apply approved temporary modes.&lt;br /&gt;
* Request assistance.&lt;br /&gt;
* Preserve evidence.&lt;br /&gt;
* Restore the original modes.&lt;br /&gt;
* Complete an incident record.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Appeal ==&lt;br /&gt;
&lt;br /&gt;
The candidate receives a simulated complaint about their own ban.&lt;br /&gt;
&lt;br /&gt;
They must:&lt;br /&gt;
&lt;br /&gt;
* Avoid arguing.&lt;br /&gt;
* Explain the review process.&lt;br /&gt;
* Preserve the record.&lt;br /&gt;
* Disclose their involvement.&lt;br /&gt;
* Refer the decision appropriately.&lt;br /&gt;
&lt;br /&gt;
= 31. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: First Minor Flood ==&lt;br /&gt;
&lt;br /&gt;
A normally cooperative user accidentally pastes several lines rapidly and immediately apologizes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Guidance may be sufficient. Consider context, harm, and cooperation before using a sanction.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Repeated Flood After Warning ==&lt;br /&gt;
&lt;br /&gt;
A user continues flooding after a clear warning.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A kick or targeted temporary restriction may be proportionate. Apply a ban if needed to prevent immediate return and continued disruption.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared VPN Address ==&lt;br /&gt;
&lt;br /&gt;
One abusive user and several innocent users appear through the same VPN host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not automatically ban the entire host. Consider account-based or more precise restrictions and escalate if network-level action is needed.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
Twenty new connections join and flood several official channels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Apply authorized emergency protection, request network-operator assistance, preserve evidence, and treat it as a network incident rather than an ordinary single-channel violation.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Critical Staff User ==&lt;br /&gt;
&lt;br /&gt;
A user respectfully criticizes a staff decision without flooding or harassment.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not punish the user for criticism. Direct them to the review process if appropriate.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Relay Advertisement ==&lt;br /&gt;
&lt;br /&gt;
An approved relay repeatedly imports invitations to an external network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Contain ongoing disruption if necessary, record the relayed content, notify the relay operator, and escalate through relay compliance. Existing approval does not authorize policy violations.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: Staff Friend ==&lt;br /&gt;
&lt;br /&gt;
A friend of a staff member repeatedly violates channel rules, and the staff member asks others to ignore it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Apply policy neutrally, document the conflict, and escalate interference or favoritism.&lt;br /&gt;
&lt;br /&gt;
== Scenario 8: Incorrect Ban ==&lt;br /&gt;
&lt;br /&gt;
A ban intended for one user removes several legitimate users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Correct the restriction promptly, restore affected access, acknowledge the error, record the correction, and select a more precise method.&lt;br /&gt;
&lt;br /&gt;
= 32. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of IRC moderation?&lt;br /&gt;
# What must moderation never be used for?&lt;br /&gt;
# What is the difference between channel and network authority?&lt;br /&gt;
# When may no staff action be the correct decision?&lt;br /&gt;
# What questions should be asked before moderating?&lt;br /&gt;
# What is the moderation response ladder?&lt;br /&gt;
# When may a warning reasonably be skipped?&lt;br /&gt;
# What should a formal warning contain?&lt;br /&gt;
# When might a targeted speak restriction be preferable to `+m`?&lt;br /&gt;
# What is the purpose of a kick?&lt;br /&gt;
# Does a kick prevent a user from returning?&lt;br /&gt;
# When may a channel ban be appropriate?&lt;br /&gt;
# Why should a ban be set before a kick when both are needed?&lt;br /&gt;
# What factors determine a suitable ban mask?&lt;br /&gt;
# Why are broad provider bans risky?&lt;br /&gt;
# What information should a temporary ban record contain?&lt;br /&gt;
# What is a ban exception?&lt;br /&gt;
# How does single-user flooding differ from a coordinated raid?&lt;br /&gt;
# Why is client-side ignore not always sufficient for serious harassment?&lt;br /&gt;
# What evidence may indicate ban evasion?&lt;br /&gt;
# Why does a shared VPN or bouncer host not prove identity?&lt;br /&gt;
# How should a malfunctioning bot be handled?&lt;br /&gt;
# What information should be collected about an abusive relay?&lt;br /&gt;
# How should possible advertising be evaluated?&lt;br /&gt;
# What should staff do about active phishing?&lt;br /&gt;
# Why must channel-takeover claims be escalated?&lt;br /&gt;
# What evidence should be preserved during moderation?&lt;br /&gt;
# What makes a good moderation reason?&lt;br /&gt;
# What should staff do after applying an incorrect restriction?&lt;br /&gt;
# How should an appeal be handled?&lt;br /&gt;
# What should staff do when they disagree during an active incident?&lt;br /&gt;
# Why must temporary emergency modes be reviewed?&lt;br /&gt;
&lt;br /&gt;
= 33. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;800–1,100 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a busy event in an official DarkWorld channel, ten new users join within one minute. Four begin flooding repeated advertisements for another IRC network. Two use the same VPN hostname as three legitimate users already in the channel. An approved relay also begins importing similar advertisements. A channel operator sets `+m`, bans the entire VPN host, kicks all newly joined users, and leaves the channel without recording the actions.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Which behavior required immediate intervention.&lt;br /&gt;
* Whether `+m` was proportionate.&lt;br /&gt;
* Why the broad VPN ban requires review.&lt;br /&gt;
* Why all newly joined users should not automatically be treated as attackers.&lt;br /&gt;
* How the relay should be handled.&lt;br /&gt;
* What evidence should be preserved.&lt;br /&gt;
* Which actions belong to channel moderation.&lt;br /&gt;
* Which issues require network or compliance escalation.&lt;br /&gt;
* How innocent users should be restored.&lt;br /&gt;
* What should be documented.&lt;br /&gt;
* When emergency modes should be removed.&lt;br /&gt;
* How the operator’s actions should be reviewed.&lt;br /&gt;
&lt;br /&gt;
= 34. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;24 of the 32&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate accurate warning, kick, and ban procedures.&lt;br /&gt;
* Correctly restore all training modes and bans.&lt;br /&gt;
* Complete an acceptable moderation record.&lt;br /&gt;
* Pass the raid and appeal simulations.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 35. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Moderation judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Warnings and communication&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Kick and ban accuracy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Ban-mask precision&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Flood and raid response&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Evidence and documentation&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Appeals and accountability&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Authority boundaries&lt;br /&gt;
| 5&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Use moderation for personal retaliation.&lt;br /&gt;
* Repeatedly apply dangerously broad restrictions.&lt;br /&gt;
* Cannot restore their own mode changes.&lt;br /&gt;
* Ignore harm to innocent users.&lt;br /&gt;
* Falsify or conceal actions.&lt;br /&gt;
* Punish users for legitimate complaints.&lt;br /&gt;
* Refuse required escalation.&lt;br /&gt;
* Use elevated commands without authorization.&lt;br /&gt;
&lt;br /&gt;
= 36. Quick Moderation Checklist =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What behavior is occurring?&lt;br /&gt;
2. Is the behavior still active?&lt;br /&gt;
3. Which rule applies?&lt;br /&gt;
4. What evidence is available?&lt;br /&gt;
5. Who is affected?&lt;br /&gt;
6. Was a warning given or reasonably skipped?&lt;br /&gt;
7. What is the smallest effective action?&lt;br /&gt;
8. Could innocent users be affected?&lt;br /&gt;
9. Do I have authority?&lt;br /&gt;
10. Is network-level assistance required?&lt;br /&gt;
11. What must be documented?&lt;br /&gt;
12. When will the restriction be reviewed?&lt;br /&gt;
13. Who will restore temporary modes?&lt;br /&gt;
14. Is an independent review required?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 37. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Module 8 — Abuse and Incident Handling]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Moderation]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_Support&amp;diff=391</id>
		<title>DWIRC:Staff Training/User Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_Support&amp;diff=391"/>
		<updated>2026-08-08T17:44:44Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/User Support&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 6 — User Support and Communication}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 6: User Support and Communication&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 6 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, roleplay, and support-case exercises&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
User support is one of the most important responsibilities of DarkWorld IRC staff.&lt;br /&gt;
&lt;br /&gt;
A staff member may understand IRC commands and policies but still be unsuitable for support if they cannot communicate patiently, clearly, neutrally, and securely.&lt;br /&gt;
&lt;br /&gt;
This module teaches candidates how to:&lt;br /&gt;
&lt;br /&gt;
* Receive and understand support requests.&lt;br /&gt;
* Ask effective diagnostic questions.&lt;br /&gt;
* Provide clear instructions.&lt;br /&gt;
* Protect passwords and private information.&lt;br /&gt;
* Assist inexperienced users.&lt;br /&gt;
* Handle angry or frustrated users.&lt;br /&gt;
* De-escalate disagreements.&lt;br /&gt;
* Recognize project boundaries.&lt;br /&gt;
* Escalate unresolved or high-risk cases.&lt;br /&gt;
* Record support activity appropriately.&lt;br /&gt;
&lt;br /&gt;
The purpose of support is to help the user reach a safe and correct outcome—not merely to send commands or close the conversation quickly.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Greet and assist users professionally.&lt;br /&gt;
# Identify the user’s actual problem.&lt;br /&gt;
# Ask focused diagnostic questions.&lt;br /&gt;
# Provide one clear troubleshooting step at a time.&lt;br /&gt;
# Avoid requesting passwords or unnecessary private information.&lt;br /&gt;
# Explain technical concepts in accessible language.&lt;br /&gt;
# Recognize when a request belongs to another DarkWorld project.&lt;br /&gt;
# Handle complaints and frustration without escalating conflict.&lt;br /&gt;
# Distinguish support cases from abuse reports.&lt;br /&gt;
# Recognize emergencies and security incidents.&lt;br /&gt;
# Escalate cases with a useful summary.&lt;br /&gt;
# Confirm that a problem is resolved before closing the case.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of User Support =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC support should help users:&lt;br /&gt;
&lt;br /&gt;
* Connect securely.&lt;br /&gt;
* Register and authenticate accounts.&lt;br /&gt;
* Configure SASL.&lt;br /&gt;
* Recover nicknames through approved procedures.&lt;br /&gt;
* Register and manage channels.&lt;br /&gt;
* Understand channel and user modes.&lt;br /&gt;
* Find official policies.&lt;br /&gt;
* Report abuse safely.&lt;br /&gt;
* Resolve ordinary IRC client problems.&lt;br /&gt;
* Locate the correct DarkWorld project team.&lt;br /&gt;
* Understand network notices and errors.&lt;br /&gt;
* Use official resources.&lt;br /&gt;
&lt;br /&gt;
Support staff should also help the network by:&lt;br /&gt;
&lt;br /&gt;
* Identifying recurring problems.&lt;br /&gt;
* Reporting outdated documentation.&lt;br /&gt;
* Recognizing widespread service failures.&lt;br /&gt;
* Detecting phishing and impersonation.&lt;br /&gt;
* Directing policy cases correctly.&lt;br /&gt;
* Preventing unsafe advice from spreading.&lt;br /&gt;
* Recording unresolved incidents.&lt;br /&gt;
&lt;br /&gt;
= 2. Official Support Channels =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may use channels such as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Channel&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| `#Help`&lt;br /&gt;
| IRC connection, accounts, channels, Services, and network help&lt;br /&gt;
|-&lt;br /&gt;
| `#Support`&lt;br /&gt;
| Support relating to applicable DarkWorld services or projects&lt;br /&gt;
|-&lt;br /&gt;
| `#Abuse`&lt;br /&gt;
| Abuse reports and policy-related concerns&lt;br /&gt;
|-&lt;br /&gt;
| `#DarkWorld`&lt;br /&gt;
| General network and community discussion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Restricted staff channels may be used for escalation and coordination.&lt;br /&gt;
&lt;br /&gt;
Staff must not move private evidence into a public channel merely because the conversation began there.&lt;br /&gt;
&lt;br /&gt;
= 3. The Support Workflow =&lt;br /&gt;
&lt;br /&gt;
Use the following process:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Acknowledge&#039;&#039;&#039; the user.&lt;br /&gt;
# &#039;&#039;&#039;Understand&#039;&#039;&#039; what they are trying to do.&lt;br /&gt;
# &#039;&#039;&#039;Collect&#039;&#039;&#039; only the necessary information.&lt;br /&gt;
# &#039;&#039;&#039;Classify&#039;&#039;&#039; the issue.&lt;br /&gt;
# &#039;&#039;&#039;Provide&#039;&#039;&#039; a safe troubleshooting step.&lt;br /&gt;
# &#039;&#039;&#039;Confirm&#039;&#039;&#039; the result.&lt;br /&gt;
# &#039;&#039;&#039;Continue or escalate&#039;&#039;&#039; as required.&lt;br /&gt;
# &#039;&#039;&#039;Summarize&#039;&#039;&#039; the outcome.&lt;br /&gt;
# &#039;&#039;&#039;Document&#039;&#039;&#039; the case where necessary.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Acknowledge ==&lt;br /&gt;
&lt;br /&gt;
A simple acknowledgement tells the user that someone is listening.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hello. I can help you check that.&lt;br /&gt;
Please provide the exact error message you receive.&lt;br /&gt;
I understand the issue. Let us check your connection settings first.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
What?&lt;br /&gt;
It works for me.&lt;br /&gt;
You configured it wrong.&lt;br /&gt;
Read the website.&lt;br /&gt;
That is not my problem.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 2: Understand the Goal ==&lt;br /&gt;
&lt;br /&gt;
Ask what the user is trying to accomplish.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Are you trying to register a new account or identify to an existing one?&lt;br /&gt;
Are you unable to connect to IRC, or can you connect but not join the channel?&lt;br /&gt;
Are you asking about a channel ban or a network-wide restriction?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solving the wrong problem wastes time and may create additional risk.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Collect Necessary Information ==&lt;br /&gt;
&lt;br /&gt;
Useful information may include:&lt;br /&gt;
&lt;br /&gt;
* IRC client and version.&lt;br /&gt;
* Device or operating system.&lt;br /&gt;
* Server address.&lt;br /&gt;
* Port.&lt;br /&gt;
* Whether TLS is enabled.&lt;br /&gt;
* Exact error message.&lt;br /&gt;
* Nickname or registered account.&lt;br /&gt;
* Relevant channel.&lt;br /&gt;
* Approximate time.&lt;br /&gt;
* What changed before the problem began.&lt;br /&gt;
* Troubleshooting already attempted.&lt;br /&gt;
&lt;br /&gt;
Do not collect private information merely because it might be interesting.&lt;br /&gt;
&lt;br /&gt;
== Step 4: Classify the Issue ==&lt;br /&gt;
&lt;br /&gt;
Common categories include:&lt;br /&gt;
&lt;br /&gt;
* Connection problem.&lt;br /&gt;
* TLS or certificate problem.&lt;br /&gt;
* SASL or NickServ problem.&lt;br /&gt;
* Channel access problem.&lt;br /&gt;
* Services problem.&lt;br /&gt;
* Channel-management issue.&lt;br /&gt;
* Policy question.&lt;br /&gt;
* Abuse report.&lt;br /&gt;
* Project-specific request.&lt;br /&gt;
* Network incident.&lt;br /&gt;
* Security emergency.&lt;br /&gt;
&lt;br /&gt;
== Step 5: Provide a Safe Step ==&lt;br /&gt;
&lt;br /&gt;
Give one or a small number of clear steps.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please confirm that the server is irc.darkworld.network, the port is 6697, and TLS is enabled. Do not disable certificate verification. Tell me the exact error after trying again.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid sending a large block of unrelated commands before identifying the problem.&lt;br /&gt;
&lt;br /&gt;
== Step 6: Confirm the Result ==&lt;br /&gt;
&lt;br /&gt;
Ask:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Did the connection complete successfully?&lt;br /&gt;
Does WHOIS now show your registered account?&lt;br /&gt;
Can you join the channel after identifying?&lt;br /&gt;
What exact response does NickServ give now?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7: Escalate When Required ==&lt;br /&gt;
&lt;br /&gt;
Escalate when:&lt;br /&gt;
&lt;br /&gt;
* The issue is outside your authority.&lt;br /&gt;
* Normal troubleshooting has failed.&lt;br /&gt;
* Multiple users are affected.&lt;br /&gt;
* A security problem may exist.&lt;br /&gt;
* Administrative Services action is required.&lt;br /&gt;
* A policy decision is disputed.&lt;br /&gt;
* Confidential evidence must be reviewed.&lt;br /&gt;
* The action could affect many users.&lt;br /&gt;
* You are uncertain and a wrong action could cause harm.&lt;br /&gt;
&lt;br /&gt;
= 4. Clear Communication =&lt;br /&gt;
&lt;br /&gt;
Good support communication should be:&lt;br /&gt;
&lt;br /&gt;
* Clear.&lt;br /&gt;
* Respectful.&lt;br /&gt;
* Short enough to follow.&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Relevant.&lt;br /&gt;
* Secure.&lt;br /&gt;
* Free from unnecessary jargon.&lt;br /&gt;
* Appropriate to the user’s experience.&lt;br /&gt;
&lt;br /&gt;
== Use Plain Language ==&lt;br /&gt;
&lt;br /&gt;
Instead of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your SASL PLAIN negotiation failed during CAP authentication.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Try:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your client could not authenticate your registered account while connecting. Let us check the saved account name, password, and SASL settings.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technical details may be added when they help the user understand or troubleshoot the issue.&lt;br /&gt;
&lt;br /&gt;
== Give Commands Separately ==&lt;br /&gt;
&lt;br /&gt;
Prefer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Open a private NickServ window and enter:&lt;br /&gt;
&lt;br /&gt;
/MSG NickServ INFO YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid placing several password-sensitive commands into a public-channel message.&lt;br /&gt;
&lt;br /&gt;
== Explain Expected Results ==&lt;br /&gt;
&lt;br /&gt;
Do not only provide a command. Explain what should happen.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Run /WHOIS YourNickname. In the response, look for a line showing that you are logged into your registered account. Do not paste any private connection information publicly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 5. Supporting New IRC Users =&lt;br /&gt;
&lt;br /&gt;
New users may not understand:&lt;br /&gt;
&lt;br /&gt;
* What a nickname is.&lt;br /&gt;
* How channels work.&lt;br /&gt;
* Why a nickname is already in use.&lt;br /&gt;
* The difference between IRC and a website.&lt;br /&gt;
* How to send a command.&lt;br /&gt;
* What NickServ is.&lt;br /&gt;
* Why TLS matters.&lt;br /&gt;
* How to open a private query.&lt;br /&gt;
* Why they must identify.&lt;br /&gt;
* How SASL works.&lt;br /&gt;
&lt;br /&gt;
Staff should not embarrass users for lacking this knowledge.&lt;br /&gt;
&lt;br /&gt;
A helpful sequence is:&lt;br /&gt;
&lt;br /&gt;
# Confirm their IRC client.&lt;br /&gt;
# Help them connect securely.&lt;br /&gt;
# Help them choose a nickname.&lt;br /&gt;
# Explain channels and private messages.&lt;br /&gt;
# Direct them to official NickServ help.&lt;br /&gt;
# Help them register privately.&lt;br /&gt;
# Explain email confirmation.&lt;br /&gt;
# Help configure SASL.&lt;br /&gt;
# Help them join official channels.&lt;br /&gt;
# Point them to current documentation.&lt;br /&gt;
&lt;br /&gt;
= 6. Asking Good Diagnostic Questions =&lt;br /&gt;
&lt;br /&gt;
Good questions are specific and easy to answer.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
What exact error appears when you connect?&lt;br /&gt;
Which IRC client are you using?&lt;br /&gt;
Are you connecting to irc.darkworld.network on port 6697?&lt;br /&gt;
Is TLS enabled?&lt;br /&gt;
Does the problem happen before or after you join the network?&lt;br /&gt;
What does NickServ say after you identify?&lt;br /&gt;
Are you identified to the same account that has channel access?&lt;br /&gt;
Does this affect only one channel?&lt;br /&gt;
Approximately when did the problem begin?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid vague or accusatory questions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Why did you break it?&lt;br /&gt;
What did you do?&lt;br /&gt;
Are you sure you know how IRC works?&lt;br /&gt;
Why did you forget your password?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7. One Change at a Time =&lt;br /&gt;
&lt;br /&gt;
When practical, ask the user to make one meaningful change and report the result.&lt;br /&gt;
&lt;br /&gt;
This helps identify the cause.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
# Confirm the server and port.&lt;br /&gt;
# Attempt the connection.&lt;br /&gt;
# Record the exact error.&lt;br /&gt;
# Verify the device time if TLS fails.&lt;br /&gt;
# Check SASL only after the secure connection succeeds.&lt;br /&gt;
&lt;br /&gt;
If several settings are changed simultaneously, it becomes difficult to know which change solved or worsened the problem.&lt;br /&gt;
&lt;br /&gt;
= 8. Password and Credential Safety =&lt;br /&gt;
&lt;br /&gt;
Staff must never ask users to provide:&lt;br /&gt;
&lt;br /&gt;
* NickServ passwords.&lt;br /&gt;
* SASL passwords.&lt;br /&gt;
* Email passwords.&lt;br /&gt;
* Confirmation codes.&lt;br /&gt;
* Password-reset codes.&lt;br /&gt;
* Two-factor secrets.&lt;br /&gt;
* IRC operator passwords.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Server credentials.&lt;br /&gt;
* Private keys.&lt;br /&gt;
&lt;br /&gt;
If a user posts a credential publicly:&lt;br /&gt;
&lt;br /&gt;
# Do not repeat or quote it.&lt;br /&gt;
# Tell the user to change or revoke it immediately.&lt;br /&gt;
# Explain which saved clients or services must be updated.&lt;br /&gt;
# Limit further exposure where authorized.&lt;br /&gt;
# Escalate if an account or system may be compromised.&lt;br /&gt;
# Document the security incident appropriately.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Staff reminder:&#039;&#039;&#039; A legitimate DarkWorld staff member does not need a user’s password to provide account-support instructions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 9. Public and Private Support =&lt;br /&gt;
&lt;br /&gt;
== Suitable for Public Support ==&lt;br /&gt;
&lt;br /&gt;
Public channels may be used for:&lt;br /&gt;
&lt;br /&gt;
* General connection settings.&lt;br /&gt;
* Public commands.&lt;br /&gt;
* Links to official documentation.&lt;br /&gt;
* Non-sensitive client instructions.&lt;br /&gt;
* General explanations of policy.&lt;br /&gt;
* Service-status information approved for publication.&lt;br /&gt;
&lt;br /&gt;
== Move to an Approved Private Process ==&lt;br /&gt;
&lt;br /&gt;
Use an approved private method for:&lt;br /&gt;
&lt;br /&gt;
* Account ownership evidence.&lt;br /&gt;
* Private-message abuse logs.&lt;br /&gt;
* IP or hostname information.&lt;br /&gt;
* Email-account details.&lt;br /&gt;
* Security vulnerabilities.&lt;br /&gt;
* Staff complaints.&lt;br /&gt;
* Compromised accounts.&lt;br /&gt;
* Confidential project applications.&lt;br /&gt;
* Sensitive relay or advertising evidence.&lt;br /&gt;
&lt;br /&gt;
A private message is not automatically an approved permanent evidence system. Important evidence may still need to be transferred to an authorized case record.&lt;br /&gt;
&lt;br /&gt;
= 10. Handling Frustrated or Angry Users =&lt;br /&gt;
&lt;br /&gt;
Users may be upset because:&lt;br /&gt;
&lt;br /&gt;
* They cannot connect.&lt;br /&gt;
* They lost account access.&lt;br /&gt;
* They were banned.&lt;br /&gt;
* They believe staff treated them unfairly.&lt;br /&gt;
* They have repeated the same problem.&lt;br /&gt;
* They do not understand the instructions.&lt;br /&gt;
* They feel ignored.&lt;br /&gt;
* The issue affects an important event or project.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Remain calm.&lt;br /&gt;
* Acknowledge the inconvenience.&lt;br /&gt;
* Focus on verifiable facts.&lt;br /&gt;
* Avoid matching the user’s tone.&lt;br /&gt;
* Explain what can and cannot be done.&lt;br /&gt;
* Give a clear next step.&lt;br /&gt;
* Set boundaries if abuse continues.&lt;br /&gt;
* Escalate serious complaints appropriately.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that losing access before your event is frustrating. I cannot change channel ownership without verification, but I can collect the required information and escalate it to the Services team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Calm down.&lt;br /&gt;
Stop complaining.&lt;br /&gt;
I am staff, so do what I say.&lt;br /&gt;
If you continue asking, I will ban you.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 11. De-escalation =&lt;br /&gt;
&lt;br /&gt;
De-escalation means reducing conflict while still enforcing necessary boundaries.&lt;br /&gt;
&lt;br /&gt;
Useful techniques include:&lt;br /&gt;
&lt;br /&gt;
* Use the person’s current nickname respectfully.&lt;br /&gt;
* Acknowledge the concern without automatically agreeing.&lt;br /&gt;
* State verified facts.&lt;br /&gt;
* Avoid blame-focused language.&lt;br /&gt;
* Give clear choices.&lt;br /&gt;
* Explain the next step.&lt;br /&gt;
* Avoid arguing about unrelated issues.&lt;br /&gt;
* Move sensitive discussion away from public channels.&lt;br /&gt;
* Request help from another staff member when needed.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that you disagree with the ban. I will not debate private evidence in the public channel. Please provide the channel, approximate time, and ban reason so the authorized team can review it.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De-escalation does not require staff to tolerate threats, flooding, or continued abuse.&lt;br /&gt;
&lt;br /&gt;
= 12. Language and Accessibility =&lt;br /&gt;
&lt;br /&gt;
DarkWorld is an international community. Users may:&lt;br /&gt;
&lt;br /&gt;
* Speak English as a second language.&lt;br /&gt;
* Use translation tools.&lt;br /&gt;
* Have difficulty with technical terminology.&lt;br /&gt;
* Use a mobile client.&lt;br /&gt;
* Have visual or other accessibility needs.&lt;br /&gt;
* Require additional time to follow steps.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Use short sentences.&lt;br /&gt;
* Avoid unnecessary slang.&lt;br /&gt;
* Avoid mocking spelling or grammar.&lt;br /&gt;
* Give commands in copyable form.&lt;br /&gt;
* Explain one step at a time.&lt;br /&gt;
* Confirm understanding.&lt;br /&gt;
* Use screenshots only when text instructions are insufficient.&lt;br /&gt;
* Provide official translated material where available.&lt;br /&gt;
* Request help from another staff member if language prevents accurate support.&lt;br /&gt;
&lt;br /&gt;
= 13. Cultural and Personal Neutrality =&lt;br /&gt;
&lt;br /&gt;
Staff must not discriminate based on:&lt;br /&gt;
&lt;br /&gt;
* Nationality.&lt;br /&gt;
* Race or ethnicity.&lt;br /&gt;
* Religion.&lt;br /&gt;
* Gender.&lt;br /&gt;
* Disability.&lt;br /&gt;
* Sexual orientation.&lt;br /&gt;
* Language.&lt;br /&gt;
* Age.&lt;br /&gt;
* Political views.&lt;br /&gt;
* Social or economic status.&lt;br /&gt;
* Technical ability.&lt;br /&gt;
&lt;br /&gt;
Personal disagreement does not justify denying support.&lt;br /&gt;
&lt;br /&gt;
Staff may enforce applicable channel or network rules neutrally without endorsing a user’s beliefs.&lt;br /&gt;
&lt;br /&gt;
= 14. Project Boundaries =&lt;br /&gt;
&lt;br /&gt;
Not every question in `#Support` belongs to DWIRC staff.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Request&lt;br /&gt;
! Appropriate destination&lt;br /&gt;
|-&lt;br /&gt;
| Cannot connect to IRC&lt;br /&gt;
| DWIRC support&lt;br /&gt;
|-&lt;br /&gt;
| NickServ account problem&lt;br /&gt;
| DWIRC support or Services staff&lt;br /&gt;
|-&lt;br /&gt;
| Channel ban appeal&lt;br /&gt;
| Channel management or authorized DWIRC review&lt;br /&gt;
|-&lt;br /&gt;
| Increase shell disk quota&lt;br /&gt;
| DWShells staff&lt;br /&gt;
|-&lt;br /&gt;
| Create or modify ZNC account&lt;br /&gt;
| DWBouncers staff&lt;br /&gt;
|-&lt;br /&gt;
| Game-server issue&lt;br /&gt;
| Relevant game or DWGames staff&lt;br /&gt;
|-&lt;br /&gt;
| Advertising application status&lt;br /&gt;
| Policy team&lt;br /&gt;
|-&lt;br /&gt;
| Relay registration status&lt;br /&gt;
| Relay team&lt;br /&gt;
|-&lt;br /&gt;
| Website account problem&lt;br /&gt;
| Relevant website or project administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A DWIRC staff member may help identify the correct team but must not make unauthorized changes in another project.&lt;br /&gt;
&lt;br /&gt;
= 15. Support vs Abuse Reports =&lt;br /&gt;
&lt;br /&gt;
A support request asks for help using the network.&lt;br /&gt;
&lt;br /&gt;
An abuse report alleges harmful or prohibited conduct.&lt;br /&gt;
&lt;br /&gt;
Some cases contain both.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A user cannot join a channel because another person is repeatedly evading bans and taking their nickname.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The connection or nickname aspect may be support, while the evasion and impersonation aspect may require an abuse investigation.&lt;br /&gt;
&lt;br /&gt;
Support staff should:&lt;br /&gt;
&lt;br /&gt;
# Help with the immediate safe issue.&lt;br /&gt;
# Preserve relevant information.&lt;br /&gt;
# Avoid conducting an unauthorized investigation.&lt;br /&gt;
# Move sensitive evidence to the approved process.&lt;br /&gt;
# Escalate the abuse component.&lt;br /&gt;
&lt;br /&gt;
= 16. Support vs Policy Decisions =&lt;br /&gt;
&lt;br /&gt;
Support staff may explain public policy, but not every support staff member is authorized to:&lt;br /&gt;
&lt;br /&gt;
* Approve advertising.&lt;br /&gt;
* Register a relay.&lt;br /&gt;
* Decide a complex policy appeal.&lt;br /&gt;
* Suspend an approved project.&lt;br /&gt;
* Revoke a verified presence.&lt;br /&gt;
* Change an account owner.&lt;br /&gt;
* Impose a permanent network sanction.&lt;br /&gt;
&lt;br /&gt;
A useful response is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I can explain the policy and help you locate the application status. The final decision must be made by the authorized policy team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 17. Handling Staff Complaints =&lt;br /&gt;
&lt;br /&gt;
A user may report misconduct by a staff member.&lt;br /&gt;
&lt;br /&gt;
The receiving staff member should:&lt;br /&gt;
&lt;br /&gt;
# Remain neutral.&lt;br /&gt;
# Avoid defending or condemning the staff member immediately.&lt;br /&gt;
# Identify the action being reported.&lt;br /&gt;
# Preserve the relevant information.&lt;br /&gt;
# Protect the complainant from retaliation.&lt;br /&gt;
# Avoid discussing private staff matters publicly.&lt;br /&gt;
# Escalate to an appropriate senior or independent reviewer.&lt;br /&gt;
# Record the complaint through the approved process.&lt;br /&gt;
# Inform the user of the next available step.&lt;br /&gt;
&lt;br /&gt;
A staff complaint must not be sent solely to the person being accused when independent review is required.&lt;br /&gt;
&lt;br /&gt;
Criticism of staff is not automatically a policy violation.&lt;br /&gt;
&lt;br /&gt;
= 18. Recognizing Network-Wide Problems =&lt;br /&gt;
&lt;br /&gt;
A report may indicate a wider incident when:&lt;br /&gt;
&lt;br /&gt;
* Multiple users cannot connect.&lt;br /&gt;
* Many users report SASL failures.&lt;br /&gt;
* NickServ and ChanServ are unavailable.&lt;br /&gt;
* Users on one server disconnect together.&lt;br /&gt;
* Several channels report the same flood.&lt;br /&gt;
* Certificate warnings affect multiple users.&lt;br /&gt;
* Server links repeatedly fail.&lt;br /&gt;
* Network latency becomes widespread.&lt;br /&gt;
* Many users receive similar phishing messages.&lt;br /&gt;
&lt;br /&gt;
When this occurs:&lt;br /&gt;
&lt;br /&gt;
# Record the approximate start time.&lt;br /&gt;
# Identify the affected server or service.&lt;br /&gt;
# Determine whether multiple users are affected.&lt;br /&gt;
# Notify authorized operational staff.&lt;br /&gt;
# Avoid telling every user to change unrelated settings.&lt;br /&gt;
# Provide an approved status message.&lt;br /&gt;
# Confirm when service is restored.&lt;br /&gt;
&lt;br /&gt;
= 19. Security Emergencies =&lt;br /&gt;
&lt;br /&gt;
Escalate immediately when support reveals:&lt;br /&gt;
&lt;br /&gt;
* A compromised staff account.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* A serious vulnerability.&lt;br /&gt;
* A leaked password or token.&lt;br /&gt;
* A network attack.&lt;br /&gt;
* Widespread malicious activity.&lt;br /&gt;
* Unauthorized administrative access.&lt;br /&gt;
* Exposure of private user information.&lt;br /&gt;
* Threats involving immediate danger.&lt;br /&gt;
&lt;br /&gt;
Do not investigate high-risk systems beyond your authorization.&lt;br /&gt;
&lt;br /&gt;
Preserve essential information and notify the correct senior staff.&lt;br /&gt;
&lt;br /&gt;
= 20. Giving Safe Commands =&lt;br /&gt;
&lt;br /&gt;
Before giving a command:&lt;br /&gt;
&lt;br /&gt;
# Confirm that it matches the current Services or server version.&lt;br /&gt;
# Confirm the target nickname or channel.&lt;br /&gt;
# Explain what the command will do.&lt;br /&gt;
# Identify whether it is reversible.&lt;br /&gt;
# Warn about any destructive effect.&lt;br /&gt;
# Keep credentials out of the example.&lt;br /&gt;
# Confirm that the user has authority.&lt;br /&gt;
# Use official help where possible.&lt;br /&gt;
&lt;br /&gt;
Do not provide destructive commands casually, such as commands that:&lt;br /&gt;
&lt;br /&gt;
* Drop a channel.&lt;br /&gt;
* Delete an account.&lt;br /&gt;
* Clear access lists.&lt;br /&gt;
* Remove all bans.&lt;br /&gt;
* Change channel ownership.&lt;br /&gt;
* Expose a channel key.&lt;br /&gt;
* Disable security.&lt;br /&gt;
* Disconnect many users.&lt;br /&gt;
&lt;br /&gt;
= 21. Handling Unknown Problems =&lt;br /&gt;
&lt;br /&gt;
Staff are not expected to know everything.&lt;br /&gt;
&lt;br /&gt;
When uncertain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am not certain which setting is causing this. I will summarize what we have checked and escalate it to the appropriate team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is better than guessing.&lt;br /&gt;
&lt;br /&gt;
A useful escalation summary prevents the next staff member from repeating every troubleshooting step.&lt;br /&gt;
&lt;br /&gt;
= 22. Escalation Summary Template =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Support channel:&lt;br /&gt;
User nickname:&lt;br /&gt;
Registered account, if relevant:&lt;br /&gt;
Affected service or channel:&lt;br /&gt;
User’s goal:&lt;br /&gt;
Exact error:&lt;br /&gt;
Client and version:&lt;br /&gt;
Server and port:&lt;br /&gt;
TLS enabled:&lt;br /&gt;
SASL enabled:&lt;br /&gt;
When the problem started:&lt;br /&gt;
Steps already attempted:&lt;br /&gt;
Results:&lt;br /&gt;
Number of affected users:&lt;br /&gt;
Security or privacy concern:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Recommended next team:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include passwords, tokens, private keys, or unnecessary personal information.&lt;br /&gt;
&lt;br /&gt;
= 23. Closing a Support Case =&lt;br /&gt;
&lt;br /&gt;
Before closing, confirm:&lt;br /&gt;
&lt;br /&gt;
* Whether the original problem was resolved.&lt;br /&gt;
* Which action solved it.&lt;br /&gt;
* Whether the user understands the result.&lt;br /&gt;
* Whether any security follow-up is required.&lt;br /&gt;
* Whether saved passwords or configurations need updating.&lt;br /&gt;
* Whether the case must be documented.&lt;br /&gt;
* Whether documentation should be improved.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your connection is now using TLS on port 6697, and WHOIS confirms that SASL authenticated your account. Please update the same saved password on any other IRC clients or bouncers you use.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If unresolved:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We confirmed that the issue affects multiple users and is not limited to your client. It has been escalated to the network operations team with the relevant time and error details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 24. Support Documentation =&lt;br /&gt;
&lt;br /&gt;
A recurring issue should be documented when:&lt;br /&gt;
&lt;br /&gt;
* Many users report it.&lt;br /&gt;
* The solution is not obvious.&lt;br /&gt;
* Existing instructions are outdated.&lt;br /&gt;
* A client uses unusual settings.&lt;br /&gt;
* A new Services behavior affects users.&lt;br /&gt;
* Staff repeatedly give inconsistent answers.&lt;br /&gt;
* A safe recovery process needs clarification.&lt;br /&gt;
&lt;br /&gt;
Documentation should include:&lt;br /&gt;
&lt;br /&gt;
* Problem symptoms.&lt;br /&gt;
* Supported environments.&lt;br /&gt;
* Safe diagnostic steps.&lt;br /&gt;
* Expected results.&lt;br /&gt;
* Known limitations.&lt;br /&gt;
* Escalation conditions.&lt;br /&gt;
* Last verification date.&lt;br /&gt;
&lt;br /&gt;
Passwords, tokens, private logs, and confidential system details must not be included.&lt;br /&gt;
&lt;br /&gt;
= 25. Example Support Conversations =&lt;br /&gt;
&lt;br /&gt;
== Example 1: Connection Failure ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I cannot connect. IRC is not working.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hello. Which IRC client are you using, and what exact error appears? Please also confirm that the server is irc.darkworld.network, the port is 6697, and TLS is enabled.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 2: SASL Failure ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SASL authentication failed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please confirm privately in your client that the SASL username is your registered NickServ account, not necessarily your current nickname. Also confirm that TLS is enabled and that the account has completed email confirmation. Do not post your password here.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 3: Channel Access ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ChanServ did not give me operator status.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please identify to your registered account and run WHOIS on your nickname. Confirm which account is shown and the channel involved. We can then check whether the issue concerns your ChanServ access or only the current live channel mode.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 4: Project Request ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Increase my DWShells account storage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
That request belongs to the DWShells team rather than DWIRC staff. I can direct you to the approved DWShells support channel or request process.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 5: Ban Complaint ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your staff are corrupt. Remove my ban now.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I can help you request a review. Please provide the affected channel, approximate time, nickname used, and the ban reason. Private evidence should be submitted through the approved process rather than posted publicly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 26. Common Support Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Providing Too Many Steps ==&lt;br /&gt;
&lt;br /&gt;
The user receives a large block of commands and cannot determine which one matters.&lt;br /&gt;
&lt;br /&gt;
== Asking for Credentials ==&lt;br /&gt;
&lt;br /&gt;
Staff request a password when only the error message is required.&lt;br /&gt;
&lt;br /&gt;
== Assuming User Error ==&lt;br /&gt;
&lt;br /&gt;
A wider Services or server outage is incorrectly blamed on the user.&lt;br /&gt;
&lt;br /&gt;
== Giving Outdated Commands ==&lt;br /&gt;
&lt;br /&gt;
Commands are copied from another network or Anope version without checking current help.&lt;br /&gt;
&lt;br /&gt;
== Solving the Wrong Project’s Issue ==&lt;br /&gt;
&lt;br /&gt;
DWIRC staff attempt to modify DWShells or DWBouncers resources without authority.&lt;br /&gt;
&lt;br /&gt;
== Arguing Publicly ==&lt;br /&gt;
&lt;br /&gt;
A support discussion becomes a personal conflict.&lt;br /&gt;
&lt;br /&gt;
== Promising an Outcome ==&lt;br /&gt;
&lt;br /&gt;
A trainee promises that an account, channel, or approval will be granted.&lt;br /&gt;
&lt;br /&gt;
== Closing Too Early ==&lt;br /&gt;
&lt;br /&gt;
The staff member gives a command but never confirms whether it worked.&lt;br /&gt;
&lt;br /&gt;
= 27. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: New User Assistance ==&lt;br /&gt;
&lt;br /&gt;
Guide a trainer acting as a new user through:&lt;br /&gt;
&lt;br /&gt;
* Connecting to `irc.darkworld.network`.&lt;br /&gt;
* Using port `6697`.&lt;br /&gt;
* Enabling TLS.&lt;br /&gt;
* Choosing a nickname.&lt;br /&gt;
* Joining an approved channel.&lt;br /&gt;
* Finding NickServ help.&lt;br /&gt;
&lt;br /&gt;
Do not ask for or handle the user’s password.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: SASL Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The trainer will provide a simulated SASL error.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
# Ask for the exact error.&lt;br /&gt;
# Confirm TLS.&lt;br /&gt;
# Confirm the account-name field.&lt;br /&gt;
# Confirm account registration.&lt;br /&gt;
# Identify saved-password problems.&lt;br /&gt;
# Escalate if the issue affects multiple users.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Channel Access Problem ==&lt;br /&gt;
&lt;br /&gt;
A simulated user is identified but does not receive channel operator status.&lt;br /&gt;
&lt;br /&gt;
The candidate must distinguish between:&lt;br /&gt;
&lt;br /&gt;
* Current nickname.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* ChanServ access.&lt;br /&gt;
* Live channel status.&lt;br /&gt;
* Mode lock.&lt;br /&gt;
* Possible Services outage.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Angry User ==&lt;br /&gt;
&lt;br /&gt;
The trainer acts as an angry user disputing a ban.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Remain calm.&lt;br /&gt;
* Avoid arguing.&lt;br /&gt;
* Collect relevant details.&lt;br /&gt;
* Explain the review process.&lt;br /&gt;
* Protect private evidence.&lt;br /&gt;
* Avoid promising removal.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Project Boundary ==&lt;br /&gt;
&lt;br /&gt;
The trainer requests a DWShells or DWBouncers administrative action.&lt;br /&gt;
&lt;br /&gt;
The candidate must direct the request to the correct team without claiming authority.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Escalation Summary ==&lt;br /&gt;
&lt;br /&gt;
Using one of the simulated cases, prepare a complete escalation summary without including sensitive credentials.&lt;br /&gt;
&lt;br /&gt;
= 28. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: New User Posts Password ==&lt;br /&gt;
&lt;br /&gt;
A new user includes their NickServ password while asking why authentication failed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not quote the password. Tell the user to change it immediately, update saved SASL credentials, and follow the approved compromised-account procedure if necessary.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Widespread Certificate Error ==&lt;br /&gt;
&lt;br /&gt;
Five users report the same TLS certificate error.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat it as a possible network-side issue. Record the hostname, error, and time; notify operations; and do not advise users to disable certificate verification.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Repeated Question ==&lt;br /&gt;
&lt;br /&gt;
A user asks the same question several times because they do not understand the answer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rephrase the instruction in simpler language, provide one step at a time, and confirm the result after each step.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Staff Complaint ==&lt;br /&gt;
&lt;br /&gt;
A user says an IRC operator banned them after a personal argument.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Preserve the report, avoid prejudging either side, and escalate it for independent review. Do not send the complaint only to the accused operator.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Unknown Client ==&lt;br /&gt;
&lt;br /&gt;
A user uses an IRC client the staff member has never seen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ask for the client name, version, available connection fields, and exact error. Use protocol-level settings and official client documentation rather than guessing.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Multiple Project Issue ==&lt;br /&gt;
&lt;br /&gt;
A user can connect to IRC but their DWBouncers account no longer connects automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Confirm that DWIRC itself is reachable, then direct the bouncer-specific account or configuration issue to authorized DWBouncers support.&lt;br /&gt;
&lt;br /&gt;
= 29. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the primary goal of user support?&lt;br /&gt;
# What are the main stages of the support workflow?&lt;br /&gt;
# Why should staff first understand the user’s goal?&lt;br /&gt;
# What information is useful for an IRC connection problem?&lt;br /&gt;
# What information should never be requested publicly?&lt;br /&gt;
# Why should troubleshooting normally proceed one step at a time?&lt;br /&gt;
# What makes a support response easy to follow?&lt;br /&gt;
# How should staff explain technical terminology to beginners?&lt;br /&gt;
# What should staff do if a user posts a password?&lt;br /&gt;
# Is a private message automatically a suitable permanent evidence system?&lt;br /&gt;
# How should staff respond to an angry user?&lt;br /&gt;
# What is de-escalation?&lt;br /&gt;
# Does acknowledging frustration mean agreeing with every claim?&lt;br /&gt;
# How should language barriers be handled?&lt;br /&gt;
# Can personal disagreement justify denying support?&lt;br /&gt;
# Why must DWIRC staff respect other project boundaries?&lt;br /&gt;
# What is the difference between support and an abuse investigation?&lt;br /&gt;
# May ordinary support staff approve advertising or relay applications?&lt;br /&gt;
# How should a staff complaint be handled?&lt;br /&gt;
# What signs may indicate a network-wide problem?&lt;br /&gt;
# When must a security matter be escalated immediately?&lt;br /&gt;
# What should staff verify before providing a sensitive command?&lt;br /&gt;
# Why is guessing dangerous in support?&lt;br /&gt;
# What information belongs in an escalation summary?&lt;br /&gt;
# What must be excluded from an escalation summary?&lt;br /&gt;
# What should be confirmed before closing a case?&lt;br /&gt;
# When should recurring problems be documented?&lt;br /&gt;
# Why should staff avoid promising a particular administrative outcome?&lt;br /&gt;
# What should happen if an issue remains unresolved?&lt;br /&gt;
# How should a candidate respond after giving incorrect guidance?&lt;br /&gt;
&lt;br /&gt;
= 30. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;700–1,000 words&#039;&#039;&#039; responding to this case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A new user cannot connect to DarkWorld IRC. They say their client shows a certificate warning and SASL failure. They publicly paste their account password while asking for help. At the same time, three other users report the same certificate warning. The user becomes angry and accuses staff of ignoring them.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your answer must explain:&lt;br /&gt;
&lt;br /&gt;
* How to acknowledge the user.&lt;br /&gt;
* What immediate password-security action is required.&lt;br /&gt;
* Which diagnostic questions should be asked.&lt;br /&gt;
* Why certificate verification should not simply be disabled.&lt;br /&gt;
* Why multiple reports change the incident classification.&lt;br /&gt;
* How to handle the user’s frustration.&lt;br /&gt;
* What must be escalated.&lt;br /&gt;
* What information should be recorded.&lt;br /&gt;
* What information must not be repeated.&lt;br /&gt;
* How the case should be closed or handed over.&lt;br /&gt;
&lt;br /&gt;
= 31. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;23 of the 30&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Pass the angry-user roleplay.&lt;br /&gt;
* Demonstrate safe credential handling.&lt;br /&gt;
* Prepare an acceptable escalation summary.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 32. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding the user’s problem&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic questioning&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Accuracy of guidance&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Communication and clarity&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| De-escalation and professionalism&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Privacy and credential security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and documentation&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Request or expose credentials.&lt;br /&gt;
* Insult or threaten users.&lt;br /&gt;
* Repeatedly provide unsafe instructions.&lt;br /&gt;
* Ignore project boundaries.&lt;br /&gt;
* Hide mistakes.&lt;br /&gt;
* Fail to escalate serious security issues.&lt;br /&gt;
* Use support access for retaliation.&lt;br /&gt;
&lt;br /&gt;
= 33. Quick Support Checklist =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What is the user trying to do?&lt;br /&gt;
2. What exact error occurred?&lt;br /&gt;
3. Which client, server, and port are involved?&lt;br /&gt;
4. Is TLS enabled and verified?&lt;br /&gt;
5. Is the issue limited to one user?&lt;br /&gt;
6. Is any password or private information exposed?&lt;br /&gt;
7. Does this belong to DWIRC or another project?&lt;br /&gt;
8. What is the safest next step?&lt;br /&gt;
9. Do I have authority to handle it?&lt;br /&gt;
10. Does it require escalation?&lt;br /&gt;
11. Has the result been confirmed?&lt;br /&gt;
12. Does the case require documentation?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 34. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Support]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_Support&amp;diff=390</id>
		<title>DWIRC:Staff Training/User Support</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_Support&amp;diff=390"/>
		<updated>2026-08-08T17:44:31Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 6 — User Support and Communication}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 6: User Support and Communication&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 6 of 10 |- ! Diffi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 6 — User Support and Communication}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 6: User Support and Communication&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 6 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, roleplay, and support-case exercises&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
User support is one of the most important responsibilities of DarkWorld IRC staff.&lt;br /&gt;
&lt;br /&gt;
A staff member may understand IRC commands and policies but still be unsuitable for support if they cannot communicate patiently, clearly, neutrally, and securely.&lt;br /&gt;
&lt;br /&gt;
This module teaches candidates how to:&lt;br /&gt;
&lt;br /&gt;
* Receive and understand support requests.&lt;br /&gt;
* Ask effective diagnostic questions.&lt;br /&gt;
* Provide clear instructions.&lt;br /&gt;
* Protect passwords and private information.&lt;br /&gt;
* Assist inexperienced users.&lt;br /&gt;
* Handle angry or frustrated users.&lt;br /&gt;
* De-escalate disagreements.&lt;br /&gt;
* Recognize project boundaries.&lt;br /&gt;
* Escalate unresolved or high-risk cases.&lt;br /&gt;
* Record support activity appropriately.&lt;br /&gt;
&lt;br /&gt;
The purpose of support is to help the user reach a safe and correct outcome—not merely to send commands or close the conversation quickly.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Greet and assist users professionally.&lt;br /&gt;
# Identify the user’s actual problem.&lt;br /&gt;
# Ask focused diagnostic questions.&lt;br /&gt;
# Provide one clear troubleshooting step at a time.&lt;br /&gt;
# Avoid requesting passwords or unnecessary private information.&lt;br /&gt;
# Explain technical concepts in accessible language.&lt;br /&gt;
# Recognize when a request belongs to another DarkWorld project.&lt;br /&gt;
# Handle complaints and frustration without escalating conflict.&lt;br /&gt;
# Distinguish support cases from abuse reports.&lt;br /&gt;
# Recognize emergencies and security incidents.&lt;br /&gt;
# Escalate cases with a useful summary.&lt;br /&gt;
# Confirm that a problem is resolved before closing the case.&lt;br /&gt;
&lt;br /&gt;
= 1. Purpose of User Support =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC support should help users:&lt;br /&gt;
&lt;br /&gt;
* Connect securely.&lt;br /&gt;
* Register and authenticate accounts.&lt;br /&gt;
* Configure SASL.&lt;br /&gt;
* Recover nicknames through approved procedures.&lt;br /&gt;
* Register and manage channels.&lt;br /&gt;
* Understand channel and user modes.&lt;br /&gt;
* Find official policies.&lt;br /&gt;
* Report abuse safely.&lt;br /&gt;
* Resolve ordinary IRC client problems.&lt;br /&gt;
* Locate the correct DarkWorld project team.&lt;br /&gt;
* Understand network notices and errors.&lt;br /&gt;
* Use official resources.&lt;br /&gt;
&lt;br /&gt;
Support staff should also help the network by:&lt;br /&gt;
&lt;br /&gt;
* Identifying recurring problems.&lt;br /&gt;
* Reporting outdated documentation.&lt;br /&gt;
* Recognizing widespread service failures.&lt;br /&gt;
* Detecting phishing and impersonation.&lt;br /&gt;
* Directing policy cases correctly.&lt;br /&gt;
* Preventing unsafe advice from spreading.&lt;br /&gt;
* Recording unresolved incidents.&lt;br /&gt;
&lt;br /&gt;
= 2. Official Support Channels =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may use channels such as:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Channel&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| `#Help`&lt;br /&gt;
| IRC connection, accounts, channels, Services, and network help&lt;br /&gt;
|-&lt;br /&gt;
| `#Support`&lt;br /&gt;
| Support relating to applicable DarkWorld services or projects&lt;br /&gt;
|-&lt;br /&gt;
| `#Abuse`&lt;br /&gt;
| Abuse reports and policy-related concerns&lt;br /&gt;
|-&lt;br /&gt;
| `#DarkWorld`&lt;br /&gt;
| General network and community discussion&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Restricted staff channels may be used for escalation and coordination.&lt;br /&gt;
&lt;br /&gt;
Staff must not move private evidence into a public channel merely because the conversation began there.&lt;br /&gt;
&lt;br /&gt;
= 3. The Support Workflow =&lt;br /&gt;
&lt;br /&gt;
Use the following process:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Acknowledge&#039;&#039;&#039; the user.&lt;br /&gt;
# &#039;&#039;&#039;Understand&#039;&#039;&#039; what they are trying to do.&lt;br /&gt;
# &#039;&#039;&#039;Collect&#039;&#039;&#039; only the necessary information.&lt;br /&gt;
# &#039;&#039;&#039;Classify&#039;&#039;&#039; the issue.&lt;br /&gt;
# &#039;&#039;&#039;Provide&#039;&#039;&#039; a safe troubleshooting step.&lt;br /&gt;
# &#039;&#039;&#039;Confirm&#039;&#039;&#039; the result.&lt;br /&gt;
# &#039;&#039;&#039;Continue or escalate&#039;&#039;&#039; as required.&lt;br /&gt;
# &#039;&#039;&#039;Summarize&#039;&#039;&#039; the outcome.&lt;br /&gt;
# &#039;&#039;&#039;Document&#039;&#039;&#039; the case where necessary.&lt;br /&gt;
&lt;br /&gt;
== Step 1: Acknowledge ==&lt;br /&gt;
&lt;br /&gt;
A simple acknowledgement tells the user that someone is listening.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hello. I can help you check that.&lt;br /&gt;
Please provide the exact error message you receive.&lt;br /&gt;
I understand the issue. Let us check your connection settings first.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
What?&lt;br /&gt;
It works for me.&lt;br /&gt;
You configured it wrong.&lt;br /&gt;
Read the website.&lt;br /&gt;
That is not my problem.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 2: Understand the Goal ==&lt;br /&gt;
&lt;br /&gt;
Ask what the user is trying to accomplish.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Are you trying to register a new account or identify to an existing one?&lt;br /&gt;
Are you unable to connect to IRC, or can you connect but not join the channel?&lt;br /&gt;
Are you asking about a channel ban or a network-wide restriction?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solving the wrong problem wastes time and may create additional risk.&lt;br /&gt;
&lt;br /&gt;
== Step 3: Collect Necessary Information ==&lt;br /&gt;
&lt;br /&gt;
Useful information may include:&lt;br /&gt;
&lt;br /&gt;
* IRC client and version.&lt;br /&gt;
* Device or operating system.&lt;br /&gt;
* Server address.&lt;br /&gt;
* Port.&lt;br /&gt;
* Whether TLS is enabled.&lt;br /&gt;
* Exact error message.&lt;br /&gt;
* Nickname or registered account.&lt;br /&gt;
* Relevant channel.&lt;br /&gt;
* Approximate time.&lt;br /&gt;
* What changed before the problem began.&lt;br /&gt;
* Troubleshooting already attempted.&lt;br /&gt;
&lt;br /&gt;
Do not collect private information merely because it might be interesting.&lt;br /&gt;
&lt;br /&gt;
== Step 4: Classify the Issue ==&lt;br /&gt;
&lt;br /&gt;
Common categories include:&lt;br /&gt;
&lt;br /&gt;
* Connection problem.&lt;br /&gt;
* TLS or certificate problem.&lt;br /&gt;
* SASL or NickServ problem.&lt;br /&gt;
* Channel access problem.&lt;br /&gt;
* Services problem.&lt;br /&gt;
* Channel-management issue.&lt;br /&gt;
* Policy question.&lt;br /&gt;
* Abuse report.&lt;br /&gt;
* Project-specific request.&lt;br /&gt;
* Network incident.&lt;br /&gt;
* Security emergency.&lt;br /&gt;
&lt;br /&gt;
== Step 5: Provide a Safe Step ==&lt;br /&gt;
&lt;br /&gt;
Give one or a small number of clear steps.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please confirm that the server is irc.darkworld.network, the port is 6697, and TLS is enabled. Do not disable certificate verification. Tell me the exact error after trying again.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid sending a large block of unrelated commands before identifying the problem.&lt;br /&gt;
&lt;br /&gt;
== Step 6: Confirm the Result ==&lt;br /&gt;
&lt;br /&gt;
Ask:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Did the connection complete successfully?&lt;br /&gt;
Does WHOIS now show your registered account?&lt;br /&gt;
Can you join the channel after identifying?&lt;br /&gt;
What exact response does NickServ give now?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 7: Escalate When Required ==&lt;br /&gt;
&lt;br /&gt;
Escalate when:&lt;br /&gt;
&lt;br /&gt;
* The issue is outside your authority.&lt;br /&gt;
* Normal troubleshooting has failed.&lt;br /&gt;
* Multiple users are affected.&lt;br /&gt;
* A security problem may exist.&lt;br /&gt;
* Administrative Services action is required.&lt;br /&gt;
* A policy decision is disputed.&lt;br /&gt;
* Confidential evidence must be reviewed.&lt;br /&gt;
* The action could affect many users.&lt;br /&gt;
* You are uncertain and a wrong action could cause harm.&lt;br /&gt;
&lt;br /&gt;
= 4. Clear Communication =&lt;br /&gt;
&lt;br /&gt;
Good support communication should be:&lt;br /&gt;
&lt;br /&gt;
* Clear.&lt;br /&gt;
* Respectful.&lt;br /&gt;
* Short enough to follow.&lt;br /&gt;
* Accurate.&lt;br /&gt;
* Relevant.&lt;br /&gt;
* Secure.&lt;br /&gt;
* Free from unnecessary jargon.&lt;br /&gt;
* Appropriate to the user’s experience.&lt;br /&gt;
&lt;br /&gt;
== Use Plain Language ==&lt;br /&gt;
&lt;br /&gt;
Instead of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your SASL PLAIN negotiation failed during CAP authentication.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Try:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your client could not authenticate your registered account while connecting. Let us check the saved account name, password, and SASL settings.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Technical details may be added when they help the user understand or troubleshoot the issue.&lt;br /&gt;
&lt;br /&gt;
== Give Commands Separately ==&lt;br /&gt;
&lt;br /&gt;
Prefer:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Open a private NickServ window and enter:&lt;br /&gt;
&lt;br /&gt;
/MSG NickServ INFO YourAccount&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid placing several password-sensitive commands into a public-channel message.&lt;br /&gt;
&lt;br /&gt;
== Explain Expected Results ==&lt;br /&gt;
&lt;br /&gt;
Do not only provide a command. Explain what should happen.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Run /WHOIS YourNickname. In the response, look for a line showing that you are logged into your registered account. Do not paste any private connection information publicly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 5. Supporting New IRC Users =&lt;br /&gt;
&lt;br /&gt;
New users may not understand:&lt;br /&gt;
&lt;br /&gt;
* What a nickname is.&lt;br /&gt;
* How channels work.&lt;br /&gt;
* Why a nickname is already in use.&lt;br /&gt;
* The difference between IRC and a website.&lt;br /&gt;
* How to send a command.&lt;br /&gt;
* What NickServ is.&lt;br /&gt;
* Why TLS matters.&lt;br /&gt;
* How to open a private query.&lt;br /&gt;
* Why they must identify.&lt;br /&gt;
* How SASL works.&lt;br /&gt;
&lt;br /&gt;
Staff should not embarrass users for lacking this knowledge.&lt;br /&gt;
&lt;br /&gt;
A helpful sequence is:&lt;br /&gt;
&lt;br /&gt;
# Confirm their IRC client.&lt;br /&gt;
# Help them connect securely.&lt;br /&gt;
# Help them choose a nickname.&lt;br /&gt;
# Explain channels and private messages.&lt;br /&gt;
# Direct them to official NickServ help.&lt;br /&gt;
# Help them register privately.&lt;br /&gt;
# Explain email confirmation.&lt;br /&gt;
# Help configure SASL.&lt;br /&gt;
# Help them join official channels.&lt;br /&gt;
# Point them to current documentation.&lt;br /&gt;
&lt;br /&gt;
= 6. Asking Good Diagnostic Questions =&lt;br /&gt;
&lt;br /&gt;
Good questions are specific and easy to answer.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
What exact error appears when you connect?&lt;br /&gt;
Which IRC client are you using?&lt;br /&gt;
Are you connecting to irc.darkworld.network on port 6697?&lt;br /&gt;
Is TLS enabled?&lt;br /&gt;
Does the problem happen before or after you join the network?&lt;br /&gt;
What does NickServ say after you identify?&lt;br /&gt;
Are you identified to the same account that has channel access?&lt;br /&gt;
Does this affect only one channel?&lt;br /&gt;
Approximately when did the problem begin?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid vague or accusatory questions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Why did you break it?&lt;br /&gt;
What did you do?&lt;br /&gt;
Are you sure you know how IRC works?&lt;br /&gt;
Why did you forget your password?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7. One Change at a Time =&lt;br /&gt;
&lt;br /&gt;
When practical, ask the user to make one meaningful change and report the result.&lt;br /&gt;
&lt;br /&gt;
This helps identify the cause.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
# Confirm the server and port.&lt;br /&gt;
# Attempt the connection.&lt;br /&gt;
# Record the exact error.&lt;br /&gt;
# Verify the device time if TLS fails.&lt;br /&gt;
# Check SASL only after the secure connection succeeds.&lt;br /&gt;
&lt;br /&gt;
If several settings are changed simultaneously, it becomes difficult to know which change solved or worsened the problem.&lt;br /&gt;
&lt;br /&gt;
= 8. Password and Credential Safety =&lt;br /&gt;
&lt;br /&gt;
Staff must never ask users to provide:&lt;br /&gt;
&lt;br /&gt;
* NickServ passwords.&lt;br /&gt;
* SASL passwords.&lt;br /&gt;
* Email passwords.&lt;br /&gt;
* Confirmation codes.&lt;br /&gt;
* Password-reset codes.&lt;br /&gt;
* Two-factor secrets.&lt;br /&gt;
* IRC operator passwords.&lt;br /&gt;
* API tokens.&lt;br /&gt;
* Server credentials.&lt;br /&gt;
* Private keys.&lt;br /&gt;
&lt;br /&gt;
If a user posts a credential publicly:&lt;br /&gt;
&lt;br /&gt;
# Do not repeat or quote it.&lt;br /&gt;
# Tell the user to change or revoke it immediately.&lt;br /&gt;
# Explain which saved clients or services must be updated.&lt;br /&gt;
# Limit further exposure where authorized.&lt;br /&gt;
# Escalate if an account or system may be compromised.&lt;br /&gt;
# Document the security incident appropriately.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Staff reminder:&#039;&#039;&#039; A legitimate DarkWorld staff member does not need a user’s password to provide account-support instructions.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 9. Public and Private Support =&lt;br /&gt;
&lt;br /&gt;
== Suitable for Public Support ==&lt;br /&gt;
&lt;br /&gt;
Public channels may be used for:&lt;br /&gt;
&lt;br /&gt;
* General connection settings.&lt;br /&gt;
* Public commands.&lt;br /&gt;
* Links to official documentation.&lt;br /&gt;
* Non-sensitive client instructions.&lt;br /&gt;
* General explanations of policy.&lt;br /&gt;
* Service-status information approved for publication.&lt;br /&gt;
&lt;br /&gt;
== Move to an Approved Private Process ==&lt;br /&gt;
&lt;br /&gt;
Use an approved private method for:&lt;br /&gt;
&lt;br /&gt;
* Account ownership evidence.&lt;br /&gt;
* Private-message abuse logs.&lt;br /&gt;
* IP or hostname information.&lt;br /&gt;
* Email-account details.&lt;br /&gt;
* Security vulnerabilities.&lt;br /&gt;
* Staff complaints.&lt;br /&gt;
* Compromised accounts.&lt;br /&gt;
* Confidential project applications.&lt;br /&gt;
* Sensitive relay or advertising evidence.&lt;br /&gt;
&lt;br /&gt;
A private message is not automatically an approved permanent evidence system. Important evidence may still need to be transferred to an authorized case record.&lt;br /&gt;
&lt;br /&gt;
= 10. Handling Frustrated or Angry Users =&lt;br /&gt;
&lt;br /&gt;
Users may be upset because:&lt;br /&gt;
&lt;br /&gt;
* They cannot connect.&lt;br /&gt;
* They lost account access.&lt;br /&gt;
* They were banned.&lt;br /&gt;
* They believe staff treated them unfairly.&lt;br /&gt;
* They have repeated the same problem.&lt;br /&gt;
* They do not understand the instructions.&lt;br /&gt;
* They feel ignored.&lt;br /&gt;
* The issue affects an important event or project.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Remain calm.&lt;br /&gt;
* Acknowledge the inconvenience.&lt;br /&gt;
* Focus on verifiable facts.&lt;br /&gt;
* Avoid matching the user’s tone.&lt;br /&gt;
* Explain what can and cannot be done.&lt;br /&gt;
* Give a clear next step.&lt;br /&gt;
* Set boundaries if abuse continues.&lt;br /&gt;
* Escalate serious complaints appropriately.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that losing access before your event is frustrating. I cannot change channel ownership without verification, but I can collect the required information and escalate it to the Services team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Calm down.&lt;br /&gt;
Stop complaining.&lt;br /&gt;
I am staff, so do what I say.&lt;br /&gt;
If you continue asking, I will ban you.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 11. De-escalation =&lt;br /&gt;
&lt;br /&gt;
De-escalation means reducing conflict while still enforcing necessary boundaries.&lt;br /&gt;
&lt;br /&gt;
Useful techniques include:&lt;br /&gt;
&lt;br /&gt;
* Use the person’s current nickname respectfully.&lt;br /&gt;
* Acknowledge the concern without automatically agreeing.&lt;br /&gt;
* State verified facts.&lt;br /&gt;
* Avoid blame-focused language.&lt;br /&gt;
* Give clear choices.&lt;br /&gt;
* Explain the next step.&lt;br /&gt;
* Avoid arguing about unrelated issues.&lt;br /&gt;
* Move sensitive discussion away from public channels.&lt;br /&gt;
* Request help from another staff member when needed.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I understand that you disagree with the ban. I will not debate private evidence in the public channel. Please provide the channel, approximate time, and ban reason so the authorized team can review it.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
De-escalation does not require staff to tolerate threats, flooding, or continued abuse.&lt;br /&gt;
&lt;br /&gt;
= 12. Language and Accessibility =&lt;br /&gt;
&lt;br /&gt;
DarkWorld is an international community. Users may:&lt;br /&gt;
&lt;br /&gt;
* Speak English as a second language.&lt;br /&gt;
* Use translation tools.&lt;br /&gt;
* Have difficulty with technical terminology.&lt;br /&gt;
* Use a mobile client.&lt;br /&gt;
* Have visual or other accessibility needs.&lt;br /&gt;
* Require additional time to follow steps.&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
* Use short sentences.&lt;br /&gt;
* Avoid unnecessary slang.&lt;br /&gt;
* Avoid mocking spelling or grammar.&lt;br /&gt;
* Give commands in copyable form.&lt;br /&gt;
* Explain one step at a time.&lt;br /&gt;
* Confirm understanding.&lt;br /&gt;
* Use screenshots only when text instructions are insufficient.&lt;br /&gt;
* Provide official translated material where available.&lt;br /&gt;
* Request help from another staff member if language prevents accurate support.&lt;br /&gt;
&lt;br /&gt;
= 13. Cultural and Personal Neutrality =&lt;br /&gt;
&lt;br /&gt;
Staff must not discriminate based on:&lt;br /&gt;
&lt;br /&gt;
* Nationality.&lt;br /&gt;
* Race or ethnicity.&lt;br /&gt;
* Religion.&lt;br /&gt;
* Gender.&lt;br /&gt;
* Disability.&lt;br /&gt;
* Sexual orientation.&lt;br /&gt;
* Language.&lt;br /&gt;
* Age.&lt;br /&gt;
* Political views.&lt;br /&gt;
* Social or economic status.&lt;br /&gt;
* Technical ability.&lt;br /&gt;
&lt;br /&gt;
Personal disagreement does not justify denying support.&lt;br /&gt;
&lt;br /&gt;
Staff may enforce applicable channel or network rules neutrally without endorsing a user’s beliefs.&lt;br /&gt;
&lt;br /&gt;
= 14. Project Boundaries =&lt;br /&gt;
&lt;br /&gt;
Not every question in `#Support` belongs to DWIRC staff.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Request&lt;br /&gt;
! Appropriate destination&lt;br /&gt;
|-&lt;br /&gt;
| Cannot connect to IRC&lt;br /&gt;
| DWIRC support&lt;br /&gt;
|-&lt;br /&gt;
| NickServ account problem&lt;br /&gt;
| DWIRC support or Services staff&lt;br /&gt;
|-&lt;br /&gt;
| Channel ban appeal&lt;br /&gt;
| Channel management or authorized DWIRC review&lt;br /&gt;
|-&lt;br /&gt;
| Increase shell disk quota&lt;br /&gt;
| DWShells staff&lt;br /&gt;
|-&lt;br /&gt;
| Create or modify ZNC account&lt;br /&gt;
| DWBouncers staff&lt;br /&gt;
|-&lt;br /&gt;
| Game-server issue&lt;br /&gt;
| Relevant game or DWGames staff&lt;br /&gt;
|-&lt;br /&gt;
| Advertising application status&lt;br /&gt;
| Policy team&lt;br /&gt;
|-&lt;br /&gt;
| Relay registration status&lt;br /&gt;
| Relay team&lt;br /&gt;
|-&lt;br /&gt;
| Website account problem&lt;br /&gt;
| Relevant website or project administrator&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A DWIRC staff member may help identify the correct team but must not make unauthorized changes in another project.&lt;br /&gt;
&lt;br /&gt;
= 15. Support vs Abuse Reports =&lt;br /&gt;
&lt;br /&gt;
A support request asks for help using the network.&lt;br /&gt;
&lt;br /&gt;
An abuse report alleges harmful or prohibited conduct.&lt;br /&gt;
&lt;br /&gt;
Some cases contain both.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A user cannot join a channel because another person is repeatedly evading bans and taking their nickname.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The connection or nickname aspect may be support, while the evasion and impersonation aspect may require an abuse investigation.&lt;br /&gt;
&lt;br /&gt;
Support staff should:&lt;br /&gt;
&lt;br /&gt;
# Help with the immediate safe issue.&lt;br /&gt;
# Preserve relevant information.&lt;br /&gt;
# Avoid conducting an unauthorized investigation.&lt;br /&gt;
# Move sensitive evidence to the approved process.&lt;br /&gt;
# Escalate the abuse component.&lt;br /&gt;
&lt;br /&gt;
= 16. Support vs Policy Decisions =&lt;br /&gt;
&lt;br /&gt;
Support staff may explain public policy, but not every support staff member is authorized to:&lt;br /&gt;
&lt;br /&gt;
* Approve advertising.&lt;br /&gt;
* Register a relay.&lt;br /&gt;
* Decide a complex policy appeal.&lt;br /&gt;
* Suspend an approved project.&lt;br /&gt;
* Revoke a verified presence.&lt;br /&gt;
* Change an account owner.&lt;br /&gt;
* Impose a permanent network sanction.&lt;br /&gt;
&lt;br /&gt;
A useful response is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I can explain the policy and help you locate the application status. The final decision must be made by the authorized policy team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 17. Handling Staff Complaints =&lt;br /&gt;
&lt;br /&gt;
A user may report misconduct by a staff member.&lt;br /&gt;
&lt;br /&gt;
The receiving staff member should:&lt;br /&gt;
&lt;br /&gt;
# Remain neutral.&lt;br /&gt;
# Avoid defending or condemning the staff member immediately.&lt;br /&gt;
# Identify the action being reported.&lt;br /&gt;
# Preserve the relevant information.&lt;br /&gt;
# Protect the complainant from retaliation.&lt;br /&gt;
# Avoid discussing private staff matters publicly.&lt;br /&gt;
# Escalate to an appropriate senior or independent reviewer.&lt;br /&gt;
# Record the complaint through the approved process.&lt;br /&gt;
# Inform the user of the next available step.&lt;br /&gt;
&lt;br /&gt;
A staff complaint must not be sent solely to the person being accused when independent review is required.&lt;br /&gt;
&lt;br /&gt;
Criticism of staff is not automatically a policy violation.&lt;br /&gt;
&lt;br /&gt;
= 18. Recognizing Network-Wide Problems =&lt;br /&gt;
&lt;br /&gt;
A report may indicate a wider incident when:&lt;br /&gt;
&lt;br /&gt;
* Multiple users cannot connect.&lt;br /&gt;
* Many users report SASL failures.&lt;br /&gt;
* NickServ and ChanServ are unavailable.&lt;br /&gt;
* Users on one server disconnect together.&lt;br /&gt;
* Several channels report the same flood.&lt;br /&gt;
* Certificate warnings affect multiple users.&lt;br /&gt;
* Server links repeatedly fail.&lt;br /&gt;
* Network latency becomes widespread.&lt;br /&gt;
* Many users receive similar phishing messages.&lt;br /&gt;
&lt;br /&gt;
When this occurs:&lt;br /&gt;
&lt;br /&gt;
# Record the approximate start time.&lt;br /&gt;
# Identify the affected server or service.&lt;br /&gt;
# Determine whether multiple users are affected.&lt;br /&gt;
# Notify authorized operational staff.&lt;br /&gt;
# Avoid telling every user to change unrelated settings.&lt;br /&gt;
# Provide an approved status message.&lt;br /&gt;
# Confirm when service is restored.&lt;br /&gt;
&lt;br /&gt;
= 19. Security Emergencies =&lt;br /&gt;
&lt;br /&gt;
Escalate immediately when support reveals:&lt;br /&gt;
&lt;br /&gt;
* A compromised staff account.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Credential phishing.&lt;br /&gt;
* A serious vulnerability.&lt;br /&gt;
* A leaked password or token.&lt;br /&gt;
* A network attack.&lt;br /&gt;
* Widespread malicious activity.&lt;br /&gt;
* Unauthorized administrative access.&lt;br /&gt;
* Exposure of private user information.&lt;br /&gt;
* Threats involving immediate danger.&lt;br /&gt;
&lt;br /&gt;
Do not investigate high-risk systems beyond your authorization.&lt;br /&gt;
&lt;br /&gt;
Preserve essential information and notify the correct senior staff.&lt;br /&gt;
&lt;br /&gt;
= 20. Giving Safe Commands =&lt;br /&gt;
&lt;br /&gt;
Before giving a command:&lt;br /&gt;
&lt;br /&gt;
# Confirm that it matches the current Services or server version.&lt;br /&gt;
# Confirm the target nickname or channel.&lt;br /&gt;
# Explain what the command will do.&lt;br /&gt;
# Identify whether it is reversible.&lt;br /&gt;
# Warn about any destructive effect.&lt;br /&gt;
# Keep credentials out of the example.&lt;br /&gt;
# Confirm that the user has authority.&lt;br /&gt;
# Use official help where possible.&lt;br /&gt;
&lt;br /&gt;
Do not provide destructive commands casually, such as commands that:&lt;br /&gt;
&lt;br /&gt;
* Drop a channel.&lt;br /&gt;
* Delete an account.&lt;br /&gt;
* Clear access lists.&lt;br /&gt;
* Remove all bans.&lt;br /&gt;
* Change channel ownership.&lt;br /&gt;
* Expose a channel key.&lt;br /&gt;
* Disable security.&lt;br /&gt;
* Disconnect many users.&lt;br /&gt;
&lt;br /&gt;
= 21. Handling Unknown Problems =&lt;br /&gt;
&lt;br /&gt;
Staff are not expected to know everything.&lt;br /&gt;
&lt;br /&gt;
When uncertain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I am not certain which setting is causing this. I will summarize what we have checked and escalate it to the appropriate team.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is better than guessing.&lt;br /&gt;
&lt;br /&gt;
A useful escalation summary prevents the next staff member from repeating every troubleshooting step.&lt;br /&gt;
&lt;br /&gt;
= 22. Escalation Summary Template =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Support channel:&lt;br /&gt;
User nickname:&lt;br /&gt;
Registered account, if relevant:&lt;br /&gt;
Affected service or channel:&lt;br /&gt;
User’s goal:&lt;br /&gt;
Exact error:&lt;br /&gt;
Client and version:&lt;br /&gt;
Server and port:&lt;br /&gt;
TLS enabled:&lt;br /&gt;
SASL enabled:&lt;br /&gt;
When the problem started:&lt;br /&gt;
Steps already attempted:&lt;br /&gt;
Results:&lt;br /&gt;
Number of affected users:&lt;br /&gt;
Security or privacy concern:&lt;br /&gt;
Evidence location:&lt;br /&gt;
Recommended next team:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include passwords, tokens, private keys, or unnecessary personal information.&lt;br /&gt;
&lt;br /&gt;
= 23. Closing a Support Case =&lt;br /&gt;
&lt;br /&gt;
Before closing, confirm:&lt;br /&gt;
&lt;br /&gt;
* Whether the original problem was resolved.&lt;br /&gt;
* Which action solved it.&lt;br /&gt;
* Whether the user understands the result.&lt;br /&gt;
* Whether any security follow-up is required.&lt;br /&gt;
* Whether saved passwords or configurations need updating.&lt;br /&gt;
* Whether the case must be documented.&lt;br /&gt;
* Whether documentation should be improved.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your connection is now using TLS on port 6697, and WHOIS confirms that SASL authenticated your account. Please update the same saved password on any other IRC clients or bouncers you use.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If unresolved:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
We confirmed that the issue affects multiple users and is not limited to your client. It has been escalated to the network operations team with the relevant time and error details.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 24. Support Documentation =&lt;br /&gt;
&lt;br /&gt;
A recurring issue should be documented when:&lt;br /&gt;
&lt;br /&gt;
* Many users report it.&lt;br /&gt;
* The solution is not obvious.&lt;br /&gt;
* Existing instructions are outdated.&lt;br /&gt;
* A client uses unusual settings.&lt;br /&gt;
* A new Services behavior affects users.&lt;br /&gt;
* Staff repeatedly give inconsistent answers.&lt;br /&gt;
* A safe recovery process needs clarification.&lt;br /&gt;
&lt;br /&gt;
Documentation should include:&lt;br /&gt;
&lt;br /&gt;
* Problem symptoms.&lt;br /&gt;
* Supported environments.&lt;br /&gt;
* Safe diagnostic steps.&lt;br /&gt;
* Expected results.&lt;br /&gt;
* Known limitations.&lt;br /&gt;
* Escalation conditions.&lt;br /&gt;
* Last verification date.&lt;br /&gt;
&lt;br /&gt;
Passwords, tokens, private logs, and confidential system details must not be included.&lt;br /&gt;
&lt;br /&gt;
= 25. Example Support Conversations =&lt;br /&gt;
&lt;br /&gt;
== Example 1: Connection Failure ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I cannot connect. IRC is not working.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hello. Which IRC client are you using, and what exact error appears? Please also confirm that the server is irc.darkworld.network, the port is 6697, and TLS is enabled.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 2: SASL Failure ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SASL authentication failed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please confirm privately in your client that the SASL username is your registered NickServ account, not necessarily your current nickname. Also confirm that TLS is enabled and that the account has completed email confirmation. Do not post your password here.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 3: Channel Access ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ChanServ did not give me operator status.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please identify to your registered account and run WHOIS on your nickname. Confirm which account is shown and the channel involved. We can then check whether the issue concerns your ChanServ access or only the current live channel mode.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 4: Project Request ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Increase my DWShells account storage.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
That request belongs to the DWShells team rather than DWIRC staff. I can direct you to the approved DWShells support channel or request process.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example 5: Ban Complaint ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;User:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Your staff are corrupt. Remove my ban now.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Staff:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
I can help you request a review. Please provide the affected channel, approximate time, nickname used, and the ban reason. Private evidence should be submitted through the approved process rather than posted publicly.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 26. Common Support Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Providing Too Many Steps ==&lt;br /&gt;
&lt;br /&gt;
The user receives a large block of commands and cannot determine which one matters.&lt;br /&gt;
&lt;br /&gt;
== Asking for Credentials ==&lt;br /&gt;
&lt;br /&gt;
Staff request a password when only the error message is required.&lt;br /&gt;
&lt;br /&gt;
== Assuming User Error ==&lt;br /&gt;
&lt;br /&gt;
A wider Services or server outage is incorrectly blamed on the user.&lt;br /&gt;
&lt;br /&gt;
== Giving Outdated Commands ==&lt;br /&gt;
&lt;br /&gt;
Commands are copied from another network or Anope version without checking current help.&lt;br /&gt;
&lt;br /&gt;
== Solving the Wrong Project’s Issue ==&lt;br /&gt;
&lt;br /&gt;
DWIRC staff attempt to modify DWShells or DWBouncers resources without authority.&lt;br /&gt;
&lt;br /&gt;
== Arguing Publicly ==&lt;br /&gt;
&lt;br /&gt;
A support discussion becomes a personal conflict.&lt;br /&gt;
&lt;br /&gt;
== Promising an Outcome ==&lt;br /&gt;
&lt;br /&gt;
A trainee promises that an account, channel, or approval will be granted.&lt;br /&gt;
&lt;br /&gt;
== Closing Too Early ==&lt;br /&gt;
&lt;br /&gt;
The staff member gives a command but never confirms whether it worked.&lt;br /&gt;
&lt;br /&gt;
= 27. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: New User Assistance ==&lt;br /&gt;
&lt;br /&gt;
Guide a trainer acting as a new user through:&lt;br /&gt;
&lt;br /&gt;
* Connecting to `irc.darkworld.network`.&lt;br /&gt;
* Using port `6697`.&lt;br /&gt;
* Enabling TLS.&lt;br /&gt;
* Choosing a nickname.&lt;br /&gt;
* Joining an approved channel.&lt;br /&gt;
* Finding NickServ help.&lt;br /&gt;
&lt;br /&gt;
Do not ask for or handle the user’s password.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: SASL Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
The trainer will provide a simulated SASL error.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
# Ask for the exact error.&lt;br /&gt;
# Confirm TLS.&lt;br /&gt;
# Confirm the account-name field.&lt;br /&gt;
# Confirm account registration.&lt;br /&gt;
# Identify saved-password problems.&lt;br /&gt;
# Escalate if the issue affects multiple users.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Channel Access Problem ==&lt;br /&gt;
&lt;br /&gt;
A simulated user is identified but does not receive channel operator status.&lt;br /&gt;
&lt;br /&gt;
The candidate must distinguish between:&lt;br /&gt;
&lt;br /&gt;
* Current nickname.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* ChanServ access.&lt;br /&gt;
* Live channel status.&lt;br /&gt;
* Mode lock.&lt;br /&gt;
* Possible Services outage.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Angry User ==&lt;br /&gt;
&lt;br /&gt;
The trainer acts as an angry user disputing a ban.&lt;br /&gt;
&lt;br /&gt;
The candidate must:&lt;br /&gt;
&lt;br /&gt;
* Remain calm.&lt;br /&gt;
* Avoid arguing.&lt;br /&gt;
* Collect relevant details.&lt;br /&gt;
* Explain the review process.&lt;br /&gt;
* Protect private evidence.&lt;br /&gt;
* Avoid promising removal.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Project Boundary ==&lt;br /&gt;
&lt;br /&gt;
The trainer requests a DWShells or DWBouncers administrative action.&lt;br /&gt;
&lt;br /&gt;
The candidate must direct the request to the correct team without claiming authority.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Escalation Summary ==&lt;br /&gt;
&lt;br /&gt;
Using one of the simulated cases, prepare a complete escalation summary without including sensitive credentials.&lt;br /&gt;
&lt;br /&gt;
= 28. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: New User Posts Password ==&lt;br /&gt;
&lt;br /&gt;
A new user includes their NickServ password while asking why authentication failed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not quote the password. Tell the user to change it immediately, update saved SASL credentials, and follow the approved compromised-account procedure if necessary.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Widespread Certificate Error ==&lt;br /&gt;
&lt;br /&gt;
Five users report the same TLS certificate error.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat it as a possible network-side issue. Record the hostname, error, and time; notify operations; and do not advise users to disable certificate verification.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Repeated Question ==&lt;br /&gt;
&lt;br /&gt;
A user asks the same question several times because they do not understand the answer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Rephrase the instruction in simpler language, provide one step at a time, and confirm the result after each step.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Staff Complaint ==&lt;br /&gt;
&lt;br /&gt;
A user says an IRC operator banned them after a personal argument.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Preserve the report, avoid prejudging either side, and escalate it for independent review. Do not send the complaint only to the accused operator.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Unknown Client ==&lt;br /&gt;
&lt;br /&gt;
A user uses an IRC client the staff member has never seen.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ask for the client name, version, available connection fields, and exact error. Use protocol-level settings and official client documentation rather than guessing.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Multiple Project Issue ==&lt;br /&gt;
&lt;br /&gt;
A user can connect to IRC but their DWBouncers account no longer connects automatically.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Confirm that DWIRC itself is reachable, then direct the bouncer-specific account or configuration issue to authorized DWBouncers support.&lt;br /&gt;
&lt;br /&gt;
= 29. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the primary goal of user support?&lt;br /&gt;
# What are the main stages of the support workflow?&lt;br /&gt;
# Why should staff first understand the user’s goal?&lt;br /&gt;
# What information is useful for an IRC connection problem?&lt;br /&gt;
# What information should never be requested publicly?&lt;br /&gt;
# Why should troubleshooting normally proceed one step at a time?&lt;br /&gt;
# What makes a support response easy to follow?&lt;br /&gt;
# How should staff explain technical terminology to beginners?&lt;br /&gt;
# What should staff do if a user posts a password?&lt;br /&gt;
# Is a private message automatically a suitable permanent evidence system?&lt;br /&gt;
# How should staff respond to an angry user?&lt;br /&gt;
# What is de-escalation?&lt;br /&gt;
# Does acknowledging frustration mean agreeing with every claim?&lt;br /&gt;
# How should language barriers be handled?&lt;br /&gt;
# Can personal disagreement justify denying support?&lt;br /&gt;
# Why must DWIRC staff respect other project boundaries?&lt;br /&gt;
# What is the difference between support and an abuse investigation?&lt;br /&gt;
# May ordinary support staff approve advertising or relay applications?&lt;br /&gt;
# How should a staff complaint be handled?&lt;br /&gt;
# What signs may indicate a network-wide problem?&lt;br /&gt;
# When must a security matter be escalated immediately?&lt;br /&gt;
# What should staff verify before providing a sensitive command?&lt;br /&gt;
# Why is guessing dangerous in support?&lt;br /&gt;
# What information belongs in an escalation summary?&lt;br /&gt;
# What must be excluded from an escalation summary?&lt;br /&gt;
# What should be confirmed before closing a case?&lt;br /&gt;
# When should recurring problems be documented?&lt;br /&gt;
# Why should staff avoid promising a particular administrative outcome?&lt;br /&gt;
# What should happen if an issue remains unresolved?&lt;br /&gt;
# How should a candidate respond after giving incorrect guidance?&lt;br /&gt;
&lt;br /&gt;
= 30. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;700–1,000 words&#039;&#039;&#039; responding to this case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A new user cannot connect to DarkWorld IRC. They say their client shows a certificate warning and SASL failure. They publicly paste their account password while asking for help. At the same time, three other users report the same certificate warning. The user becomes angry and accuses staff of ignoring them.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your answer must explain:&lt;br /&gt;
&lt;br /&gt;
* How to acknowledge the user.&lt;br /&gt;
* What immediate password-security action is required.&lt;br /&gt;
* Which diagnostic questions should be asked.&lt;br /&gt;
* Why certificate verification should not simply be disabled.&lt;br /&gt;
* Why multiple reports change the incident classification.&lt;br /&gt;
* How to handle the user’s frustration.&lt;br /&gt;
* What must be escalated.&lt;br /&gt;
* What information should be recorded.&lt;br /&gt;
* What information must not be repeated.&lt;br /&gt;
* How the case should be closed or handed over.&lt;br /&gt;
&lt;br /&gt;
= 31. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Complete all six practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;23 of the 30&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Pass the angry-user roleplay.&lt;br /&gt;
* Demonstrate safe credential handling.&lt;br /&gt;
* Prepare an acceptable escalation summary.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 32. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding the user’s problem&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Diagnostic questioning&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Accuracy of guidance&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Communication and clarity&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| De-escalation and professionalism&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Privacy and credential security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and documentation&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Request or expose credentials.&lt;br /&gt;
* Insult or threaten users.&lt;br /&gt;
* Repeatedly provide unsafe instructions.&lt;br /&gt;
* Ignore project boundaries.&lt;br /&gt;
* Hide mistakes.&lt;br /&gt;
* Fail to escalate serious security issues.&lt;br /&gt;
* Use support access for retaliation.&lt;br /&gt;
&lt;br /&gt;
= 33. Quick Support Checklist =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What is the user trying to do?&lt;br /&gt;
2. What exact error occurred?&lt;br /&gt;
3. Which client, server, and port are involved?&lt;br /&gt;
4. Is TLS enabled and verified?&lt;br /&gt;
5. Is the issue limited to one user?&lt;br /&gt;
6. Is any password or private information exposed?&lt;br /&gt;
7. Does this belong to DWIRC or another project?&lt;br /&gt;
8. What is the safest next step?&lt;br /&gt;
9. Do I have authority to handle it?&lt;br /&gt;
10. Does it require escalation?&lt;br /&gt;
11. Has the result been confirmed?&lt;br /&gt;
12. Does the case require documentation?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 34. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|Module 7 — IRC Moderation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Support]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Services&amp;diff=389</id>
		<title>DWIRC:Staff Training/IRC Services</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Services&amp;diff=389"/>
		<updated>2026-08-08T17:39:43Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/IRC Services&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 5 — IRC Services}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 5: IRC Services&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 5 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, support exercises, and Services scenarios&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC uses IRC Services to provide registered accounts, channel registration, access control, virtual hosts, and other persistent network features.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC currently uses &#039;&#039;&#039;Anope Services&#039;&#039;&#039;. Available commands depend on the installed Anope version, loaded modules, and DarkWorld configuration.&lt;br /&gt;
&lt;br /&gt;
This module teaches candidates how to:&lt;br /&gt;
&lt;br /&gt;
* Understand IRC Services.&lt;br /&gt;
* Assist users with NickServ.&lt;br /&gt;
* Assist with registered channels through ChanServ.&lt;br /&gt;
* Understand HostServ and virtual hosts.&lt;br /&gt;
* Recognize MemoServ and BotServ functions where enabled.&lt;br /&gt;
* Distinguish normal user support from Services administration.&lt;br /&gt;
* Handle account and channel disputes safely.&lt;br /&gt;
* Protect passwords and recovery information.&lt;br /&gt;
* Escalate high-risk Services requests.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Always confirm current command syntax with the service’s own `HELP` command. Do not copy administrative commands from another IRC network or a different Anope version.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the purpose of IRC Services.&lt;br /&gt;
# Distinguish a nickname from a registered account.&lt;br /&gt;
# Help a user register and identify securely.&lt;br /&gt;
# Explain SASL authentication.&lt;br /&gt;
# Use NickServ information commands safely.&lt;br /&gt;
# Explain ChanServ channel registration and access.&lt;br /&gt;
# Distinguish channel status from persistent Services access.&lt;br /&gt;
# Understand HostServ and virtual hosts.&lt;br /&gt;
# Recognize common account and channel problems.&lt;br /&gt;
# Protect passwords and recovery information.&lt;br /&gt;
# Identify requests requiring Services Administrator escalation.&lt;br /&gt;
# Avoid unauthorized account or channel modifications.&lt;br /&gt;
&lt;br /&gt;
= 1. What Are IRC Services? =&lt;br /&gt;
&lt;br /&gt;
IRC Services are specialized systems connected to the IRC network.&lt;br /&gt;
&lt;br /&gt;
They provide persistent features that ordinary IRC servers do not maintain by themselves.&lt;br /&gt;
&lt;br /&gt;
Services may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;NickServ&#039;&#039;&#039;&lt;br /&gt;
| Registered accounts, nickname management, and authentication&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ChanServ&#039;&#039;&#039;&lt;br /&gt;
| Channel registration, access, settings, and enforcement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;MemoServ&#039;&#039;&#039;&lt;br /&gt;
| Offline messages between registered accounts, where enabled&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;HostServ&#039;&#039;&#039;&lt;br /&gt;
| Virtual hosts and cloaks&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;BotServ&#039;&#039;&#039;&lt;br /&gt;
| Services bots and channel bot features, where enabled&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;OperServ&#039;&#039;&#039;&lt;br /&gt;
| Administrative Services and network operations&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Services commands are generally sent through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ServiceName COMMAND parameters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many clients also support aliases such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NS HELP&lt;br /&gt;
/CS HELP&lt;br /&gt;
/HS HELP&lt;br /&gt;
/MS HELP&lt;br /&gt;
/BS HELP&lt;br /&gt;
/OS HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aliases depend on the IRC client. The full `/MSG` form is generally more portable.&lt;br /&gt;
&lt;br /&gt;
= 2. Services Security =&lt;br /&gt;
&lt;br /&gt;
Services accounts may control:&lt;br /&gt;
&lt;br /&gt;
* Registered nicknames.&lt;br /&gt;
* Registered channels.&lt;br /&gt;
* Channel access lists.&lt;br /&gt;
* Channel founder privileges.&lt;br /&gt;
* Virtual hosts.&lt;br /&gt;
* Memos.&lt;br /&gt;
* Other persistent network resources.&lt;br /&gt;
&lt;br /&gt;
A compromised Services account can therefore cause serious damage.&lt;br /&gt;
&lt;br /&gt;
Staff must never ask users to provide:&lt;br /&gt;
&lt;br /&gt;
* Their account password.&lt;br /&gt;
* A SASL password.&lt;br /&gt;
* A password-reset code.&lt;br /&gt;
* An email-verification code.&lt;br /&gt;
* A two-factor authentication secret.&lt;br /&gt;
* A private key or certificate.&lt;br /&gt;
* A screenshot showing credentials.&lt;br /&gt;
&lt;br /&gt;
Staff should never identify to a user’s account on the user’s behalf.&lt;br /&gt;
&lt;br /&gt;
== Correct Support Approach ==&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
# Explain the official command or recovery process.&lt;br /&gt;
# Direct the user to a private Services query.&lt;br /&gt;
# Confirm that the service nickname is correct.&lt;br /&gt;
# Avoid asking the user to paste credentials.&lt;br /&gt;
# Verify ownership through approved procedures.&lt;br /&gt;
# Escalate unresolved ownership cases.&lt;br /&gt;
# Record administrative intervention where required.&lt;br /&gt;
&lt;br /&gt;
= 3. Nicknames and Registered Accounts =&lt;br /&gt;
&lt;br /&gt;
A visible nickname and a registered account are related but separate.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Information&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| Current nickname&lt;br /&gt;
| Falcon-Away&lt;br /&gt;
|-&lt;br /&gt;
| Registered account&lt;br /&gt;
| Falcon&lt;br /&gt;
|-&lt;br /&gt;
| Ident&lt;br /&gt;
| falcon&lt;br /&gt;
|-&lt;br /&gt;
| Displayed hostname&lt;br /&gt;
| User.DarkWorld.Network&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A user may:&lt;br /&gt;
&lt;br /&gt;
* Use a nickname that is not registered.&lt;br /&gt;
* Use a nickname associated with an account but remain unidentified.&lt;br /&gt;
* Authenticate to one account while using another grouped nickname.&lt;br /&gt;
* Change nicknames while remaining authenticated.&lt;br /&gt;
* Connect through multiple clients using the same account, subject to policy.&lt;br /&gt;
&lt;br /&gt;
Where identity matters, staff should check the registered account rather than relying solely on the current nickname.&lt;br /&gt;
&lt;br /&gt;
= 4. NickServ Help =&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Help for a specific command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP REGISTER&lt;br /&gt;
/MSG NickServ HELP IDENTIFY&lt;br /&gt;
/MSG NickServ HELP INFO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Candidates should use current Services help before instructing a user.&lt;br /&gt;
&lt;br /&gt;
= 5. Registering a NickServ Account =&lt;br /&gt;
&lt;br /&gt;
The normal registration syntax may resemble:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ REGISTER password email@example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact syntax must be confirmed with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP REGISTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may require a valid email address and confirmation before registration becomes complete.&lt;br /&gt;
&lt;br /&gt;
== Secure Registration Guidance ==&lt;br /&gt;
&lt;br /&gt;
Users should:&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique password.&lt;br /&gt;
* Use an email address they control.&lt;br /&gt;
* Enter the command in the NickServ query.&lt;br /&gt;
* Verify that the recipient is the official NickServ.&lt;br /&gt;
* Complete any required email confirmation.&lt;br /&gt;
* Configure SASL after registration.&lt;br /&gt;
* Avoid reusing passwords from other services.&lt;br /&gt;
&lt;br /&gt;
== Staff Must Not ==&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Choose the user’s password.&lt;br /&gt;
* Ask the user to post the registration command publicly.&lt;br /&gt;
* Register accounts on behalf of users without authorization.&lt;br /&gt;
* Use a temporary password known to staff unless an approved recovery procedure specifically requires it.&lt;br /&gt;
* Bypass email verification without authority.&lt;br /&gt;
* Promise that a requested nickname will be granted.&lt;br /&gt;
&lt;br /&gt;
= 6. Email Confirmation =&lt;br /&gt;
&lt;br /&gt;
Where email confirmation is enabled, NickServ may provide a confirmation code or instructions.&lt;br /&gt;
&lt;br /&gt;
The user should check:&lt;br /&gt;
&lt;br /&gt;
* Inbox.&lt;br /&gt;
* Spam or junk folder.&lt;br /&gt;
* Whether the address was entered correctly.&lt;br /&gt;
* Whether the email provider delayed the message.&lt;br /&gt;
* Whether the account is still awaiting confirmation.&lt;br /&gt;
&lt;br /&gt;
Users should follow the exact instructions provided by NickServ and the confirmation email.&lt;br /&gt;
&lt;br /&gt;
Staff should never ask a user to post the confirmation code in a public channel.&lt;br /&gt;
&lt;br /&gt;
If confirmation repeatedly fails, staff should collect:&lt;br /&gt;
&lt;br /&gt;
* Account name.&lt;br /&gt;
* Approximate registration time.&lt;br /&gt;
* Non-sensitive error message.&lt;br /&gt;
* Whether any email arrived.&lt;br /&gt;
* The email domain, if relevant and appropriate.&lt;br /&gt;
&lt;br /&gt;
The case may then be escalated without requesting the full private email address publicly.&lt;br /&gt;
&lt;br /&gt;
= 7. Identifying to NickServ =&lt;br /&gt;
&lt;br /&gt;
A common identification command is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ IDENTIFY account password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on Services configuration, a user already using the account’s nickname may be able to use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ IDENTIFY password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current syntax should be checked:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP IDENTIFY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common Identification Problems ==&lt;br /&gt;
&lt;br /&gt;
* Incorrect account name.&lt;br /&gt;
* Incorrect password.&lt;br /&gt;
* Unconfirmed registration.&lt;br /&gt;
* Typing the command into a channel.&lt;br /&gt;
* Sending the command to an impersonating nickname.&lt;br /&gt;
* Client automatically identifying with outdated credentials.&lt;br /&gt;
* SASL and manual identification using different passwords.&lt;br /&gt;
* Account suspension or restriction.&lt;br /&gt;
* Temporary Services unavailability.&lt;br /&gt;
&lt;br /&gt;
Staff should ask for the exact error message, not the password.&lt;br /&gt;
&lt;br /&gt;
= 8. SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
SASL authenticates a user during connection.&lt;br /&gt;
&lt;br /&gt;
Recommended general settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Connection security&lt;br /&gt;
| TLS enabled&lt;br /&gt;
|-&lt;br /&gt;
| SASL&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| Mechanism&lt;br /&gt;
| PLAIN, where supported over verified TLS&lt;br /&gt;
|-&lt;br /&gt;
| Username&lt;br /&gt;
| Registered NickServ account&lt;br /&gt;
|-&lt;br /&gt;
| Password&lt;br /&gt;
| NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Benefits include:&lt;br /&gt;
&lt;br /&gt;
* Authentication before joining channels.&lt;br /&gt;
* Immediate recognition by Services.&lt;br /&gt;
* Better access to registered-user channels.&lt;br /&gt;
* Reduced nickname-enforcement problems.&lt;br /&gt;
* More reliable account-based permissions.&lt;br /&gt;
&lt;br /&gt;
When SASL fails, staff should check:&lt;br /&gt;
&lt;br /&gt;
# The account name.&lt;br /&gt;
# Whether the account is confirmed.&lt;br /&gt;
# Whether TLS is enabled.&lt;br /&gt;
# The selected SASL mechanism.&lt;br /&gt;
# Whether the client saved an old password.&lt;br /&gt;
# The exact server error.&lt;br /&gt;
# Whether manual identification works.&lt;br /&gt;
&lt;br /&gt;
The user should make these checks privately and must not reveal the password.&lt;br /&gt;
&lt;br /&gt;
= 9. NickServ INFO =&lt;br /&gt;
&lt;br /&gt;
To view public account or nickname information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ INFO nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response may show:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Registration date.&lt;br /&gt;
* Last-seen information.&lt;br /&gt;
* Account options.&lt;br /&gt;
* Grouped nickname information.&lt;br /&gt;
* Virtual host.&lt;br /&gt;
* Other public metadata.&lt;br /&gt;
&lt;br /&gt;
The exact output depends on permissions and configuration.&lt;br /&gt;
&lt;br /&gt;
NickServ INFO does not prove a person’s legal identity.&lt;br /&gt;
&lt;br /&gt;
Staff must not disclose additional restricted information merely because they can access it.&lt;br /&gt;
&lt;br /&gt;
= 10. Account Status =&lt;br /&gt;
&lt;br /&gt;
Where available, a status command may help determine whether a nickname is recognized or identified:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ STATUS nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current availability and status meanings must be confirmed through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP STATUS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A WHOIS response may also show whether a user is logged into a Services account.&lt;br /&gt;
&lt;br /&gt;
Staff should distinguish:&lt;br /&gt;
&lt;br /&gt;
* Using a registered nickname.&lt;br /&gt;
* Being identified to an account.&lt;br /&gt;
* Being grouped to an account.&lt;br /&gt;
* Owning an external identity with the same name.&lt;br /&gt;
&lt;br /&gt;
= 11. Changing Account Settings =&lt;br /&gt;
&lt;br /&gt;
NickServ may provide commands for changing:&lt;br /&gt;
&lt;br /&gt;
* Password.&lt;br /&gt;
* Email address.&lt;br /&gt;
* Language.&lt;br /&gt;
* Privacy settings.&lt;br /&gt;
* Account protection.&lt;br /&gt;
* Other preferences.&lt;br /&gt;
&lt;br /&gt;
Users should begin with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP SET&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then request help for the specific option.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP SET PASSWORD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Staff should avoid giving remembered syntax for security-sensitive changes unless it has been verified against the current Services help.&lt;br /&gt;
&lt;br /&gt;
After changing a password, the user should also update:&lt;br /&gt;
&lt;br /&gt;
* SASL configuration.&lt;br /&gt;
* Automatic identify commands.&lt;br /&gt;
* IRC bouncer settings.&lt;br /&gt;
* Mobile IRC clients.&lt;br /&gt;
* Any other authorized connection using the account.&lt;br /&gt;
&lt;br /&gt;
= 12. Nickname Recovery =&lt;br /&gt;
&lt;br /&gt;
A registered nickname may remain connected because:&lt;br /&gt;
&lt;br /&gt;
* The user lost their connection.&lt;br /&gt;
* A bouncer is still connected.&lt;br /&gt;
* Another device is connected.&lt;br /&gt;
* Someone else is using the nickname.&lt;br /&gt;
* A stale session remains temporarily.&lt;br /&gt;
* The user is authenticated under another nickname.&lt;br /&gt;
&lt;br /&gt;
NickServ may provide commands such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ RECOVER nickname&lt;br /&gt;
/MSG NickServ RELEASE nickname&lt;br /&gt;
/MSG NickServ GHOST nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Availability and parameters must be verified:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP RECOVER&lt;br /&gt;
/MSG NickServ HELP RELEASE&lt;br /&gt;
/MSG NickServ HELP GHOST&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recovery Procedure ==&lt;br /&gt;
&lt;br /&gt;
Staff should ask the user to:&lt;br /&gt;
&lt;br /&gt;
# Connect with a temporary nickname.&lt;br /&gt;
# Authenticate to the correct account through SASL or NickServ.&lt;br /&gt;
# Check the nickname’s account information.&lt;br /&gt;
# Use the supported recovery command.&lt;br /&gt;
# Change to the recovered nickname.&lt;br /&gt;
# Review other connected clients or bouncers.&lt;br /&gt;
# Change the password if unauthorized access is suspected.&lt;br /&gt;
&lt;br /&gt;
Staff should not forcibly disconnect a nickname merely because another user claims ownership.&lt;br /&gt;
&lt;br /&gt;
= 13. Lost Account Access =&lt;br /&gt;
&lt;br /&gt;
A user may lose account access because:&lt;br /&gt;
&lt;br /&gt;
* They forgot the password.&lt;br /&gt;
* They lost access to the registered email.&lt;br /&gt;
* The email address is incorrect.&lt;br /&gt;
* The account was compromised.&lt;br /&gt;
* The account was suspended.&lt;br /&gt;
* The user confused the nickname with the account name.&lt;br /&gt;
* The account expired under applicable policy.&lt;br /&gt;
* The account was never confirmed.&lt;br /&gt;
&lt;br /&gt;
== Safe Recovery Principles ==&lt;br /&gt;
&lt;br /&gt;
Account recovery must be based on approved ownership verification.&lt;br /&gt;
&lt;br /&gt;
Staff should not accept as sufficient proof:&lt;br /&gt;
&lt;br /&gt;
* “Everyone knows this is my nickname.”&lt;br /&gt;
* A matching display name.&lt;br /&gt;
* A similar social-media username.&lt;br /&gt;
* Friendship with a staff member.&lt;br /&gt;
* An old screenshot without supporting information.&lt;br /&gt;
* Knowledge of public account details.&lt;br /&gt;
&lt;br /&gt;
Administrative recovery should be handled only by authorized Services staff.&lt;br /&gt;
&lt;br /&gt;
= 14. Grouped Nicknames =&lt;br /&gt;
&lt;br /&gt;
Where enabled, NickServ may allow additional nicknames to be grouped under one account.&lt;br /&gt;
&lt;br /&gt;
General help may be available through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP GROUP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grouped nicknames:&lt;br /&gt;
&lt;br /&gt;
* May be associated with the same account.&lt;br /&gt;
* Do not create separate staff identities.&lt;br /&gt;
* May share account-based channel access.&lt;br /&gt;
* Still require compliance with nickname policies.&lt;br /&gt;
* Must not be used for impersonation or ban evasion.&lt;br /&gt;
&lt;br /&gt;
Staff should confirm the registered account rather than assuming separate grouped nicknames belong to different people.&lt;br /&gt;
&lt;br /&gt;
= 15. ChanServ =&lt;br /&gt;
&lt;br /&gt;
ChanServ manages registered channels.&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common functions include:&lt;br /&gt;
&lt;br /&gt;
* Channel registration.&lt;br /&gt;
* Channel information.&lt;br /&gt;
* Access management.&lt;br /&gt;
* Channel settings.&lt;br /&gt;
* Mode locking.&lt;br /&gt;
* Automatic kicks or bans.&lt;br /&gt;
* Founder and successor management.&lt;br /&gt;
* Topic and channel protection.&lt;br /&gt;
* Channel dropping or transfer.&lt;br /&gt;
&lt;br /&gt;
Some actions are high risk and restricted to channel founders or Services administrators.&lt;br /&gt;
&lt;br /&gt;
= 16. Channel Registration =&lt;br /&gt;
&lt;br /&gt;
The current registration command should be checked:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP REGISTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on configuration, a user may need to:&lt;br /&gt;
&lt;br /&gt;
* Be identified to a registered account.&lt;br /&gt;
* Be present in the channel.&lt;br /&gt;
* Hold channel operator status.&lt;br /&gt;
* Meet registration limits.&lt;br /&gt;
* Comply with channel-registration policy.&lt;br /&gt;
* Provide a description.&lt;br /&gt;
* Ensure the channel is not already registered or restricted.&lt;br /&gt;
&lt;br /&gt;
Registration gives persistent Services control, but does not exempt the channel from network policy.&lt;br /&gt;
&lt;br /&gt;
== Staff Support Procedure ==&lt;br /&gt;
&lt;br /&gt;
When a user cannot register a channel:&lt;br /&gt;
&lt;br /&gt;
# Confirm they are identified.&lt;br /&gt;
# Confirm the exact channel name.&lt;br /&gt;
# Check whether the channel is already registered.&lt;br /&gt;
# Check the exact ChanServ response.&lt;br /&gt;
# Check applicable registration requirements.&lt;br /&gt;
# Avoid overriding existing ownership.&lt;br /&gt;
# Escalate disputes or restricted channels.&lt;br /&gt;
&lt;br /&gt;
= 17. ChanServ INFO =&lt;br /&gt;
&lt;br /&gt;
To view channel registration information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ INFO #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information may include:&lt;br /&gt;
&lt;br /&gt;
* Registration date.&lt;br /&gt;
* Founder or owning account.&lt;br /&gt;
* Description.&lt;br /&gt;
* Successor.&lt;br /&gt;
* Channel settings.&lt;br /&gt;
* Last-used information.&lt;br /&gt;
* Mode-lock information.&lt;br /&gt;
* Other public registration details.&lt;br /&gt;
&lt;br /&gt;
Restricted information must remain confidential.&lt;br /&gt;
&lt;br /&gt;
= 18. Channel Founder =&lt;br /&gt;
&lt;br /&gt;
The founder is the account with primary Services ownership of a registered channel.&lt;br /&gt;
&lt;br /&gt;
Founder status may provide authority to:&lt;br /&gt;
&lt;br /&gt;
* Manage channel access.&lt;br /&gt;
* Change channel settings.&lt;br /&gt;
* Assign a successor.&lt;br /&gt;
* Manage mode locks.&lt;br /&gt;
* Drop or transfer the channel.&lt;br /&gt;
* Perform other high-level ChanServ actions.&lt;br /&gt;
&lt;br /&gt;
Channel founder status is not the same as:&lt;br /&gt;
&lt;br /&gt;
* IRC operator status.&lt;br /&gt;
* Network ownership.&lt;br /&gt;
* Services Administrator status.&lt;br /&gt;
* Authority over other channels.&lt;br /&gt;
* Authority over other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
Founder-related changes are security-sensitive and must be handled carefully.&lt;br /&gt;
&lt;br /&gt;
= 19. Channel Access =&lt;br /&gt;
&lt;br /&gt;
ChanServ access provides persistent privileges based on registered accounts or configured entries.&lt;br /&gt;
&lt;br /&gt;
Current help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP ACCESS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on configuration, access may use:&lt;br /&gt;
&lt;br /&gt;
* Numeric access levels.&lt;br /&gt;
* Named privileges.&lt;br /&gt;
* Flags.&lt;br /&gt;
* Templates.&lt;br /&gt;
* Founder-defined access groups.&lt;br /&gt;
&lt;br /&gt;
Common operations may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ ACCESS #channel LIST&lt;br /&gt;
/MSG ChanServ ACCESS #channel ADD account level&lt;br /&gt;
/MSG ChanServ ACCESS #channel DEL account&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exact syntax and permitted levels must be verified.&lt;br /&gt;
&lt;br /&gt;
== Services Access vs Live Channel Status ==&lt;br /&gt;
&lt;br /&gt;
Services access and live channel status are different.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* `+o` is the user’s current channel operator status.&lt;br /&gt;
* ChanServ access may allow the user to obtain `+o` automatically or on request.&lt;br /&gt;
* Removing live `+o` may not remove the persistent ChanServ access.&lt;br /&gt;
* Removing ChanServ access may not immediately remove a currently held mode.&lt;br /&gt;
&lt;br /&gt;
Staff must identify whether a problem concerns:&lt;br /&gt;
&lt;br /&gt;
* A temporary live mode.&lt;br /&gt;
* A persistent access-list entry.&lt;br /&gt;
* Founder ownership.&lt;br /&gt;
* An account compromise.&lt;br /&gt;
* A channel-mode lock.&lt;br /&gt;
&lt;br /&gt;
= 20. Channel Access Security =&lt;br /&gt;
&lt;br /&gt;
Channel founders should:&lt;br /&gt;
&lt;br /&gt;
* Grant access to registered accounts rather than uncertain masks where practical.&lt;br /&gt;
* Assign only necessary privileges.&lt;br /&gt;
* Review access lists periodically.&lt;br /&gt;
* Remove former staff promptly.&lt;br /&gt;
* Avoid giving founder-equivalent access unnecessarily.&lt;br /&gt;
* Confirm account names carefully.&lt;br /&gt;
* Document major access changes.&lt;br /&gt;
* Use a successor where appropriate.&lt;br /&gt;
* Secure their own NickServ account.&lt;br /&gt;
&lt;br /&gt;
Before adding access, verify:&lt;br /&gt;
&lt;br /&gt;
# The exact channel.&lt;br /&gt;
# The exact account.&lt;br /&gt;
# The requested privilege.&lt;br /&gt;
# The requester’s authority.&lt;br /&gt;
# Whether the access is temporary or permanent.&lt;br /&gt;
# Whether a lower level is sufficient.&lt;br /&gt;
&lt;br /&gt;
= 21. Mode Lock =&lt;br /&gt;
&lt;br /&gt;
ChanServ may enforce selected channel modes through a mode-lock system.&lt;br /&gt;
&lt;br /&gt;
Help may be available through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP SET MLOCK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A mode lock can:&lt;br /&gt;
&lt;br /&gt;
* Require specified modes.&lt;br /&gt;
* Prevent specified modes.&lt;br /&gt;
* Restore channel modes after unauthorized changes.&lt;br /&gt;
* Apply mode parameters such as a limit or key.&lt;br /&gt;
&lt;br /&gt;
Incorrect mode locks may:&lt;br /&gt;
&lt;br /&gt;
* Prevent legitimate changes.&lt;br /&gt;
* Lock users out.&lt;br /&gt;
* Conflict with emergency moderation.&lt;br /&gt;
* Expose or mishandle channel keys.&lt;br /&gt;
* Cause repeated mode changes.&lt;br /&gt;
&lt;br /&gt;
Only authorized channel management or Services staff should change mode locks.&lt;br /&gt;
&lt;br /&gt;
= 22. ChanServ AKICK =&lt;br /&gt;
&lt;br /&gt;
An automatic-kick list may prevent matching users from remaining in a registered channel.&lt;br /&gt;
&lt;br /&gt;
Current help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP AKICK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible operations may include adding, deleting, and listing entries.&lt;br /&gt;
&lt;br /&gt;
An AKICK entry can be more persistent than a normal live channel ban.&lt;br /&gt;
&lt;br /&gt;
Before adding one, consider:&lt;br /&gt;
&lt;br /&gt;
* The accuracy of the mask or account.&lt;br /&gt;
* Whether the restriction should be temporary.&lt;br /&gt;
* The risk to users on shared hosts.&lt;br /&gt;
* Whether channel policy supports the action.&lt;br /&gt;
* Whether the requester has authority.&lt;br /&gt;
* Whether a normal channel ban is sufficient.&lt;br /&gt;
&lt;br /&gt;
Trainees must not modify another channel’s AKICK list without authorization.&lt;br /&gt;
&lt;br /&gt;
= 23. ChanServ OP and Status Commands =&lt;br /&gt;
&lt;br /&gt;
ChanServ may provide commands for granting or removing channel status.&lt;br /&gt;
&lt;br /&gt;
Possible help topics include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP OP&lt;br /&gt;
/MSG ChanServ HELP DEOP&lt;br /&gt;
/MSG ChanServ HELP VOICE&lt;br /&gt;
/MSG ChanServ HELP DEVOICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Staff should not use Services to obtain channel status unless their account has legitimate access and there is an authorized operational reason.&lt;br /&gt;
&lt;br /&gt;
Services commands must not be used to bypass channel management.&lt;br /&gt;
&lt;br /&gt;
= 24. Dropping or Transferring a Channel =&lt;br /&gt;
&lt;br /&gt;
Dropping or changing ownership of a registered channel is a high-risk action.&lt;br /&gt;
&lt;br /&gt;
It can result in:&lt;br /&gt;
&lt;br /&gt;
* Loss of access lists.&lt;br /&gt;
* Loss of settings.&lt;br /&gt;
* Channel takeover.&lt;br /&gt;
* Disruption to a community or project.&lt;br /&gt;
* Difficult ownership disputes.&lt;br /&gt;
&lt;br /&gt;
Trainees and ordinary support staff must never:&lt;br /&gt;
&lt;br /&gt;
* Drop a user’s channel for them.&lt;br /&gt;
* Change a founder based only on a verbal claim.&lt;br /&gt;
* Transfer a channel to resolve a personal dispute.&lt;br /&gt;
* bypass the approved ownership-review process.&lt;br /&gt;
* Ask a user to post founder credentials.&lt;br /&gt;
&lt;br /&gt;
Such requests must be escalated to authorized Services administration.&lt;br /&gt;
&lt;br /&gt;
= 25. Channel Ownership Disputes =&lt;br /&gt;
&lt;br /&gt;
A dispute may involve:&lt;br /&gt;
&lt;br /&gt;
* A founder who is absent.&lt;br /&gt;
* A compromised founder account.&lt;br /&gt;
* Former project staff retaining access.&lt;br /&gt;
* Competing claims of project ownership.&lt;br /&gt;
* A channel that expired and was re-registered.&lt;br /&gt;
* A founder who transferred access informally.&lt;br /&gt;
* A registered project’s official identity.&lt;br /&gt;
* A staff member using override access.&lt;br /&gt;
&lt;br /&gt;
== Required Approach ==&lt;br /&gt;
&lt;br /&gt;
# Preserve the current state.&lt;br /&gt;
# Avoid making irreversible changes.&lt;br /&gt;
# Identify the registered founder account.&lt;br /&gt;
# Collect relevant dates and records.&lt;br /&gt;
# Separate channel ownership from external project ownership.&lt;br /&gt;
# Check applicable channel-registration policy.&lt;br /&gt;
# Disclose any staff conflict of interest.&lt;br /&gt;
# Escalate to authorized Services management.&lt;br /&gt;
# Record the final decision and reason.&lt;br /&gt;
&lt;br /&gt;
External ownership of a domain, business, or social-media account may be relevant, but it does not automatically replace the Services ownership-review process.&lt;br /&gt;
&lt;br /&gt;
= 26. HostServ and Virtual Hosts =&lt;br /&gt;
&lt;br /&gt;
HostServ manages virtual hosts, commonly called &#039;&#039;&#039;vhosts&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A vhost replaces or supplements the displayed hostname with an approved identity.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may automatically apply an approved vhost when a user registers or identifies, according to current configuration.&lt;br /&gt;
&lt;br /&gt;
Common user help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG HostServ HELP&lt;br /&gt;
/MSG HostServ HELP ON&lt;br /&gt;
/MSG HostServ HELP OFF&lt;br /&gt;
/MSG HostServ HELP REQUEST&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available commands depend on configuration.&lt;br /&gt;
&lt;br /&gt;
== Vhost Principles ==&lt;br /&gt;
&lt;br /&gt;
A vhost:&lt;br /&gt;
&lt;br /&gt;
* Improves privacy by hiding the original displayed host.&lt;br /&gt;
* Can show an approved identity or affiliation.&lt;br /&gt;
* Does not prove a legal identity by itself.&lt;br /&gt;
* Does not provide staff authority.&lt;br /&gt;
* Does not exempt a user from rules.&lt;br /&gt;
* Must comply with naming and impersonation policies.&lt;br /&gt;
* Must not falsely represent an official DarkWorld role or project.&lt;br /&gt;
&lt;br /&gt;
Administrative vhost assignment must be performed only by authorized staff.&lt;br /&gt;
&lt;br /&gt;
= 27. MemoServ =&lt;br /&gt;
&lt;br /&gt;
MemoServ may allow registered users to send messages that can be read later.&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG MemoServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible functions include:&lt;br /&gt;
&lt;br /&gt;
* Sending a memo.&lt;br /&gt;
* Listing memos.&lt;br /&gt;
* Reading a memo.&lt;br /&gt;
* Deleting a memo.&lt;br /&gt;
* Managing memo notifications.&lt;br /&gt;
&lt;br /&gt;
Memos should not be used to send:&lt;br /&gt;
&lt;br /&gt;
* Passwords.&lt;br /&gt;
* Authentication tokens.&lt;br /&gt;
* Private keys.&lt;br /&gt;
* Unapproved mass advertising.&lt;br /&gt;
* Harassment.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Sensitive evidence without an approved process.&lt;br /&gt;
&lt;br /&gt;
Availability depends on the current Services configuration.&lt;br /&gt;
&lt;br /&gt;
= 28. BotServ =&lt;br /&gt;
&lt;br /&gt;
BotServ may provide Services-managed bots for registered channels.&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG BotServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible features include:&lt;br /&gt;
&lt;br /&gt;
* Assigning an approved Services bot.&lt;br /&gt;
* Channel greetings.&lt;br /&gt;
* Bad-word controls.&lt;br /&gt;
* Kick settings.&lt;br /&gt;
* Fantasy commands.&lt;br /&gt;
* Other channel automation.&lt;br /&gt;
&lt;br /&gt;
BotServ features must not replace good moderation judgment.&lt;br /&gt;
&lt;br /&gt;
A channel’s use of BotServ remains subject to network policy.&lt;br /&gt;
&lt;br /&gt;
= 29. OperServ =&lt;br /&gt;
&lt;br /&gt;
OperServ provides high-level Services administration.&lt;br /&gt;
&lt;br /&gt;
It may be used for:&lt;br /&gt;
&lt;br /&gt;
* Services administration.&lt;br /&gt;
* Account suspension.&lt;br /&gt;
* Channel suspension.&lt;br /&gt;
* Services database operations.&lt;br /&gt;
* Network restrictions.&lt;br /&gt;
* Administrative overrides.&lt;br /&gt;
* Services maintenance.&lt;br /&gt;
* Other privileged operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Restricted area:&#039;&#039;&#039; OperServ commands are not part of ordinary candidate training. Knowledge of a command does not authorize its use.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OperServ access should require:&lt;br /&gt;
&lt;br /&gt;
* A specific operational role.&lt;br /&gt;
* Management approval.&lt;br /&gt;
* Strong account security.&lt;br /&gt;
* Least-privilege permissions.&lt;br /&gt;
* Appropriate logging.&lt;br /&gt;
* Specialist training.&lt;br /&gt;
* Review of important actions.&lt;br /&gt;
&lt;br /&gt;
= 30. Services Administrator Escalation =&lt;br /&gt;
&lt;br /&gt;
Escalate when a case involves:&lt;br /&gt;
&lt;br /&gt;
* Lost access without normal recovery options.&lt;br /&gt;
* A compromised account.&lt;br /&gt;
* Account suspension.&lt;br /&gt;
* Founder or channel ownership changes.&lt;br /&gt;
* Channel transfer or drop requests.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Suspected Services database problems.&lt;br /&gt;
* Incorrect automatic vhosts.&lt;br /&gt;
* Administrative access changes.&lt;br /&gt;
* Large-scale Services failure.&lt;br /&gt;
* A disputed account or project identity.&lt;br /&gt;
* An action affecting multiple users or channels.&lt;br /&gt;
* Requests for confidential Services information.&lt;br /&gt;
&lt;br /&gt;
The escalation should include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Requesting user:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Claimed account:&lt;br /&gt;
Affected channel:&lt;br /&gt;
Exact Services response:&lt;br /&gt;
Actions already attempted:&lt;br /&gt;
Relevant public information:&lt;br /&gt;
Evidence available:&lt;br /&gt;
Security concern:&lt;br /&gt;
Requested outcome:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include passwords, recovery codes, or authentication secrets.&lt;br /&gt;
&lt;br /&gt;
= 31. Services Outage Recognition =&lt;br /&gt;
&lt;br /&gt;
A Services outage may appear as:&lt;br /&gt;
&lt;br /&gt;
* NickServ and ChanServ disconnecting.&lt;br /&gt;
* Identification commands receiving no response.&lt;br /&gt;
* Users losing automatically assigned channel status.&lt;br /&gt;
* Registered nicknames not being enforced.&lt;br /&gt;
* Channel modes changing unexpectedly.&lt;br /&gt;
* SASL authentication failing for many users.&lt;br /&gt;
* HostServ vhosts not being applied.&lt;br /&gt;
* Services reconnecting repeatedly.&lt;br /&gt;
&lt;br /&gt;
If many users are affected:&lt;br /&gt;
&lt;br /&gt;
# Do not advise everyone to reset passwords.&lt;br /&gt;
# Check whether Services are connected.&lt;br /&gt;
# Record the approximate start time.&lt;br /&gt;
# Notify authorized operational staff.&lt;br /&gt;
# Reassure users without making unsupported promises.&lt;br /&gt;
# Avoid permanent access changes during unstable synchronization.&lt;br /&gt;
# Confirm recovery after Services return.&lt;br /&gt;
&lt;br /&gt;
= 32. Common Services Support Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Asking for a Password ==&lt;br /&gt;
&lt;br /&gt;
Staff do not need the user’s password to explain the official recovery process.&lt;br /&gt;
&lt;br /&gt;
== Trusting the Current Nickname ==&lt;br /&gt;
&lt;br /&gt;
A nickname alone does not prove account ownership.&lt;br /&gt;
&lt;br /&gt;
== Changing Ownership Too Quickly ==&lt;br /&gt;
&lt;br /&gt;
A founder dispute requires evidence and authorized review.&lt;br /&gt;
&lt;br /&gt;
== Confusing Live Modes With Access ==&lt;br /&gt;
&lt;br /&gt;
Removing `+o` does not necessarily remove persistent ChanServ access.&lt;br /&gt;
&lt;br /&gt;
== Using OperServ for Convenience ==&lt;br /&gt;
&lt;br /&gt;
Administrative commands should not replace normal user procedures.&lt;br /&gt;
&lt;br /&gt;
== Ignoring Other Connected Clients ==&lt;br /&gt;
&lt;br /&gt;
A “stolen” nickname may actually be held by the user’s bouncer, mobile client, or another authorized session.&lt;br /&gt;
&lt;br /&gt;
== Publishing Account Information ==&lt;br /&gt;
&lt;br /&gt;
Restricted Services information must not be posted publicly.&lt;br /&gt;
&lt;br /&gt;
= 33. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
Perform these exercises only with your own training account and an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Services Help ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
/MSG NickServ HELP INFO&lt;br /&gt;
/MSG ChanServ HELP&lt;br /&gt;
/MSG ChanServ HELP INFO&lt;br /&gt;
/MSG HostServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record which commands are currently available without copying confidential account data.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Account Verification ==&lt;br /&gt;
&lt;br /&gt;
Using your own account:&lt;br /&gt;
&lt;br /&gt;
# Run WHOIS on your nickname.&lt;br /&gt;
# Run NickServ INFO on your nickname.&lt;br /&gt;
# Identify the current nickname.&lt;br /&gt;
# Identify the registered account.&lt;br /&gt;
# Explain the difference.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: SASL Configuration ==&lt;br /&gt;
&lt;br /&gt;
Configure SASL in an approved IRC client.&lt;br /&gt;
&lt;br /&gt;
Verify that:&lt;br /&gt;
&lt;br /&gt;
* TLS is enabled.&lt;br /&gt;
* Certificate verification is enabled.&lt;br /&gt;
* Authentication succeeds during connection.&lt;br /&gt;
* WHOIS shows the expected account.&lt;br /&gt;
* No password appears in public output.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Channel Information ==&lt;br /&gt;
&lt;br /&gt;
In an approved training channel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ INFO #ApprovedTrainingChannel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Identify:&lt;br /&gt;
&lt;br /&gt;
* Whether the channel is registered.&lt;br /&gt;
* Founder or owning account, if publicly visible.&lt;br /&gt;
* Registration date, if available.&lt;br /&gt;
* Current settings visible to you.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Live Mode vs Services Access ==&lt;br /&gt;
&lt;br /&gt;
Explain the difference between:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a persistent ChanServ access-list entry.&lt;br /&gt;
&lt;br /&gt;
No access changes should be performed without trainer authorization.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Recovery Guidance ==&lt;br /&gt;
&lt;br /&gt;
Prepare safe instructions for a user who:&lt;br /&gt;
&lt;br /&gt;
* Is connected with a temporary nickname.&lt;br /&gt;
* Owns a registered account.&lt;br /&gt;
* Cannot use their usual nickname.&lt;br /&gt;
* Still has access to their account password.&lt;br /&gt;
* May have another client connected.&lt;br /&gt;
&lt;br /&gt;
Do not ask the user to reveal the password.&lt;br /&gt;
&lt;br /&gt;
= 34. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Password in Help Channel ==&lt;br /&gt;
&lt;br /&gt;
A user posts their IDENTIFY command, including the password, in `#Help`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not repeat the password. Tell the user to change it immediately through the official NickServ process and update SASL or other saved connections. Escalate if the account may have been compromised.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Founder Claim ==&lt;br /&gt;
&lt;br /&gt;
A user says they created a channel many years ago and wants staff to remove its current founder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not alter ownership based on the claim alone. Collect relevant non-sensitive information and escalate through the authorized ownership-review process.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Missing Channel Operator Status ==&lt;br /&gt;
&lt;br /&gt;
A channel staff member says ChanServ did not automatically give them `+o`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Confirm their registered account, whether they are identified, the channel’s access list, current settings, and the exact Services response. Distinguish persistent access from the current live mode.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Automatic Vhost Missing ==&lt;br /&gt;
&lt;br /&gt;
A registered user says their normal vhost was not applied after connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Confirm whether they are authenticated, whether SASL succeeded, and what HostServ reports. Do not expose the original host publicly. Escalate a configuration problem if necessary.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Account Impersonation ==&lt;br /&gt;
&lt;br /&gt;
A nickname resembling NickServ sends private messages asking users for their passwords.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat this as a serious phishing and impersonation incident. Warn affected users without repeating sensitive information, preserve evidence, and escalate immediately.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Services Disconnection ==&lt;br /&gt;
&lt;br /&gt;
NickServ, ChanServ, and HostServ disappear at the same time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat it as a possible Services outage. Notify operational staff, avoid unnecessary permanent changes, record the time, and wait for proper synchronization after Services return.&lt;br /&gt;
&lt;br /&gt;
= 35. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of IRC Services?&lt;br /&gt;
# What is the difference between a nickname and a registered account?&lt;br /&gt;
# Why must staff never ask for a user’s password?&lt;br /&gt;
# How should command syntax be verified?&lt;br /&gt;
# What information may NickServ INFO provide?&lt;br /&gt;
# What does SASL do?&lt;br /&gt;
# Why should SASL be used over verified TLS?&lt;br /&gt;
# What should a user update after changing their account password?&lt;br /&gt;
# Why might a user’s nickname remain connected after they disconnect?&lt;br /&gt;
# What is the safe nickname-recovery process?&lt;br /&gt;
# What evidence is insufficient by itself for administrative account recovery?&lt;br /&gt;
# What are grouped nicknames?&lt;br /&gt;
# What does ChanServ provide?&lt;br /&gt;
# What requirements may apply to channel registration?&lt;br /&gt;
# What is the difference between live `+o` and ChanServ access?&lt;br /&gt;
# Why should persistent access be granted to accounts carefully?&lt;br /&gt;
# What is a mode lock?&lt;br /&gt;
# What risk can an incorrect mode lock create?&lt;br /&gt;
# Why is an AKICK entry more sensitive than a temporary kick?&lt;br /&gt;
# Does channel founder status provide network authority?&lt;br /&gt;
# How should a channel ownership dispute be handled?&lt;br /&gt;
# What is a vhost?&lt;br /&gt;
# Does a vhost prove that someone is staff?&lt;br /&gt;
# What is OperServ?&lt;br /&gt;
# Who should have OperServ access?&lt;br /&gt;
# Name five situations requiring Services Administrator escalation.&lt;br /&gt;
# What are common signs of a Services outage?&lt;br /&gt;
# Why should staff avoid forcing permanent access changes during an outage?&lt;br /&gt;
# What should an escalation report exclude?&lt;br /&gt;
# Why must account and channel information be handled confidentially?&lt;br /&gt;
&lt;br /&gt;
= 36. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;700–1,000 words&#039;&#039;&#039; analyzing the following case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A user named `ProjectLead` reports that they have lost access to their registered account and official project channel. Another account currently holds founder access. The user provides an old screenshot and says several friends can confirm that the project belongs to them. They ask a trainee to change the founder immediately because an important event begins in one hour.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your response must explain:&lt;br /&gt;
&lt;br /&gt;
* What facts have been established.&lt;br /&gt;
* What remains unverified.&lt;br /&gt;
* Why the nickname alone is insufficient.&lt;br /&gt;
* Whether the screenshot and friend statements establish Services ownership.&lt;br /&gt;
* What information may be collected safely.&lt;br /&gt;
* Why the trainee must not change the founder.&lt;br /&gt;
* How the case should be escalated.&lt;br /&gt;
* What temporary assistance may be appropriate.&lt;br /&gt;
* How conflicts of interest should be handled.&lt;br /&gt;
* What should be recorded in the final decision.&lt;br /&gt;
&lt;br /&gt;
= 37. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Use Services help commands.&lt;br /&gt;
* Configure or demonstrate secure account authentication.&lt;br /&gt;
* Complete all authorized practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;23 of the 30&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate safe password handling.&lt;br /&gt;
* Demonstrate understanding of account and channel ownership boundaries.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 38. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| NickServ knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| ChanServ knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| SASL and account security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Channel access and ownership&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| HostServ and other Services&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Support procedure&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and judgment&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Request or expose passwords.&lt;br /&gt;
* Make unauthorized ownership changes.&lt;br /&gt;
* Confuse a nickname with verified account ownership.&lt;br /&gt;
* Use Services access to bypass channel management.&lt;br /&gt;
* Ignore compromised-account indicators.&lt;br /&gt;
* Attempt restricted OperServ actions.&lt;br /&gt;
&lt;br /&gt;
= 39. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| NickServ help&lt;br /&gt;
| `/MSG NickServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Command-specific help&lt;br /&gt;
| `/MSG NickServ HELP command`&lt;br /&gt;
|-&lt;br /&gt;
| Nickname information&lt;br /&gt;
| `/MSG NickServ INFO nickname`&lt;br /&gt;
|-&lt;br /&gt;
| ChanServ help&lt;br /&gt;
| `/MSG ChanServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Channel information&lt;br /&gt;
| `/MSG ChanServ INFO #channel`&lt;br /&gt;
|-&lt;br /&gt;
| Channel access help&lt;br /&gt;
| `/MSG ChanServ HELP ACCESS`&lt;br /&gt;
|-&lt;br /&gt;
| AKICK help&lt;br /&gt;
| `/MSG ChanServ HELP AKICK`&lt;br /&gt;
|-&lt;br /&gt;
| HostServ help&lt;br /&gt;
| `/MSG HostServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| MemoServ help&lt;br /&gt;
| `/MSG MemoServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| BotServ help&lt;br /&gt;
| `/MSG BotServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Verify logged-in account&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 40. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Services]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Services&amp;diff=388</id>
		<title>DWIRC:Staff Training/IRC Services</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Services&amp;diff=388"/>
		<updated>2026-08-08T17:39:30Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 5 — IRC Services}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 5: IRC Services&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 5 of 10 |- ! Difficulty | Intermediate |- ! Estimated...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 5 — IRC Services}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 5: IRC Services&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 5 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, support exercises, and Services scenarios&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC uses IRC Services to provide registered accounts, channel registration, access control, virtual hosts, and other persistent network features.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC currently uses &#039;&#039;&#039;Anope Services&#039;&#039;&#039;. Available commands depend on the installed Anope version, loaded modules, and DarkWorld configuration.&lt;br /&gt;
&lt;br /&gt;
This module teaches candidates how to:&lt;br /&gt;
&lt;br /&gt;
* Understand IRC Services.&lt;br /&gt;
* Assist users with NickServ.&lt;br /&gt;
* Assist with registered channels through ChanServ.&lt;br /&gt;
* Understand HostServ and virtual hosts.&lt;br /&gt;
* Recognize MemoServ and BotServ functions where enabled.&lt;br /&gt;
* Distinguish normal user support from Services administration.&lt;br /&gt;
* Handle account and channel disputes safely.&lt;br /&gt;
* Protect passwords and recovery information.&lt;br /&gt;
* Escalate high-risk Services requests.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Always confirm current command syntax with the service’s own `HELP` command. Do not copy administrative commands from another IRC network or a different Anope version.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the purpose of IRC Services.&lt;br /&gt;
# Distinguish a nickname from a registered account.&lt;br /&gt;
# Help a user register and identify securely.&lt;br /&gt;
# Explain SASL authentication.&lt;br /&gt;
# Use NickServ information commands safely.&lt;br /&gt;
# Explain ChanServ channel registration and access.&lt;br /&gt;
# Distinguish channel status from persistent Services access.&lt;br /&gt;
# Understand HostServ and virtual hosts.&lt;br /&gt;
# Recognize common account and channel problems.&lt;br /&gt;
# Protect passwords and recovery information.&lt;br /&gt;
# Identify requests requiring Services Administrator escalation.&lt;br /&gt;
# Avoid unauthorized account or channel modifications.&lt;br /&gt;
&lt;br /&gt;
= 1. What Are IRC Services? =&lt;br /&gt;
&lt;br /&gt;
IRC Services are specialized systems connected to the IRC network.&lt;br /&gt;
&lt;br /&gt;
They provide persistent features that ordinary IRC servers do not maintain by themselves.&lt;br /&gt;
&lt;br /&gt;
Services may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Service&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;NickServ&#039;&#039;&#039;&lt;br /&gt;
| Registered accounts, nickname management, and authentication&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;ChanServ&#039;&#039;&#039;&lt;br /&gt;
| Channel registration, access, settings, and enforcement&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;MemoServ&#039;&#039;&#039;&lt;br /&gt;
| Offline messages between registered accounts, where enabled&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;HostServ&#039;&#039;&#039;&lt;br /&gt;
| Virtual hosts and cloaks&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;BotServ&#039;&#039;&#039;&lt;br /&gt;
| Services bots and channel bot features, where enabled&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;OperServ&#039;&#039;&#039;&lt;br /&gt;
| Administrative Services and network operations&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Services commands are generally sent through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ServiceName COMMAND parameters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Many clients also support aliases such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NS HELP&lt;br /&gt;
/CS HELP&lt;br /&gt;
/HS HELP&lt;br /&gt;
/MS HELP&lt;br /&gt;
/BS HELP&lt;br /&gt;
/OS HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Aliases depend on the IRC client. The full `/MSG` form is generally more portable.&lt;br /&gt;
&lt;br /&gt;
= 2. Services Security =&lt;br /&gt;
&lt;br /&gt;
Services accounts may control:&lt;br /&gt;
&lt;br /&gt;
* Registered nicknames.&lt;br /&gt;
* Registered channels.&lt;br /&gt;
* Channel access lists.&lt;br /&gt;
* Channel founder privileges.&lt;br /&gt;
* Virtual hosts.&lt;br /&gt;
* Memos.&lt;br /&gt;
* Other persistent network resources.&lt;br /&gt;
&lt;br /&gt;
A compromised Services account can therefore cause serious damage.&lt;br /&gt;
&lt;br /&gt;
Staff must never ask users to provide:&lt;br /&gt;
&lt;br /&gt;
* Their account password.&lt;br /&gt;
* A SASL password.&lt;br /&gt;
* A password-reset code.&lt;br /&gt;
* An email-verification code.&lt;br /&gt;
* A two-factor authentication secret.&lt;br /&gt;
* A private key or certificate.&lt;br /&gt;
* A screenshot showing credentials.&lt;br /&gt;
&lt;br /&gt;
Staff should never identify to a user’s account on the user’s behalf.&lt;br /&gt;
&lt;br /&gt;
== Correct Support Approach ==&lt;br /&gt;
&lt;br /&gt;
Staff should:&lt;br /&gt;
&lt;br /&gt;
# Explain the official command or recovery process.&lt;br /&gt;
# Direct the user to a private Services query.&lt;br /&gt;
# Confirm that the service nickname is correct.&lt;br /&gt;
# Avoid asking the user to paste credentials.&lt;br /&gt;
# Verify ownership through approved procedures.&lt;br /&gt;
# Escalate unresolved ownership cases.&lt;br /&gt;
# Record administrative intervention where required.&lt;br /&gt;
&lt;br /&gt;
= 3. Nicknames and Registered Accounts =&lt;br /&gt;
&lt;br /&gt;
A visible nickname and a registered account are related but separate.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Information&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| Current nickname&lt;br /&gt;
| Falcon-Away&lt;br /&gt;
|-&lt;br /&gt;
| Registered account&lt;br /&gt;
| Falcon&lt;br /&gt;
|-&lt;br /&gt;
| Ident&lt;br /&gt;
| falcon&lt;br /&gt;
|-&lt;br /&gt;
| Displayed hostname&lt;br /&gt;
| User.DarkWorld.Network&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A user may:&lt;br /&gt;
&lt;br /&gt;
* Use a nickname that is not registered.&lt;br /&gt;
* Use a nickname associated with an account but remain unidentified.&lt;br /&gt;
* Authenticate to one account while using another grouped nickname.&lt;br /&gt;
* Change nicknames while remaining authenticated.&lt;br /&gt;
* Connect through multiple clients using the same account, subject to policy.&lt;br /&gt;
&lt;br /&gt;
Where identity matters, staff should check the registered account rather than relying solely on the current nickname.&lt;br /&gt;
&lt;br /&gt;
= 4. NickServ Help =&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Help for a specific command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP REGISTER&lt;br /&gt;
/MSG NickServ HELP IDENTIFY&lt;br /&gt;
/MSG NickServ HELP INFO&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Candidates should use current Services help before instructing a user.&lt;br /&gt;
&lt;br /&gt;
= 5. Registering a NickServ Account =&lt;br /&gt;
&lt;br /&gt;
The normal registration syntax may resemble:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ REGISTER password email@example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact syntax must be confirmed with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP REGISTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may require a valid email address and confirmation before registration becomes complete.&lt;br /&gt;
&lt;br /&gt;
== Secure Registration Guidance ==&lt;br /&gt;
&lt;br /&gt;
Users should:&lt;br /&gt;
&lt;br /&gt;
* Use a strong and unique password.&lt;br /&gt;
* Use an email address they control.&lt;br /&gt;
* Enter the command in the NickServ query.&lt;br /&gt;
* Verify that the recipient is the official NickServ.&lt;br /&gt;
* Complete any required email confirmation.&lt;br /&gt;
* Configure SASL after registration.&lt;br /&gt;
* Avoid reusing passwords from other services.&lt;br /&gt;
&lt;br /&gt;
== Staff Must Not ==&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Choose the user’s password.&lt;br /&gt;
* Ask the user to post the registration command publicly.&lt;br /&gt;
* Register accounts on behalf of users without authorization.&lt;br /&gt;
* Use a temporary password known to staff unless an approved recovery procedure specifically requires it.&lt;br /&gt;
* Bypass email verification without authority.&lt;br /&gt;
* Promise that a requested nickname will be granted.&lt;br /&gt;
&lt;br /&gt;
= 6. Email Confirmation =&lt;br /&gt;
&lt;br /&gt;
Where email confirmation is enabled, NickServ may provide a confirmation code or instructions.&lt;br /&gt;
&lt;br /&gt;
The user should check:&lt;br /&gt;
&lt;br /&gt;
* Inbox.&lt;br /&gt;
* Spam or junk folder.&lt;br /&gt;
* Whether the address was entered correctly.&lt;br /&gt;
* Whether the email provider delayed the message.&lt;br /&gt;
* Whether the account is still awaiting confirmation.&lt;br /&gt;
&lt;br /&gt;
Users should follow the exact instructions provided by NickServ and the confirmation email.&lt;br /&gt;
&lt;br /&gt;
Staff should never ask a user to post the confirmation code in a public channel.&lt;br /&gt;
&lt;br /&gt;
If confirmation repeatedly fails, staff should collect:&lt;br /&gt;
&lt;br /&gt;
* Account name.&lt;br /&gt;
* Approximate registration time.&lt;br /&gt;
* Non-sensitive error message.&lt;br /&gt;
* Whether any email arrived.&lt;br /&gt;
* The email domain, if relevant and appropriate.&lt;br /&gt;
&lt;br /&gt;
The case may then be escalated without requesting the full private email address publicly.&lt;br /&gt;
&lt;br /&gt;
= 7. Identifying to NickServ =&lt;br /&gt;
&lt;br /&gt;
A common identification command is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ IDENTIFY account password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on Services configuration, a user already using the account’s nickname may be able to use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ IDENTIFY password&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The current syntax should be checked:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP IDENTIFY&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Common Identification Problems ==&lt;br /&gt;
&lt;br /&gt;
* Incorrect account name.&lt;br /&gt;
* Incorrect password.&lt;br /&gt;
* Unconfirmed registration.&lt;br /&gt;
* Typing the command into a channel.&lt;br /&gt;
* Sending the command to an impersonating nickname.&lt;br /&gt;
* Client automatically identifying with outdated credentials.&lt;br /&gt;
* SASL and manual identification using different passwords.&lt;br /&gt;
* Account suspension or restriction.&lt;br /&gt;
* Temporary Services unavailability.&lt;br /&gt;
&lt;br /&gt;
Staff should ask for the exact error message, not the password.&lt;br /&gt;
&lt;br /&gt;
= 8. SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
SASL authenticates a user during connection.&lt;br /&gt;
&lt;br /&gt;
Recommended general settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Connection security&lt;br /&gt;
| TLS enabled&lt;br /&gt;
|-&lt;br /&gt;
| SASL&lt;br /&gt;
| Enabled&lt;br /&gt;
|-&lt;br /&gt;
| Mechanism&lt;br /&gt;
| PLAIN, where supported over verified TLS&lt;br /&gt;
|-&lt;br /&gt;
| Username&lt;br /&gt;
| Registered NickServ account&lt;br /&gt;
|-&lt;br /&gt;
| Password&lt;br /&gt;
| NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Benefits include:&lt;br /&gt;
&lt;br /&gt;
* Authentication before joining channels.&lt;br /&gt;
* Immediate recognition by Services.&lt;br /&gt;
* Better access to registered-user channels.&lt;br /&gt;
* Reduced nickname-enforcement problems.&lt;br /&gt;
* More reliable account-based permissions.&lt;br /&gt;
&lt;br /&gt;
When SASL fails, staff should check:&lt;br /&gt;
&lt;br /&gt;
# The account name.&lt;br /&gt;
# Whether the account is confirmed.&lt;br /&gt;
# Whether TLS is enabled.&lt;br /&gt;
# The selected SASL mechanism.&lt;br /&gt;
# Whether the client saved an old password.&lt;br /&gt;
# The exact server error.&lt;br /&gt;
# Whether manual identification works.&lt;br /&gt;
&lt;br /&gt;
The user should make these checks privately and must not reveal the password.&lt;br /&gt;
&lt;br /&gt;
= 9. NickServ INFO =&lt;br /&gt;
&lt;br /&gt;
To view public account or nickname information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ INFO nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The response may show:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Registration date.&lt;br /&gt;
* Last-seen information.&lt;br /&gt;
* Account options.&lt;br /&gt;
* Grouped nickname information.&lt;br /&gt;
* Virtual host.&lt;br /&gt;
* Other public metadata.&lt;br /&gt;
&lt;br /&gt;
The exact output depends on permissions and configuration.&lt;br /&gt;
&lt;br /&gt;
NickServ INFO does not prove a person’s legal identity.&lt;br /&gt;
&lt;br /&gt;
Staff must not disclose additional restricted information merely because they can access it.&lt;br /&gt;
&lt;br /&gt;
= 10. Account Status =&lt;br /&gt;
&lt;br /&gt;
Where available, a status command may help determine whether a nickname is recognized or identified:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ STATUS nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Current availability and status meanings must be confirmed through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP STATUS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A WHOIS response may also show whether a user is logged into a Services account.&lt;br /&gt;
&lt;br /&gt;
Staff should distinguish:&lt;br /&gt;
&lt;br /&gt;
* Using a registered nickname.&lt;br /&gt;
* Being identified to an account.&lt;br /&gt;
* Being grouped to an account.&lt;br /&gt;
* Owning an external identity with the same name.&lt;br /&gt;
&lt;br /&gt;
= 11. Changing Account Settings =&lt;br /&gt;
&lt;br /&gt;
NickServ may provide commands for changing:&lt;br /&gt;
&lt;br /&gt;
* Password.&lt;br /&gt;
* Email address.&lt;br /&gt;
* Language.&lt;br /&gt;
* Privacy settings.&lt;br /&gt;
* Account protection.&lt;br /&gt;
* Other preferences.&lt;br /&gt;
&lt;br /&gt;
Users should begin with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP SET&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then request help for the specific option.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP SET PASSWORD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Staff should avoid giving remembered syntax for security-sensitive changes unless it has been verified against the current Services help.&lt;br /&gt;
&lt;br /&gt;
After changing a password, the user should also update:&lt;br /&gt;
&lt;br /&gt;
* SASL configuration.&lt;br /&gt;
* Automatic identify commands.&lt;br /&gt;
* IRC bouncer settings.&lt;br /&gt;
* Mobile IRC clients.&lt;br /&gt;
* Any other authorized connection using the account.&lt;br /&gt;
&lt;br /&gt;
= 12. Nickname Recovery =&lt;br /&gt;
&lt;br /&gt;
A registered nickname may remain connected because:&lt;br /&gt;
&lt;br /&gt;
* The user lost their connection.&lt;br /&gt;
* A bouncer is still connected.&lt;br /&gt;
* Another device is connected.&lt;br /&gt;
* Someone else is using the nickname.&lt;br /&gt;
* A stale session remains temporarily.&lt;br /&gt;
* The user is authenticated under another nickname.&lt;br /&gt;
&lt;br /&gt;
NickServ may provide commands such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ RECOVER nickname&lt;br /&gt;
/MSG NickServ RELEASE nickname&lt;br /&gt;
/MSG NickServ GHOST nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Availability and parameters must be verified:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP RECOVER&lt;br /&gt;
/MSG NickServ HELP RELEASE&lt;br /&gt;
/MSG NickServ HELP GHOST&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Recovery Procedure ==&lt;br /&gt;
&lt;br /&gt;
Staff should ask the user to:&lt;br /&gt;
&lt;br /&gt;
# Connect with a temporary nickname.&lt;br /&gt;
# Authenticate to the correct account through SASL or NickServ.&lt;br /&gt;
# Check the nickname’s account information.&lt;br /&gt;
# Use the supported recovery command.&lt;br /&gt;
# Change to the recovered nickname.&lt;br /&gt;
# Review other connected clients or bouncers.&lt;br /&gt;
# Change the password if unauthorized access is suspected.&lt;br /&gt;
&lt;br /&gt;
Staff should not forcibly disconnect a nickname merely because another user claims ownership.&lt;br /&gt;
&lt;br /&gt;
= 13. Lost Account Access =&lt;br /&gt;
&lt;br /&gt;
A user may lose account access because:&lt;br /&gt;
&lt;br /&gt;
* They forgot the password.&lt;br /&gt;
* They lost access to the registered email.&lt;br /&gt;
* The email address is incorrect.&lt;br /&gt;
* The account was compromised.&lt;br /&gt;
* The account was suspended.&lt;br /&gt;
* The user confused the nickname with the account name.&lt;br /&gt;
* The account expired under applicable policy.&lt;br /&gt;
* The account was never confirmed.&lt;br /&gt;
&lt;br /&gt;
== Safe Recovery Principles ==&lt;br /&gt;
&lt;br /&gt;
Account recovery must be based on approved ownership verification.&lt;br /&gt;
&lt;br /&gt;
Staff should not accept as sufficient proof:&lt;br /&gt;
&lt;br /&gt;
* “Everyone knows this is my nickname.”&lt;br /&gt;
* A matching display name.&lt;br /&gt;
* A similar social-media username.&lt;br /&gt;
* Friendship with a staff member.&lt;br /&gt;
* An old screenshot without supporting information.&lt;br /&gt;
* Knowledge of public account details.&lt;br /&gt;
&lt;br /&gt;
Administrative recovery should be handled only by authorized Services staff.&lt;br /&gt;
&lt;br /&gt;
= 14. Grouped Nicknames =&lt;br /&gt;
&lt;br /&gt;
Where enabled, NickServ may allow additional nicknames to be grouped under one account.&lt;br /&gt;
&lt;br /&gt;
General help may be available through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP GROUP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grouped nicknames:&lt;br /&gt;
&lt;br /&gt;
* May be associated with the same account.&lt;br /&gt;
* Do not create separate staff identities.&lt;br /&gt;
* May share account-based channel access.&lt;br /&gt;
* Still require compliance with nickname policies.&lt;br /&gt;
* Must not be used for impersonation or ban evasion.&lt;br /&gt;
&lt;br /&gt;
Staff should confirm the registered account rather than assuming separate grouped nicknames belong to different people.&lt;br /&gt;
&lt;br /&gt;
= 15. ChanServ =&lt;br /&gt;
&lt;br /&gt;
ChanServ manages registered channels.&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common functions include:&lt;br /&gt;
&lt;br /&gt;
* Channel registration.&lt;br /&gt;
* Channel information.&lt;br /&gt;
* Access management.&lt;br /&gt;
* Channel settings.&lt;br /&gt;
* Mode locking.&lt;br /&gt;
* Automatic kicks or bans.&lt;br /&gt;
* Founder and successor management.&lt;br /&gt;
* Topic and channel protection.&lt;br /&gt;
* Channel dropping or transfer.&lt;br /&gt;
&lt;br /&gt;
Some actions are high risk and restricted to channel founders or Services administrators.&lt;br /&gt;
&lt;br /&gt;
= 16. Channel Registration =&lt;br /&gt;
&lt;br /&gt;
The current registration command should be checked:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP REGISTER&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on configuration, a user may need to:&lt;br /&gt;
&lt;br /&gt;
* Be identified to a registered account.&lt;br /&gt;
* Be present in the channel.&lt;br /&gt;
* Hold channel operator status.&lt;br /&gt;
* Meet registration limits.&lt;br /&gt;
* Comply with channel-registration policy.&lt;br /&gt;
* Provide a description.&lt;br /&gt;
* Ensure the channel is not already registered or restricted.&lt;br /&gt;
&lt;br /&gt;
Registration gives persistent Services control, but does not exempt the channel from network policy.&lt;br /&gt;
&lt;br /&gt;
== Staff Support Procedure ==&lt;br /&gt;
&lt;br /&gt;
When a user cannot register a channel:&lt;br /&gt;
&lt;br /&gt;
# Confirm they are identified.&lt;br /&gt;
# Confirm the exact channel name.&lt;br /&gt;
# Check whether the channel is already registered.&lt;br /&gt;
# Check the exact ChanServ response.&lt;br /&gt;
# Check applicable registration requirements.&lt;br /&gt;
# Avoid overriding existing ownership.&lt;br /&gt;
# Escalate disputes or restricted channels.&lt;br /&gt;
&lt;br /&gt;
= 17. ChanServ INFO =&lt;br /&gt;
&lt;br /&gt;
To view channel registration information:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ INFO #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Information may include:&lt;br /&gt;
&lt;br /&gt;
* Registration date.&lt;br /&gt;
* Founder or owning account.&lt;br /&gt;
* Description.&lt;br /&gt;
* Successor.&lt;br /&gt;
* Channel settings.&lt;br /&gt;
* Last-used information.&lt;br /&gt;
* Mode-lock information.&lt;br /&gt;
* Other public registration details.&lt;br /&gt;
&lt;br /&gt;
Restricted information must remain confidential.&lt;br /&gt;
&lt;br /&gt;
= 18. Channel Founder =&lt;br /&gt;
&lt;br /&gt;
The founder is the account with primary Services ownership of a registered channel.&lt;br /&gt;
&lt;br /&gt;
Founder status may provide authority to:&lt;br /&gt;
&lt;br /&gt;
* Manage channel access.&lt;br /&gt;
* Change channel settings.&lt;br /&gt;
* Assign a successor.&lt;br /&gt;
* Manage mode locks.&lt;br /&gt;
* Drop or transfer the channel.&lt;br /&gt;
* Perform other high-level ChanServ actions.&lt;br /&gt;
&lt;br /&gt;
Channel founder status is not the same as:&lt;br /&gt;
&lt;br /&gt;
* IRC operator status.&lt;br /&gt;
* Network ownership.&lt;br /&gt;
* Services Administrator status.&lt;br /&gt;
* Authority over other channels.&lt;br /&gt;
* Authority over other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
Founder-related changes are security-sensitive and must be handled carefully.&lt;br /&gt;
&lt;br /&gt;
= 19. Channel Access =&lt;br /&gt;
&lt;br /&gt;
ChanServ access provides persistent privileges based on registered accounts or configured entries.&lt;br /&gt;
&lt;br /&gt;
Current help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP ACCESS&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on configuration, access may use:&lt;br /&gt;
&lt;br /&gt;
* Numeric access levels.&lt;br /&gt;
* Named privileges.&lt;br /&gt;
* Flags.&lt;br /&gt;
* Templates.&lt;br /&gt;
* Founder-defined access groups.&lt;br /&gt;
&lt;br /&gt;
Common operations may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ ACCESS #channel LIST&lt;br /&gt;
/MSG ChanServ ACCESS #channel ADD account level&lt;br /&gt;
/MSG ChanServ ACCESS #channel DEL account&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exact syntax and permitted levels must be verified.&lt;br /&gt;
&lt;br /&gt;
== Services Access vs Live Channel Status ==&lt;br /&gt;
&lt;br /&gt;
Services access and live channel status are different.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* `+o` is the user’s current channel operator status.&lt;br /&gt;
* ChanServ access may allow the user to obtain `+o` automatically or on request.&lt;br /&gt;
* Removing live `+o` may not remove the persistent ChanServ access.&lt;br /&gt;
* Removing ChanServ access may not immediately remove a currently held mode.&lt;br /&gt;
&lt;br /&gt;
Staff must identify whether a problem concerns:&lt;br /&gt;
&lt;br /&gt;
* A temporary live mode.&lt;br /&gt;
* A persistent access-list entry.&lt;br /&gt;
* Founder ownership.&lt;br /&gt;
* An account compromise.&lt;br /&gt;
* A channel-mode lock.&lt;br /&gt;
&lt;br /&gt;
= 20. Channel Access Security =&lt;br /&gt;
&lt;br /&gt;
Channel founders should:&lt;br /&gt;
&lt;br /&gt;
* Grant access to registered accounts rather than uncertain masks where practical.&lt;br /&gt;
* Assign only necessary privileges.&lt;br /&gt;
* Review access lists periodically.&lt;br /&gt;
* Remove former staff promptly.&lt;br /&gt;
* Avoid giving founder-equivalent access unnecessarily.&lt;br /&gt;
* Confirm account names carefully.&lt;br /&gt;
* Document major access changes.&lt;br /&gt;
* Use a successor where appropriate.&lt;br /&gt;
* Secure their own NickServ account.&lt;br /&gt;
&lt;br /&gt;
Before adding access, verify:&lt;br /&gt;
&lt;br /&gt;
# The exact channel.&lt;br /&gt;
# The exact account.&lt;br /&gt;
# The requested privilege.&lt;br /&gt;
# The requester’s authority.&lt;br /&gt;
# Whether the access is temporary or permanent.&lt;br /&gt;
# Whether a lower level is sufficient.&lt;br /&gt;
&lt;br /&gt;
= 21. Mode Lock =&lt;br /&gt;
&lt;br /&gt;
ChanServ may enforce selected channel modes through a mode-lock system.&lt;br /&gt;
&lt;br /&gt;
Help may be available through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP SET MLOCK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A mode lock can:&lt;br /&gt;
&lt;br /&gt;
* Require specified modes.&lt;br /&gt;
* Prevent specified modes.&lt;br /&gt;
* Restore channel modes after unauthorized changes.&lt;br /&gt;
* Apply mode parameters such as a limit or key.&lt;br /&gt;
&lt;br /&gt;
Incorrect mode locks may:&lt;br /&gt;
&lt;br /&gt;
* Prevent legitimate changes.&lt;br /&gt;
* Lock users out.&lt;br /&gt;
* Conflict with emergency moderation.&lt;br /&gt;
* Expose or mishandle channel keys.&lt;br /&gt;
* Cause repeated mode changes.&lt;br /&gt;
&lt;br /&gt;
Only authorized channel management or Services staff should change mode locks.&lt;br /&gt;
&lt;br /&gt;
= 22. ChanServ AKICK =&lt;br /&gt;
&lt;br /&gt;
An automatic-kick list may prevent matching users from remaining in a registered channel.&lt;br /&gt;
&lt;br /&gt;
Current help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP AKICK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible operations may include adding, deleting, and listing entries.&lt;br /&gt;
&lt;br /&gt;
An AKICK entry can be more persistent than a normal live channel ban.&lt;br /&gt;
&lt;br /&gt;
Before adding one, consider:&lt;br /&gt;
&lt;br /&gt;
* The accuracy of the mask or account.&lt;br /&gt;
* Whether the restriction should be temporary.&lt;br /&gt;
* The risk to users on shared hosts.&lt;br /&gt;
* Whether channel policy supports the action.&lt;br /&gt;
* Whether the requester has authority.&lt;br /&gt;
* Whether a normal channel ban is sufficient.&lt;br /&gt;
&lt;br /&gt;
Trainees must not modify another channel’s AKICK list without authorization.&lt;br /&gt;
&lt;br /&gt;
= 23. ChanServ OP and Status Commands =&lt;br /&gt;
&lt;br /&gt;
ChanServ may provide commands for granting or removing channel status.&lt;br /&gt;
&lt;br /&gt;
Possible help topics include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ HELP OP&lt;br /&gt;
/MSG ChanServ HELP DEOP&lt;br /&gt;
/MSG ChanServ HELP VOICE&lt;br /&gt;
/MSG ChanServ HELP DEVOICE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Staff should not use Services to obtain channel status unless their account has legitimate access and there is an authorized operational reason.&lt;br /&gt;
&lt;br /&gt;
Services commands must not be used to bypass channel management.&lt;br /&gt;
&lt;br /&gt;
= 24. Dropping or Transferring a Channel =&lt;br /&gt;
&lt;br /&gt;
Dropping or changing ownership of a registered channel is a high-risk action.&lt;br /&gt;
&lt;br /&gt;
It can result in:&lt;br /&gt;
&lt;br /&gt;
* Loss of access lists.&lt;br /&gt;
* Loss of settings.&lt;br /&gt;
* Channel takeover.&lt;br /&gt;
* Disruption to a community or project.&lt;br /&gt;
* Difficult ownership disputes.&lt;br /&gt;
&lt;br /&gt;
Trainees and ordinary support staff must never:&lt;br /&gt;
&lt;br /&gt;
* Drop a user’s channel for them.&lt;br /&gt;
* Change a founder based only on a verbal claim.&lt;br /&gt;
* Transfer a channel to resolve a personal dispute.&lt;br /&gt;
* bypass the approved ownership-review process.&lt;br /&gt;
* Ask a user to post founder credentials.&lt;br /&gt;
&lt;br /&gt;
Such requests must be escalated to authorized Services administration.&lt;br /&gt;
&lt;br /&gt;
= 25. Channel Ownership Disputes =&lt;br /&gt;
&lt;br /&gt;
A dispute may involve:&lt;br /&gt;
&lt;br /&gt;
* A founder who is absent.&lt;br /&gt;
* A compromised founder account.&lt;br /&gt;
* Former project staff retaining access.&lt;br /&gt;
* Competing claims of project ownership.&lt;br /&gt;
* A channel that expired and was re-registered.&lt;br /&gt;
* A founder who transferred access informally.&lt;br /&gt;
* A registered project’s official identity.&lt;br /&gt;
* A staff member using override access.&lt;br /&gt;
&lt;br /&gt;
== Required Approach ==&lt;br /&gt;
&lt;br /&gt;
# Preserve the current state.&lt;br /&gt;
# Avoid making irreversible changes.&lt;br /&gt;
# Identify the registered founder account.&lt;br /&gt;
# Collect relevant dates and records.&lt;br /&gt;
# Separate channel ownership from external project ownership.&lt;br /&gt;
# Check applicable channel-registration policy.&lt;br /&gt;
# Disclose any staff conflict of interest.&lt;br /&gt;
# Escalate to authorized Services management.&lt;br /&gt;
# Record the final decision and reason.&lt;br /&gt;
&lt;br /&gt;
External ownership of a domain, business, or social-media account may be relevant, but it does not automatically replace the Services ownership-review process.&lt;br /&gt;
&lt;br /&gt;
= 26. HostServ and Virtual Hosts =&lt;br /&gt;
&lt;br /&gt;
HostServ manages virtual hosts, commonly called &#039;&#039;&#039;vhosts&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A vhost replaces or supplements the displayed hostname with an approved identity.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may automatically apply an approved vhost when a user registers or identifies, according to current configuration.&lt;br /&gt;
&lt;br /&gt;
Common user help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG HostServ HELP&lt;br /&gt;
/MSG HostServ HELP ON&lt;br /&gt;
/MSG HostServ HELP OFF&lt;br /&gt;
/MSG HostServ HELP REQUEST&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Available commands depend on configuration.&lt;br /&gt;
&lt;br /&gt;
== Vhost Principles ==&lt;br /&gt;
&lt;br /&gt;
A vhost:&lt;br /&gt;
&lt;br /&gt;
* Improves privacy by hiding the original displayed host.&lt;br /&gt;
* Can show an approved identity or affiliation.&lt;br /&gt;
* Does not prove a legal identity by itself.&lt;br /&gt;
* Does not provide staff authority.&lt;br /&gt;
* Does not exempt a user from rules.&lt;br /&gt;
* Must comply with naming and impersonation policies.&lt;br /&gt;
* Must not falsely represent an official DarkWorld role or project.&lt;br /&gt;
&lt;br /&gt;
Administrative vhost assignment must be performed only by authorized staff.&lt;br /&gt;
&lt;br /&gt;
= 27. MemoServ =&lt;br /&gt;
&lt;br /&gt;
MemoServ may allow registered users to send messages that can be read later.&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG MemoServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible functions include:&lt;br /&gt;
&lt;br /&gt;
* Sending a memo.&lt;br /&gt;
* Listing memos.&lt;br /&gt;
* Reading a memo.&lt;br /&gt;
* Deleting a memo.&lt;br /&gt;
* Managing memo notifications.&lt;br /&gt;
&lt;br /&gt;
Memos should not be used to send:&lt;br /&gt;
&lt;br /&gt;
* Passwords.&lt;br /&gt;
* Authentication tokens.&lt;br /&gt;
* Private keys.&lt;br /&gt;
* Unapproved mass advertising.&lt;br /&gt;
* Harassment.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Sensitive evidence without an approved process.&lt;br /&gt;
&lt;br /&gt;
Availability depends on the current Services configuration.&lt;br /&gt;
&lt;br /&gt;
= 28. BotServ =&lt;br /&gt;
&lt;br /&gt;
BotServ may provide Services-managed bots for registered channels.&lt;br /&gt;
&lt;br /&gt;
General help:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG BotServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Possible features include:&lt;br /&gt;
&lt;br /&gt;
* Assigning an approved Services bot.&lt;br /&gt;
* Channel greetings.&lt;br /&gt;
* Bad-word controls.&lt;br /&gt;
* Kick settings.&lt;br /&gt;
* Fantasy commands.&lt;br /&gt;
* Other channel automation.&lt;br /&gt;
&lt;br /&gt;
BotServ features must not replace good moderation judgment.&lt;br /&gt;
&lt;br /&gt;
A channel’s use of BotServ remains subject to network policy.&lt;br /&gt;
&lt;br /&gt;
= 29. OperServ =&lt;br /&gt;
&lt;br /&gt;
OperServ provides high-level Services administration.&lt;br /&gt;
&lt;br /&gt;
It may be used for:&lt;br /&gt;
&lt;br /&gt;
* Services administration.&lt;br /&gt;
* Account suspension.&lt;br /&gt;
* Channel suspension.&lt;br /&gt;
* Services database operations.&lt;br /&gt;
* Network restrictions.&lt;br /&gt;
* Administrative overrides.&lt;br /&gt;
* Services maintenance.&lt;br /&gt;
* Other privileged operations.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fdecec; border-left:4px solid #dc2626; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Restricted area:&#039;&#039;&#039; OperServ commands are not part of ordinary candidate training. Knowledge of a command does not authorize its use.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
OperServ access should require:&lt;br /&gt;
&lt;br /&gt;
* A specific operational role.&lt;br /&gt;
* Management approval.&lt;br /&gt;
* Strong account security.&lt;br /&gt;
* Least-privilege permissions.&lt;br /&gt;
* Appropriate logging.&lt;br /&gt;
* Specialist training.&lt;br /&gt;
* Review of important actions.&lt;br /&gt;
&lt;br /&gt;
= 30. Services Administrator Escalation =&lt;br /&gt;
&lt;br /&gt;
Escalate when a case involves:&lt;br /&gt;
&lt;br /&gt;
* Lost access without normal recovery options.&lt;br /&gt;
* A compromised account.&lt;br /&gt;
* Account suspension.&lt;br /&gt;
* Founder or channel ownership changes.&lt;br /&gt;
* Channel transfer or drop requests.&lt;br /&gt;
* Services impersonation.&lt;br /&gt;
* Suspected Services database problems.&lt;br /&gt;
* Incorrect automatic vhosts.&lt;br /&gt;
* Administrative access changes.&lt;br /&gt;
* Large-scale Services failure.&lt;br /&gt;
* A disputed account or project identity.&lt;br /&gt;
* An action affecting multiple users or channels.&lt;br /&gt;
* Requests for confidential Services information.&lt;br /&gt;
&lt;br /&gt;
The escalation should include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Date and time:&lt;br /&gt;
Requesting user:&lt;br /&gt;
Current nickname:&lt;br /&gt;
Claimed account:&lt;br /&gt;
Affected channel:&lt;br /&gt;
Exact Services response:&lt;br /&gt;
Actions already attempted:&lt;br /&gt;
Relevant public information:&lt;br /&gt;
Evidence available:&lt;br /&gt;
Security concern:&lt;br /&gt;
Requested outcome:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not include passwords, recovery codes, or authentication secrets.&lt;br /&gt;
&lt;br /&gt;
= 31. Services Outage Recognition =&lt;br /&gt;
&lt;br /&gt;
A Services outage may appear as:&lt;br /&gt;
&lt;br /&gt;
* NickServ and ChanServ disconnecting.&lt;br /&gt;
* Identification commands receiving no response.&lt;br /&gt;
* Users losing automatically assigned channel status.&lt;br /&gt;
* Registered nicknames not being enforced.&lt;br /&gt;
* Channel modes changing unexpectedly.&lt;br /&gt;
* SASL authentication failing for many users.&lt;br /&gt;
* HostServ vhosts not being applied.&lt;br /&gt;
* Services reconnecting repeatedly.&lt;br /&gt;
&lt;br /&gt;
If many users are affected:&lt;br /&gt;
&lt;br /&gt;
# Do not advise everyone to reset passwords.&lt;br /&gt;
# Check whether Services are connected.&lt;br /&gt;
# Record the approximate start time.&lt;br /&gt;
# Notify authorized operational staff.&lt;br /&gt;
# Reassure users without making unsupported promises.&lt;br /&gt;
# Avoid permanent access changes during unstable synchronization.&lt;br /&gt;
# Confirm recovery after Services return.&lt;br /&gt;
&lt;br /&gt;
= 32. Common Services Support Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Asking for a Password ==&lt;br /&gt;
&lt;br /&gt;
Staff do not need the user’s password to explain the official recovery process.&lt;br /&gt;
&lt;br /&gt;
== Trusting the Current Nickname ==&lt;br /&gt;
&lt;br /&gt;
A nickname alone does not prove account ownership.&lt;br /&gt;
&lt;br /&gt;
== Changing Ownership Too Quickly ==&lt;br /&gt;
&lt;br /&gt;
A founder dispute requires evidence and authorized review.&lt;br /&gt;
&lt;br /&gt;
== Confusing Live Modes With Access ==&lt;br /&gt;
&lt;br /&gt;
Removing `+o` does not necessarily remove persistent ChanServ access.&lt;br /&gt;
&lt;br /&gt;
== Using OperServ for Convenience ==&lt;br /&gt;
&lt;br /&gt;
Administrative commands should not replace normal user procedures.&lt;br /&gt;
&lt;br /&gt;
== Ignoring Other Connected Clients ==&lt;br /&gt;
&lt;br /&gt;
A “stolen” nickname may actually be held by the user’s bouncer, mobile client, or another authorized session.&lt;br /&gt;
&lt;br /&gt;
== Publishing Account Information ==&lt;br /&gt;
&lt;br /&gt;
Restricted Services information must not be posted publicly.&lt;br /&gt;
&lt;br /&gt;
= 33. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
Perform these exercises only with your own training account and an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Services Help ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
/MSG NickServ HELP INFO&lt;br /&gt;
/MSG ChanServ HELP&lt;br /&gt;
/MSG ChanServ HELP INFO&lt;br /&gt;
/MSG HostServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record which commands are currently available without copying confidential account data.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Account Verification ==&lt;br /&gt;
&lt;br /&gt;
Using your own account:&lt;br /&gt;
&lt;br /&gt;
# Run WHOIS on your nickname.&lt;br /&gt;
# Run NickServ INFO on your nickname.&lt;br /&gt;
# Identify the current nickname.&lt;br /&gt;
# Identify the registered account.&lt;br /&gt;
# Explain the difference.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: SASL Configuration ==&lt;br /&gt;
&lt;br /&gt;
Configure SASL in an approved IRC client.&lt;br /&gt;
&lt;br /&gt;
Verify that:&lt;br /&gt;
&lt;br /&gt;
* TLS is enabled.&lt;br /&gt;
* Certificate verification is enabled.&lt;br /&gt;
* Authentication succeeds during connection.&lt;br /&gt;
* WHOIS shows the expected account.&lt;br /&gt;
* No password appears in public output.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Channel Information ==&lt;br /&gt;
&lt;br /&gt;
In an approved training channel:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG ChanServ INFO #ApprovedTrainingChannel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Identify:&lt;br /&gt;
&lt;br /&gt;
* Whether the channel is registered.&lt;br /&gt;
* Founder or owning account, if publicly visible.&lt;br /&gt;
* Registration date, if available.&lt;br /&gt;
* Current settings visible to you.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Live Mode vs Services Access ==&lt;br /&gt;
&lt;br /&gt;
Explain the difference between:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and a persistent ChanServ access-list entry.&lt;br /&gt;
&lt;br /&gt;
No access changes should be performed without trainer authorization.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Recovery Guidance ==&lt;br /&gt;
&lt;br /&gt;
Prepare safe instructions for a user who:&lt;br /&gt;
&lt;br /&gt;
* Is connected with a temporary nickname.&lt;br /&gt;
* Owns a registered account.&lt;br /&gt;
* Cannot use their usual nickname.&lt;br /&gt;
* Still has access to their account password.&lt;br /&gt;
* May have another client connected.&lt;br /&gt;
&lt;br /&gt;
Do not ask the user to reveal the password.&lt;br /&gt;
&lt;br /&gt;
= 34. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Password in Help Channel ==&lt;br /&gt;
&lt;br /&gt;
A user posts their IDENTIFY command, including the password, in `#Help`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not repeat the password. Tell the user to change it immediately through the official NickServ process and update SASL or other saved connections. Escalate if the account may have been compromised.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Founder Claim ==&lt;br /&gt;
&lt;br /&gt;
A user says they created a channel many years ago and wants staff to remove its current founder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not alter ownership based on the claim alone. Collect relevant non-sensitive information and escalate through the authorized ownership-review process.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Missing Channel Operator Status ==&lt;br /&gt;
&lt;br /&gt;
A channel staff member says ChanServ did not automatically give them `+o`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Confirm their registered account, whether they are identified, the channel’s access list, current settings, and the exact Services response. Distinguish persistent access from the current live mode.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Automatic Vhost Missing ==&lt;br /&gt;
&lt;br /&gt;
A registered user says their normal vhost was not applied after connection.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Confirm whether they are authenticated, whether SASL succeeded, and what HostServ reports. Do not expose the original host publicly. Escalate a configuration problem if necessary.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Account Impersonation ==&lt;br /&gt;
&lt;br /&gt;
A nickname resembling NickServ sends private messages asking users for their passwords.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat this as a serious phishing and impersonation incident. Warn affected users without repeating sensitive information, preserve evidence, and escalate immediately.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Services Disconnection ==&lt;br /&gt;
&lt;br /&gt;
NickServ, ChanServ, and HostServ disappear at the same time.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended response:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Treat it as a possible Services outage. Notify operational staff, avoid unnecessary permanent changes, record the time, and wait for proper synchronization after Services return.&lt;br /&gt;
&lt;br /&gt;
= 35. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the purpose of IRC Services?&lt;br /&gt;
# What is the difference between a nickname and a registered account?&lt;br /&gt;
# Why must staff never ask for a user’s password?&lt;br /&gt;
# How should command syntax be verified?&lt;br /&gt;
# What information may NickServ INFO provide?&lt;br /&gt;
# What does SASL do?&lt;br /&gt;
# Why should SASL be used over verified TLS?&lt;br /&gt;
# What should a user update after changing their account password?&lt;br /&gt;
# Why might a user’s nickname remain connected after they disconnect?&lt;br /&gt;
# What is the safe nickname-recovery process?&lt;br /&gt;
# What evidence is insufficient by itself for administrative account recovery?&lt;br /&gt;
# What are grouped nicknames?&lt;br /&gt;
# What does ChanServ provide?&lt;br /&gt;
# What requirements may apply to channel registration?&lt;br /&gt;
# What is the difference between live `+o` and ChanServ access?&lt;br /&gt;
# Why should persistent access be granted to accounts carefully?&lt;br /&gt;
# What is a mode lock?&lt;br /&gt;
# What risk can an incorrect mode lock create?&lt;br /&gt;
# Why is an AKICK entry more sensitive than a temporary kick?&lt;br /&gt;
# Does channel founder status provide network authority?&lt;br /&gt;
# How should a channel ownership dispute be handled?&lt;br /&gt;
# What is a vhost?&lt;br /&gt;
# Does a vhost prove that someone is staff?&lt;br /&gt;
# What is OperServ?&lt;br /&gt;
# Who should have OperServ access?&lt;br /&gt;
# Name five situations requiring Services Administrator escalation.&lt;br /&gt;
# What are common signs of a Services outage?&lt;br /&gt;
# Why should staff avoid forcing permanent access changes during an outage?&lt;br /&gt;
# What should an escalation report exclude?&lt;br /&gt;
# Why must account and channel information be handled confidentially?&lt;br /&gt;
&lt;br /&gt;
= 36. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;700–1,000 words&#039;&#039;&#039; analyzing the following case:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A user named `ProjectLead` reports that they have lost access to their registered account and official project channel. Another account currently holds founder access. The user provides an old screenshot and says several friends can confirm that the project belongs to them. They ask a trainee to change the founder immediately because an important event begins in one hour.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your response must explain:&lt;br /&gt;
&lt;br /&gt;
* What facts have been established.&lt;br /&gt;
* What remains unverified.&lt;br /&gt;
* Why the nickname alone is insufficient.&lt;br /&gt;
* Whether the screenshot and friend statements establish Services ownership.&lt;br /&gt;
* What information may be collected safely.&lt;br /&gt;
* Why the trainee must not change the founder.&lt;br /&gt;
* How the case should be escalated.&lt;br /&gt;
* What temporary assistance may be appropriate.&lt;br /&gt;
* How conflicts of interest should be handled.&lt;br /&gt;
* What should be recorded in the final decision.&lt;br /&gt;
&lt;br /&gt;
= 37. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Use Services help commands.&lt;br /&gt;
* Configure or demonstrate secure account authentication.&lt;br /&gt;
* Complete all authorized practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;23 of the 30&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate safe password handling.&lt;br /&gt;
* Demonstrate understanding of account and channel ownership boundaries.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 38. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| NickServ knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| ChanServ knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| SASL and account security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Channel access and ownership&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| HostServ and other Services&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Support procedure&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and judgment&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Request or expose passwords.&lt;br /&gt;
* Make unauthorized ownership changes.&lt;br /&gt;
* Confuse a nickname with verified account ownership.&lt;br /&gt;
* Use Services access to bypass channel management.&lt;br /&gt;
* Ignore compromised-account indicators.&lt;br /&gt;
* Attempt restricted OperServ actions.&lt;br /&gt;
&lt;br /&gt;
= 39. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| NickServ help&lt;br /&gt;
| `/MSG NickServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Command-specific help&lt;br /&gt;
| `/MSG NickServ HELP command`&lt;br /&gt;
|-&lt;br /&gt;
| Nickname information&lt;br /&gt;
| `/MSG NickServ INFO nickname`&lt;br /&gt;
|-&lt;br /&gt;
| ChanServ help&lt;br /&gt;
| `/MSG ChanServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Channel information&lt;br /&gt;
| `/MSG ChanServ INFO #channel`&lt;br /&gt;
|-&lt;br /&gt;
| Channel access help&lt;br /&gt;
| `/MSG ChanServ HELP ACCESS`&lt;br /&gt;
|-&lt;br /&gt;
| AKICK help&lt;br /&gt;
| `/MSG ChanServ HELP AKICK`&lt;br /&gt;
|-&lt;br /&gt;
| HostServ help&lt;br /&gt;
| `/MSG HostServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| MemoServ help&lt;br /&gt;
| `/MSG MemoServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| BotServ help&lt;br /&gt;
| `/MSG BotServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Verify logged-in account&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 40. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|Module 6 — User Support and Communication]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Services]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_and_Channel_Modes&amp;diff=387</id>
		<title>DWIRC:Staff Training/User and Channel Modes</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_and_Channel_Modes&amp;diff=387"/>
		<updated>2026-08-08T17:35:26Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/User and Channel Modes&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 4 — User and Channel Modes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 4: User and Channel Modes&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 4 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, mode exercises, and moderation scenarios&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
IRC modes control user behavior, channel access, channel visibility, moderation, and security.&lt;br /&gt;
&lt;br /&gt;
A staff candidate must understand:&lt;br /&gt;
&lt;br /&gt;
* User modes.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* Channel access status.&lt;br /&gt;
* Mode parameters.&lt;br /&gt;
* Ban lists.&lt;br /&gt;
* Ban exceptions.&lt;br /&gt;
* Invite exceptions.&lt;br /&gt;
* Moderated channels.&lt;br /&gt;
* Registered-user restrictions.&lt;br /&gt;
* Flood-protection modes.&lt;br /&gt;
* Extended bans.&lt;br /&gt;
* The risks of incorrect or overly broad modes.&lt;br /&gt;
&lt;br /&gt;
Mode availability and exact behavior can depend on the current version and configuration of UnrealIRCd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This lesson explains commonly used modes. Staff must verify current behavior through official DarkWorld documentation, IRC server help, and authorized procedures before applying unfamiliar modes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the difference between user modes and channel modes.&lt;br /&gt;
# View current user and channel modes.&lt;br /&gt;
# Understand channel access levels.&lt;br /&gt;
# Add and remove modes using correct syntax.&lt;br /&gt;
# Explain when a mode requires a parameter.&lt;br /&gt;
# View and interpret channel ban lists.&lt;br /&gt;
# Create reasonably precise ban masks.&lt;br /&gt;
# Explain ban, exception, and invite-exception lists.&lt;br /&gt;
# Use moderated and invite-only modes correctly.&lt;br /&gt;
# Understand registered-user and TLS-related restrictions.&lt;br /&gt;
# Recognize the risks of broad or conflicting modes.&lt;br /&gt;
# Record and reverse temporary mode changes.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is an IRC Mode? =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;mode&#039;&#039;&#039; changes the state or behavior of an IRC user or channel.&lt;br /&gt;
&lt;br /&gt;
Modes are normally represented by letters.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+i&lt;br /&gt;
+m&lt;br /&gt;
+n&lt;br /&gt;
+t&lt;br /&gt;
+k&lt;br /&gt;
+l&lt;br /&gt;
+b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The plus sign adds a mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The minus sign removes a mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some modes require parameters.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +k SecretKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other modes do not require parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. User Modes and Channel Modes =&lt;br /&gt;
&lt;br /&gt;
== User Modes ==&lt;br /&gt;
&lt;br /&gt;
User modes apply to an individual IRC connection.&lt;br /&gt;
&lt;br /&gt;
To view your current user modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A user normally sets only their own permitted user modes.&lt;br /&gt;
&lt;br /&gt;
== Channel Modes ==&lt;br /&gt;
&lt;br /&gt;
Channel modes apply to a channel.&lt;br /&gt;
&lt;br /&gt;
To view the current modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changing channel modes normally requires appropriate channel privileges.&lt;br /&gt;
&lt;br /&gt;
== Important Difference ==&lt;br /&gt;
&lt;br /&gt;
The same letter may have a different meaning when used as a user mode and as a channel mode.&lt;br /&gt;
&lt;br /&gt;
Staff should always identify whether the mode applies to:&lt;br /&gt;
&lt;br /&gt;
* A user.&lt;br /&gt;
* A channel.&lt;br /&gt;
* A channel member’s status.&lt;br /&gt;
* A ban or exception list.&lt;br /&gt;
&lt;br /&gt;
= 3. Mode Syntax =&lt;br /&gt;
&lt;br /&gt;
General syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE target modes parameters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +m&lt;br /&gt;
/MODE #Training -m&lt;br /&gt;
/MODE #Training +o Falcon&lt;br /&gt;
/MODE #Training -o Falcon&lt;br /&gt;
/MODE #Training +b *!*@example.host&lt;br /&gt;
/MODE #Training -b *!*@example.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multiple modes may be combined:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes requiring parameters must have corresponding parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +ov Falcon Eagle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives operator status to `Falcon` and voice to `Eagle`.&lt;br /&gt;
&lt;br /&gt;
A missing or incorrectly ordered parameter may cause the command to fail or affect the wrong target.&lt;br /&gt;
&lt;br /&gt;
= 4. Channel Access Status =&lt;br /&gt;
&lt;br /&gt;
Channel status modes assign privileges to users within a channel.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may use the following hierarchy:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! Common prefix&lt;br /&gt;
! Common title&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| `+v`&lt;br /&gt;
| `+`&lt;br /&gt;
| Voice&lt;br /&gt;
| Allows speaking in a moderated channel.&lt;br /&gt;
|-&lt;br /&gt;
| `+h`&lt;br /&gt;
| `%`&lt;br /&gt;
| Half-operator&lt;br /&gt;
| Provides limited channel moderation privileges.&lt;br /&gt;
|-&lt;br /&gt;
| `+o`&lt;br /&gt;
| `@`&lt;br /&gt;
| Channel operator&lt;br /&gt;
| Provides normal channel-management privileges.&lt;br /&gt;
|-&lt;br /&gt;
| `+a`&lt;br /&gt;
| `&amp;amp;`&lt;br /&gt;
| Channel administrator or protected operator&lt;br /&gt;
| Provides elevated channel-management status.&lt;br /&gt;
|-&lt;br /&gt;
| `+q`&lt;br /&gt;
| `~`&lt;br /&gt;
| Channel owner&lt;br /&gt;
| Represents the highest channel access status.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The displayed prefixes depend on the IRC client.&lt;br /&gt;
&lt;br /&gt;
A user may hold more than one status mode, although the client may display only the highest prefix.&lt;br /&gt;
&lt;br /&gt;
== Voice: +v ==&lt;br /&gt;
&lt;br /&gt;
Grant voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voice commonly allows a user to speak while the channel is moderated with `+m`.&lt;br /&gt;
&lt;br /&gt;
Voice does not make someone a network staff member.&lt;br /&gt;
&lt;br /&gt;
== Half-Operator: +h ==&lt;br /&gt;
&lt;br /&gt;
Grant half-operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +h nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove half-operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -h nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Half-operators may have limited moderation abilities. Exact permissions depend on server and channel configuration.&lt;br /&gt;
&lt;br /&gt;
== Channel Operator: +o ==&lt;br /&gt;
&lt;br /&gt;
Grant operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel operators can normally manage common channel modes, kicks, and bans.&lt;br /&gt;
&lt;br /&gt;
Channel operator status does not provide network-wide authority.&lt;br /&gt;
&lt;br /&gt;
== Channel Administrator: +a ==&lt;br /&gt;
&lt;br /&gt;
Grant administrator status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +a nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove administrator status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -a nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is an elevated channel role and should not be granted casually.&lt;br /&gt;
&lt;br /&gt;
== Channel Owner: +q ==&lt;br /&gt;
&lt;br /&gt;
Grant owner status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +q nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove owner status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -q nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel-owner status should normally correspond to authorized channel ownership and Services access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Remember:&#039;&#039;&#039; Channel status and IRC operator status are separate. A channel owner is not automatically an IRC operator, and an IRC operator is not automatically part of every channel’s management.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 5. Common Channel Modes =&lt;br /&gt;
&lt;br /&gt;
The following modes are commonly available. Current behavior must be verified on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! General meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| `+i`&lt;br /&gt;
| Invite-only channel&lt;br /&gt;
| `/MODE #channel +i`&lt;br /&gt;
|-&lt;br /&gt;
| `+m`&lt;br /&gt;
| Moderated channel&lt;br /&gt;
| `/MODE #channel +m`&lt;br /&gt;
|-&lt;br /&gt;
| `+n`&lt;br /&gt;
| Blocks messages from users outside the channel&lt;br /&gt;
| `/MODE #channel +n`&lt;br /&gt;
|-&lt;br /&gt;
| `+t`&lt;br /&gt;
| Restricts topic changes to authorized channel staff&lt;br /&gt;
| `/MODE #channel +t`&lt;br /&gt;
|-&lt;br /&gt;
| `+s`&lt;br /&gt;
| Secret channel&lt;br /&gt;
| `/MODE #channel +s`&lt;br /&gt;
|-&lt;br /&gt;
| `+p`&lt;br /&gt;
| Private channel, where supported&lt;br /&gt;
| `/MODE #channel +p`&lt;br /&gt;
|-&lt;br /&gt;
| `+k`&lt;br /&gt;
| Requires a channel key&lt;br /&gt;
| `/MODE #channel +k KeyValue`&lt;br /&gt;
|-&lt;br /&gt;
| `+l`&lt;br /&gt;
| Sets a channel user limit&lt;br /&gt;
| `/MODE #channel +l 50`&lt;br /&gt;
|-&lt;br /&gt;
| `+b`&lt;br /&gt;
| Adds an entry to the ban list&lt;br /&gt;
| `/MODE #channel +b mask`&lt;br /&gt;
|-&lt;br /&gt;
| `+e`&lt;br /&gt;
| Adds an entry to the ban-exception list&lt;br /&gt;
| `/MODE #channel +e mask`&lt;br /&gt;
|-&lt;br /&gt;
| `+I`&lt;br /&gt;
| Adds an entry to the invite-exception list&lt;br /&gt;
| `/MODE #channel +I mask`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Invite-Only: +i ==&lt;br /&gt;
&lt;br /&gt;
When `+i` is set, users generally need an invitation or applicable exception to join.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invite a user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/INVITE nickname #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invite-only mode may be useful during:&lt;br /&gt;
&lt;br /&gt;
* An active raid.&lt;br /&gt;
* A private meeting.&lt;br /&gt;
* A controlled training exercise.&lt;br /&gt;
* A temporary security incident.&lt;br /&gt;
&lt;br /&gt;
It should not be left enabled accidentally after an emergency.&lt;br /&gt;
&lt;br /&gt;
== Moderated: +m ==&lt;br /&gt;
&lt;br /&gt;
When `+m` is set, users without the required channel status normally cannot speak.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grant voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moderated mode may help control:&lt;br /&gt;
&lt;br /&gt;
* Message flooding.&lt;br /&gt;
* Disruptive public events.&lt;br /&gt;
* Announcements.&lt;br /&gt;
* Training sessions.&lt;br /&gt;
* Emergency situations.&lt;br /&gt;
&lt;br /&gt;
Moderating a busy public channel affects every unvoiced participant. Staff should review whether the restriction remains necessary.&lt;br /&gt;
&lt;br /&gt;
== No External Messages: +n ==&lt;br /&gt;
&lt;br /&gt;
Mode `+n` normally prevents users who are not in the channel from sending messages to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a common protective mode for public channels.&lt;br /&gt;
&lt;br /&gt;
== Topic Protection: +t ==&lt;br /&gt;
&lt;br /&gt;
Mode `+t` normally restricts topic changes to authorized channel staff.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Secret: +s ==&lt;br /&gt;
&lt;br /&gt;
A secret channel is hidden from normal public channel listings and may be hidden from some user-information responses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Secret does not mean that messages are encrypted end-to-end or that every participant will keep them confidential.&lt;br /&gt;
&lt;br /&gt;
== Channel Key: +k ==&lt;br /&gt;
&lt;br /&gt;
A keyed channel requires users to provide the key when joining.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +k TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Join:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #channel TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -k TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some clients or server versions may allow the key parameter to be omitted when removing it.&lt;br /&gt;
&lt;br /&gt;
Keys should not be posted publicly if the channel is intended to be restricted.&lt;br /&gt;
&lt;br /&gt;
== User Limit: +l ==&lt;br /&gt;
&lt;br /&gt;
Set a maximum number of channel members:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +l 50&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the limit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A limit can help during some incidents but may also prevent legitimate users from joining.&lt;br /&gt;
&lt;br /&gt;
= 6. Additional Security and Control Modes =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide additional channel modes. Availability and behavior depend on the current configuration.&lt;br /&gt;
&lt;br /&gt;
Common examples may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! Common purpose&lt;br /&gt;
|-&lt;br /&gt;
| `+C`&lt;br /&gt;
| Restricts channel CTCP messages&lt;br /&gt;
|-&lt;br /&gt;
| `+c`&lt;br /&gt;
| Restricts color or formatting codes&lt;br /&gt;
|-&lt;br /&gt;
| `+S`&lt;br /&gt;
| Strips color or formatting codes&lt;br /&gt;
|-&lt;br /&gt;
| `+T`&lt;br /&gt;
| Restricts channel notices&lt;br /&gt;
|-&lt;br /&gt;
| `+R`&lt;br /&gt;
| Restricts joining to registered or identified users&lt;br /&gt;
|-&lt;br /&gt;
| `+M`&lt;br /&gt;
| Restricts speaking to registered or identified users&lt;br /&gt;
|-&lt;br /&gt;
| `+z`&lt;br /&gt;
| Restricts joining to secure TLS connections&lt;br /&gt;
|-&lt;br /&gt;
| `+K`&lt;br /&gt;
| Restricts use of the KNOCK command&lt;br /&gt;
|-&lt;br /&gt;
| `+V`&lt;br /&gt;
| Restricts channel invitations&lt;br /&gt;
|-&lt;br /&gt;
| `+N`&lt;br /&gt;
| Restricts nickname changes while in the channel&lt;br /&gt;
|-&lt;br /&gt;
| `+Q`&lt;br /&gt;
| Restricts channel kicks&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The exact meaning may differ by UnrealIRCd version or loaded modules.&lt;br /&gt;
&lt;br /&gt;
Before using an unfamiliar mode:&lt;br /&gt;
&lt;br /&gt;
# Check the current server help.&lt;br /&gt;
# Check the official channel-mode documentation.&lt;br /&gt;
# Confirm the mode’s parameters.&lt;br /&gt;
# Consider how many users will be affected.&lt;br /&gt;
# Confirm that you have authority.&lt;br /&gt;
# Know how to reverse the mode.&lt;br /&gt;
# Record temporary emergency changes.&lt;br /&gt;
&lt;br /&gt;
= 7. Viewing Mode Lists =&lt;br /&gt;
&lt;br /&gt;
== Ban List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ban-Exception List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Invite-Exception List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on the client, list entries may show:&lt;br /&gt;
&lt;br /&gt;
* The mask.&lt;br /&gt;
* Who set it.&lt;br /&gt;
* When it was set.&lt;br /&gt;
&lt;br /&gt;
Staff should check existing entries before adding a duplicate or broader restriction.&lt;br /&gt;
&lt;br /&gt;
= 8. Channel Bans =&lt;br /&gt;
&lt;br /&gt;
A channel ban normally prevents a matching user from joining or participating, depending on server behavior and additional modes.&lt;br /&gt;
&lt;br /&gt;
Add a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +b ExampleNick!*@*&lt;br /&gt;
/MODE #Training +b *!example@*&lt;br /&gt;
/MODE #Training +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ban-Mask Precision ==&lt;br /&gt;
&lt;br /&gt;
Consider the following masks:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! Matches&lt;br /&gt;
! Main limitation&lt;br /&gt;
|-&lt;br /&gt;
| `ExampleNick!*@*`&lt;br /&gt;
| A particular nickname&lt;br /&gt;
| The user may change nickname&lt;br /&gt;
|-&lt;br /&gt;
| `*!example@*`&lt;br /&gt;
| A particular ident&lt;br /&gt;
| Other users may use the same ident&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@Example.User.DarkWorld.Network`&lt;br /&gt;
| A particular displayed host&lt;br /&gt;
| The host may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*.provider.example`&lt;br /&gt;
| A provider or host range&lt;br /&gt;
| May affect many unrelated users&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*`&lt;br /&gt;
| Everyone&lt;br /&gt;
| Extremely broad and normally inappropriate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The safest effective mask depends on:&lt;br /&gt;
&lt;br /&gt;
* The incident.&lt;br /&gt;
* Available identity information.&lt;br /&gt;
* Whether the host is shared.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Whether the action is temporary.&lt;br /&gt;
* The likely effect on innocent users.&lt;br /&gt;
* Available extended-ban features.&lt;br /&gt;
&lt;br /&gt;
= 9. Ban and Kick Order =&lt;br /&gt;
&lt;br /&gt;
A common moderation sequence is:&lt;br /&gt;
&lt;br /&gt;
# Set the appropriate ban.&lt;br /&gt;
# Remove the user with a clear reason.&lt;br /&gt;
# Record the action when required.&lt;br /&gt;
# Review the ban later.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
/KICK #channel ExampleNick Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting the ban first reduces the chance of an immediate return between the kick and ban commands.&lt;br /&gt;
&lt;br /&gt;
This sequence is not appropriate in every situation. Sometimes:&lt;br /&gt;
&lt;br /&gt;
* A warning is sufficient.&lt;br /&gt;
* A quiet or moderated mode is preferable.&lt;br /&gt;
* The user has already left.&lt;br /&gt;
* A Services access restriction is required.&lt;br /&gt;
* A network-level response is needed.&lt;br /&gt;
* A broad host ban would harm innocent users.&lt;br /&gt;
&lt;br /&gt;
= 10. Ban Exceptions: +e =&lt;br /&gt;
&lt;br /&gt;
A ban exception permits a matching user to bypass a matching channel ban.&lt;br /&gt;
&lt;br /&gt;
Add an exception:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove&amp;gt;&lt;br /&gt;
 an exception:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@*.shared-provider.example&lt;br /&gt;
/MODE #channel +e TrustedUser!*@*.shared-provider.example&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exceptions should not be used to hide a poorly designed broad ban when a more precise restriction is available.&lt;br /&gt;
&lt;br /&gt;
Staff should understand which ban and exception entries overlap.&lt;br /&gt;
&lt;br /&gt;
= 11. Invite Exceptions: +I =&lt;br /&gt;
&lt;br /&gt;
An invite exception may allow matching users to join an invite-only channel without receiving an individual invitation.&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -I mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I *!*@Authorized.Project.Host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An invite exception must not be granted merely for convenience if it weakens a channel’s intended security.&lt;br /&gt;
&lt;br /&gt;
= 12. Extended Bans =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd supports extended ban types that can match more than a basic `nick!ident@host` mask.&lt;br /&gt;
&lt;br /&gt;
Depending on the current server version and configuration, extended bans may match or act upon:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Real-name field.&lt;br /&gt;
* Security group.&lt;br /&gt;
* Certificate fingerprint.&lt;br /&gt;
* Users in another channel.&lt;br /&gt;
* Specific message types.&lt;br /&gt;
* Other connection properties.&lt;br /&gt;
&lt;br /&gt;
Some extended bans can also restrict speaking without preventing a user from joining.&lt;br /&gt;
&lt;br /&gt;
Because syntax and availability are version-specific, candidates must not memorize examples from unrelated networks and assume they work on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Before applying an extended ban:&lt;br /&gt;
&lt;br /&gt;
# Check DarkWorld’s current UnrealIRCd documentation.&lt;br /&gt;
# Use the server’s official help.&lt;br /&gt;
# Verify the exact matching behavior.&lt;br /&gt;
# Test only in an approved training channel.&lt;br /&gt;
# Ensure the ban is no broader than required.&lt;br /&gt;
# Record the complete entry.&lt;br /&gt;
# Know how to remove it.&lt;br /&gt;
&lt;br /&gt;
= 13. Quiet or Speak Restrictions =&lt;br /&gt;
&lt;br /&gt;
Sometimes the goal is to stop disruptive messages without removing the user from the channel.&lt;br /&gt;
&lt;br /&gt;
Depending on available modes and extended-ban syntax, a channel may:&lt;br /&gt;
&lt;br /&gt;
* Become moderated with `+m`.&lt;br /&gt;
* Remove the user’s voice.&lt;br /&gt;
* Apply a targeted speak restriction.&lt;br /&gt;
* Restrict unregistered users from speaking.&lt;br /&gt;
* Restrict notices or CTCP messages.&lt;br /&gt;
&lt;br /&gt;
A targeted restriction may be less disruptive than banning a user from joining.&lt;br /&gt;
&lt;br /&gt;
However, staff must verify current syntax before applying a quiet or extended ban.&lt;br /&gt;
&lt;br /&gt;
= 14. Registered-User Restrictions =&lt;br /&gt;
&lt;br /&gt;
Modes such as `+R` and `+M`, where supported, may restrict participation based on account authentication.&lt;br /&gt;
&lt;br /&gt;
Possible uses include:&lt;br /&gt;
&lt;br /&gt;
* Reducing automated abuse.&lt;br /&gt;
* Protecting a channel during a raid.&lt;br /&gt;
* Requiring identified users for sensitive discussions.&lt;br /&gt;
* Limiting speech while still allowing observation.&lt;br /&gt;
&lt;br /&gt;
Possible disadvantages include:&lt;br /&gt;
&lt;br /&gt;
* Blocking legitimate new users.&lt;br /&gt;
* Confusing users who have not configured SASL.&lt;br /&gt;
* Interrupting support access.&lt;br /&gt;
* Preventing account-recovery requests.&lt;br /&gt;
* Affecting relay or gateway users.&lt;br /&gt;
&lt;br /&gt;
Official help channels should be especially careful with restrictions that prevent unidentified users from asking for assistance.&lt;br /&gt;
&lt;br /&gt;
= 15. TLS-Only Channels =&lt;br /&gt;
&lt;br /&gt;
Mode `+z`, where supported, may restrict the channel to users connected securely through TLS.&lt;br /&gt;
&lt;br /&gt;
This can improve connection security expectations, but staff should remember:&lt;br /&gt;
&lt;br /&gt;
* TLS protects transport between client and server.&lt;br /&gt;
* TLS does not prevent channel participants from logging messages.&lt;br /&gt;
* TLS does not provide end-to-end encryption between users.&lt;br /&gt;
* Users may need help correcting their client configuration.&lt;br /&gt;
* Relays or services may require compatible secure connections.&lt;br /&gt;
&lt;br /&gt;
= 16. Flood-Protection Modes =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide configurable flood-protection channel modes.&lt;br /&gt;
&lt;br /&gt;
These can respond to:&lt;br /&gt;
&lt;br /&gt;
* Message floods.&lt;br /&gt;
* Repeated text.&lt;br /&gt;
* Join floods.&lt;br /&gt;
* Knock floods.&lt;br /&gt;
* Nickname-change floods.&lt;br /&gt;
* CTCP floods.&lt;br /&gt;
* Other rapid activity.&lt;br /&gt;
&lt;br /&gt;
Flood settings may include thresholds, time windows, and automatic actions.&lt;br /&gt;
&lt;br /&gt;
An incorrectly configured flood mode may:&lt;br /&gt;
&lt;br /&gt;
* Restrict normal conversation.&lt;br /&gt;
* Remove legitimate users.&lt;br /&gt;
* Affect busy events.&lt;br /&gt;
* Create repeated mode changes.&lt;br /&gt;
* Conflict with channel bots.&lt;br /&gt;
* Hide the original source of an incident.&lt;br /&gt;
&lt;br /&gt;
Flood-protection modes should be configured according to official DarkWorld guidance and tested in an approved environment.&lt;br /&gt;
&lt;br /&gt;
Network-level connection flood protection belongs to authorized IRCd administrators, not ordinary channel trainees.&lt;br /&gt;
&lt;br /&gt;
= 17. Temporary Emergency Modes =&lt;br /&gt;
&lt;br /&gt;
During an active raid or severe flood, authorized staff may temporarily apply modes such as:&lt;br /&gt;
&lt;br /&gt;
* `+m` to moderate the channel.&lt;br /&gt;
* `+i` to prevent uncontrolled joins.&lt;br /&gt;
* `+R` to require registered users.&lt;br /&gt;
* `+M` to restrict speaking.&lt;br /&gt;
* `+z` to require TLS.&lt;br /&gt;
* An appropriate user limit.&lt;br /&gt;
* Targeted bans or speak restrictions.&lt;br /&gt;
* Flood-protection settings.&lt;br /&gt;
&lt;br /&gt;
The responsible staff member should record:&lt;br /&gt;
&lt;br /&gt;
* Which modes were changed.&lt;br /&gt;
* Why they were changed.&lt;br /&gt;
* The time of the change.&lt;br /&gt;
* Who authorized the action.&lt;br /&gt;
* When they should be reviewed.&lt;br /&gt;
* Which modes existed before the incident.&lt;br /&gt;
&lt;br /&gt;
After the threat ends, temporary emergency modes should be reviewed and removed if no longer necessary.&lt;br /&gt;
&lt;br /&gt;
= 18. OperOverride and Forced Modes =&lt;br /&gt;
&lt;br /&gt;
IRC operators may have elevated capabilities that allow them to bypass normal channel restrictions or force mode changes.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* OperOverride.&lt;br /&gt;
* SAMODE.&lt;br /&gt;
* Services-enforced modes.&lt;br /&gt;
* Other administrative override commands.&lt;br /&gt;
&lt;br /&gt;
These capabilities are not normal channel-management tools.&lt;br /&gt;
&lt;br /&gt;
They must not be used:&lt;br /&gt;
&lt;br /&gt;
* To win a personal dispute.&lt;br /&gt;
* To obtain unauthorized channel access.&lt;br /&gt;
* To override a founder without a network-policy reason.&lt;br /&gt;
* To demonstrate staff power.&lt;br /&gt;
* To avoid normal Services procedures.&lt;br /&gt;
* To make undocumented permanent changes.&lt;br /&gt;
* On behalf of a friend.&lt;br /&gt;
&lt;br /&gt;
Use of elevated override capabilities should have:&lt;br /&gt;
&lt;br /&gt;
* A valid network-level purpose.&lt;br /&gt;
* Appropriate authorization.&lt;br /&gt;
* A clear reason.&lt;br /&gt;
* Proper documentation.&lt;br /&gt;
* Review where required.&lt;br /&gt;
&lt;br /&gt;
Detailed override commands belong in the IRC Operator and Services Administration specialist programs.&lt;br /&gt;
&lt;br /&gt;
= 19. Common Mode Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Mistake 1: Broad Ban ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may affect everyone and is normally far broader than necessary.&lt;br /&gt;
&lt;br /&gt;
== Mistake 2: Forgetting a Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command lacks the nickname required for operator status.&lt;br /&gt;
&lt;br /&gt;
== Mistake 3: Wrong Parameter Order ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +ov UserOne UserTwo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives `+o` to `UserOne` and `+v` to `UserTwo`. Reversing the names changes the result.&lt;br /&gt;
&lt;br /&gt;
== Mistake 4: Leaving Emergency Modes Enabled ==&lt;br /&gt;
&lt;br /&gt;
A channel remains invite-only or moderated long after an incident ends, preventing normal participation.&lt;br /&gt;
&lt;br /&gt;
== Mistake 5: Removing the Wrong Ban ==&lt;br /&gt;
&lt;br /&gt;
Staff copy an incomplete or different mask and remove another user’s protection.&lt;br /&gt;
&lt;br /&gt;
== Mistake 6: Assuming a Cloak Identifies One Person ==&lt;br /&gt;
&lt;br /&gt;
Several unrelated users may share a cloak, gateway, provider, or connection system.&lt;br /&gt;
&lt;br /&gt;
== Mistake 7: Confusing Channel Status With Staff Status ==&lt;br /&gt;
&lt;br /&gt;
A person with `+q` in a channel is treated as though they have network-level authority.&lt;br /&gt;
&lt;br /&gt;
= 20. Mode Change Procedure =&lt;br /&gt;
&lt;br /&gt;
Before changing a significant mode:&lt;br /&gt;
&lt;br /&gt;
# Confirm the correct channel.&lt;br /&gt;
# View existing modes.&lt;br /&gt;
# View relevant mode lists.&lt;br /&gt;
# Identify the operational purpose.&lt;br /&gt;
# Confirm your authority.&lt;br /&gt;
# Verify the mode syntax.&lt;br /&gt;
# Consider who may be affected.&lt;br /&gt;
# Apply the smallest effective change.&lt;br /&gt;
# Confirm that the server accepted it.&lt;br /&gt;
# Document the reason where required.&lt;br /&gt;
# Review or remove temporary changes later.&lt;br /&gt;
&lt;br /&gt;
After applying a mode, verify it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a list mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not assume that a command succeeded merely because it was entered.&lt;br /&gt;
&lt;br /&gt;
= 21. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
Perform these exercises only in an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: View Modes ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b&lt;br /&gt;
/MODE #ApprovedTrainingChannel +e&lt;br /&gt;
/MODE #ApprovedTrainingChannel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record the results without publishing confidential information.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Status Modes ==&lt;br /&gt;
&lt;br /&gt;
With trainer authorization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #ApprovedTrainingChannel +v TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel -v TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel +h TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel -h TraineeNick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain what changed after each command.&lt;br /&gt;
&lt;br /&gt;
Do not grant `+o`, `+a`, or `+q` unless the trainer specifically authorizes the exercise.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Moderated Channel ==&lt;br /&gt;
&lt;br /&gt;
With authorization:&lt;br /&gt;
&lt;br /&gt;
# Set `+m`.&lt;br /&gt;
# Confirm that an unvoiced test user cannot speak.&lt;br /&gt;
# Grant the user `+v`.&lt;br /&gt;
# Confirm that the user can speak.&lt;br /&gt;
# Remove `+v`.&lt;br /&gt;
# Remove `+m`.&lt;br /&gt;
# Confirm normal channel behavior is restored.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Temporary Ban ==&lt;br /&gt;
&lt;br /&gt;
Using a trainer-provided test identity:&lt;br /&gt;
&lt;br /&gt;
# Identify the full user mask.&lt;br /&gt;
# Select the least broad effective mask.&lt;br /&gt;
# Add the ban.&lt;br /&gt;
# View the ban list.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify that it was removed.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Invite-Only Channel ==&lt;br /&gt;
&lt;br /&gt;
With authorization:&lt;br /&gt;
&lt;br /&gt;
# Set `+i`.&lt;br /&gt;
# Attempt to join using a test user.&lt;br /&gt;
# Invite the user.&lt;br /&gt;
# Confirm the invited user can join.&lt;br /&gt;
# Remove `+i`.&lt;br /&gt;
# Confirm the original state is restored.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Emergency Mode Record ==&lt;br /&gt;
&lt;br /&gt;
Prepare a record containing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Channel:&lt;br /&gt;
Incident:&lt;br /&gt;
Original modes:&lt;br /&gt;
Temporary modes added:&lt;br /&gt;
Time added:&lt;br /&gt;
Reason:&lt;br /&gt;
Authorized by:&lt;br /&gt;
Review time:&lt;br /&gt;
Modes removed:&lt;br /&gt;
Final channel state:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 22. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Message Flood ==&lt;br /&gt;
&lt;br /&gt;
One user sends repeated messages rapidly in a busy channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A targeted warning, quiet, kick, or ban may be more proportionate than moderating the entire channel. Consider severity and whether the user stops after warning.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
Many newly connected users join and flood simultaneously.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Temporary emergency modes may be necessary. Moderate the channel, restrict joins or speech where authorized, preserve evidence, and escalate the coordinated incident.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared Provider ==&lt;br /&gt;
&lt;br /&gt;
The disruptive user has a host shared by several legitimate users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid a broad provider ban if a more precise account, ident, host, or supported extended ban is available.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Support Channel ==&lt;br /&gt;
&lt;br /&gt;
An unidentified new user needs help registering but cannot speak because the support channel requires identified users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The restriction may prevent the channel from serving its purpose. Review whether a different protective measure can control abuse without blocking legitimate support users.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Forgotten Invite-Only Mode ==&lt;br /&gt;
&lt;br /&gt;
A channel remains `+i` the day after an incident.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Review the incident record and current risk. If the restriction is no longer required and you are authorized, restore the normal state and document the change.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Personal Dispute ==&lt;br /&gt;
&lt;br /&gt;
An IRC operator uses override powers to give themselves operator status in a channel after arguing with its founder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a potential abuse of staff access. Preserve relevant evidence and escalate to senior management through the confidential process.&lt;br /&gt;
&lt;br /&gt;
= 23. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the difference between a user mode and a channel mode?&lt;br /&gt;
# How do `+` and `-` affect a mode?&lt;br /&gt;
# Which channel status modes correspond to voice, half-operator, operator, administrator, and owner?&lt;br /&gt;
# Does channel operator status provide network authority?&lt;br /&gt;
# What does moderated mode generally do?&lt;br /&gt;
# Why can `+m` affect innocent users?&lt;br /&gt;
# What is the purpose of `+n`?&lt;br /&gt;
# What is the purpose of `+t`?&lt;br /&gt;
# What information is needed to join a keyed channel?&lt;br /&gt;
# What does a user limit do?&lt;br /&gt;
# How do you view a channel’s ban list?&lt;br /&gt;
# What is the difference between `+b`, `+e`, and `+I`?&lt;br /&gt;
# Why should existing mode lists be checked before adding entries?&lt;br /&gt;
# Why is `*!*@*` normally an unsafe ban?&lt;br /&gt;
# Why can a hostname ban affect unrelated users?&lt;br /&gt;
# When might a targeted speak restriction be better than a ban?&lt;br /&gt;
# What risks can registered-user-only modes create in a help channel?&lt;br /&gt;
# What does TLS-only channel access protect, and what does it not protect?&lt;br /&gt;
# Why must unfamiliar extended bans be verified before use?&lt;br /&gt;
# What should be recorded when applying temporary emergency modes?&lt;br /&gt;
# Why must emergency modes be reviewed afterward?&lt;br /&gt;
# What is OperOverride?&lt;br /&gt;
# When must forced mode changes not be used?&lt;br /&gt;
# Why should a mode change be verified after sending the command?&lt;br /&gt;
# What should staff do after discovering that they changed the wrong mode?&lt;br /&gt;
&lt;br /&gt;
= 24. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;600–800 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a public event in `#Example`, six new users join and begin flooding. An operator sets `+m`, `+i`, and a broad host ban. The flood stops, but legitimate users can no longer join or speak. Two innocent users share the banned provider host. The operator leaves without recording the changes.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your answer must explain:&lt;br /&gt;
&lt;br /&gt;
* Which immediate modes may have been justified.&lt;br /&gt;
* What risks were created.&lt;br /&gt;
* Why the broad host ban requires review.&lt;br /&gt;
* How legitimate users should be restored.&lt;br /&gt;
* Which information should have been recorded.&lt;br /&gt;
* When the temporary modes should be removed.&lt;br /&gt;
* How the incident should be escalated.&lt;br /&gt;
* What the operator should do differently next time.&lt;br /&gt;
&lt;br /&gt;
= 25. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Complete all authorized mode exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;19 of the 25&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate correct mode syntax.&lt;br /&gt;
* Demonstrate the ability to reverse every training change.&lt;br /&gt;
* Avoid unsafe or unauthorized mode changes.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 26. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| User and channel mode concepts&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Channel status hierarchy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Ban and exception handling&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Mode syntax and verification&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Emergency mode judgment&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Authority boundaries&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Documentation and restoration&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Repeatedly apply broad restrictions without checking impact.&lt;br /&gt;
* Cannot reverse their own changes.&lt;br /&gt;
* Use elevated access without authorization.&lt;br /&gt;
* Fail to recognize channel and network authority boundaries.&lt;br /&gt;
* Disregard the effect of modes on innocent users.&lt;br /&gt;
&lt;br /&gt;
= 27. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| View channel modes&lt;br /&gt;
| `/MODE #channel`&lt;br /&gt;
|-&lt;br /&gt;
| Add moderated mode&lt;br /&gt;
| `/MODE #channel +m`&lt;br /&gt;
|-&lt;br /&gt;
| Remove moderated mode&lt;br /&gt;
| `/MODE #channel -m`&lt;br /&gt;
|-&lt;br /&gt;
| Add invite-only mode&lt;br /&gt;
| `/MODE #channel +i`&lt;br /&gt;
|-&lt;br /&gt;
| Remove invite-only mode&lt;br /&gt;
| `/MODE #channel -i`&lt;br /&gt;
|-&lt;br /&gt;
| Grant voice&lt;br /&gt;
| `/MODE #channel +v nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Remove voice&lt;br /&gt;
| `/MODE #channel -v nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Grant operator&lt;br /&gt;
| `/MODE #channel +o nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Remove operator&lt;br /&gt;
| `/MODE #channel -o nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Add ban&lt;br /&gt;
| `/MODE #channel +b mask`&lt;br /&gt;
|-&lt;br /&gt;
| Remove ban&lt;br /&gt;
| `/MODE #channel -b mask`&lt;br /&gt;
|-&lt;br /&gt;
| View bans&lt;br /&gt;
| `/MODE #channel +b`&lt;br /&gt;
|-&lt;br /&gt;
| View ban exceptions&lt;br /&gt;
| `/MODE #channel +e`&lt;br /&gt;
|-&lt;br /&gt;
| View invite exceptions&lt;br /&gt;
| `/MODE #channel +I`&lt;br /&gt;
|-&lt;br /&gt;
| Set channel key&lt;br /&gt;
| `/MODE #channel +k key`&lt;br /&gt;
|-&lt;br /&gt;
| Set user limit&lt;br /&gt;
| `/MODE #channel +l number`&lt;br /&gt;
|-&lt;br /&gt;
| Remove user limit&lt;br /&gt;
| `/MODE #channel -l`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 28. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Modes]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_and_Channel_Modes&amp;diff=386</id>
		<title>DWIRC:Staff Training/User and Channel Modes</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/User_and_Channel_Modes&amp;diff=386"/>
		<updated>2026-08-08T17:34:33Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 4 — User and Channel Modes}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 4: User and Channel Modes&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 4 of 10 |- ! Difficulty | Intermed...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 4 — User and Channel Modes}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 4: User and Channel Modes&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 4 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check, mode exercises, and moderation scenarios&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
IRC modes control user behavior, channel access, channel visibility, moderation, and security.&lt;br /&gt;
&lt;br /&gt;
A staff candidate must understand:&lt;br /&gt;
&lt;br /&gt;
* User modes.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* Channel access status.&lt;br /&gt;
* Mode parameters.&lt;br /&gt;
* Ban lists.&lt;br /&gt;
* Ban exceptions.&lt;br /&gt;
* Invite exceptions.&lt;br /&gt;
* Moderated channels.&lt;br /&gt;
* Registered-user restrictions.&lt;br /&gt;
* Flood-protection modes.&lt;br /&gt;
* Extended bans.&lt;br /&gt;
* The risks of incorrect or overly broad modes.&lt;br /&gt;
&lt;br /&gt;
Mode availability and exact behavior can depend on the current version and configuration of UnrealIRCd.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; This lesson explains commonly used modes. Staff must verify current behavior through official DarkWorld documentation, IRC server help, and authorized procedures before applying unfamiliar modes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the difference between user modes and channel modes.&lt;br /&gt;
# View current user and channel modes.&lt;br /&gt;
# Understand channel access levels.&lt;br /&gt;
# Add and remove modes using correct syntax.&lt;br /&gt;
# Explain when a mode requires a parameter.&lt;br /&gt;
# View and interpret channel ban lists.&lt;br /&gt;
# Create reasonably precise ban masks.&lt;br /&gt;
# Explain ban, exception, and invite-exception lists.&lt;br /&gt;
# Use moderated and invite-only modes correctly.&lt;br /&gt;
# Understand registered-user and TLS-related restrictions.&lt;br /&gt;
# Recognize the risks of broad or conflicting modes.&lt;br /&gt;
# Record and reverse temporary mode changes.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is an IRC Mode? =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;mode&#039;&#039;&#039; changes the state or behavior of an IRC user or channel.&lt;br /&gt;
&lt;br /&gt;
Modes are normally represented by letters.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
+i&lt;br /&gt;
+m&lt;br /&gt;
+n&lt;br /&gt;
+t&lt;br /&gt;
+k&lt;br /&gt;
+l&lt;br /&gt;
+b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The plus sign adds a mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The minus sign removes a mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some modes require parameters.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +k SecretKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other modes do not require parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. User Modes and Channel Modes =&lt;br /&gt;
&lt;br /&gt;
== User Modes ==&lt;br /&gt;
&lt;br /&gt;
User modes apply to an individual IRC connection.&lt;br /&gt;
&lt;br /&gt;
To view your current user modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A user normally sets only their own permitted user modes.&lt;br /&gt;
&lt;br /&gt;
== Channel Modes ==&lt;br /&gt;
&lt;br /&gt;
Channel modes apply to a channel.&lt;br /&gt;
&lt;br /&gt;
To view the current modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Changing channel modes normally requires appropriate channel privileges.&lt;br /&gt;
&lt;br /&gt;
== Important Difference ==&lt;br /&gt;
&lt;br /&gt;
The same letter may have a different meaning when used as a user mode and as a channel mode.&lt;br /&gt;
&lt;br /&gt;
Staff should always identify whether the mode applies to:&lt;br /&gt;
&lt;br /&gt;
* A user.&lt;br /&gt;
* A channel.&lt;br /&gt;
* A channel member’s status.&lt;br /&gt;
* A ban or exception list.&lt;br /&gt;
&lt;br /&gt;
= 3. Mode Syntax =&lt;br /&gt;
&lt;br /&gt;
General syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE target modes parameters&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +m&lt;br /&gt;
/MODE #Training -m&lt;br /&gt;
/MODE #Training +o Falcon&lt;br /&gt;
/MODE #Training -o Falcon&lt;br /&gt;
/MODE #Training +b *!*@example.host&lt;br /&gt;
/MODE #Training -b *!*@example.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Multiple modes may be combined:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +mnt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes requiring parameters must have corresponding parameters:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +ov Falcon Eagle&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives operator status to `Falcon` and voice to `Eagle`.&lt;br /&gt;
&lt;br /&gt;
A missing or incorrectly ordered parameter may cause the command to fail or affect the wrong target.&lt;br /&gt;
&lt;br /&gt;
= 4. Channel Access Status =&lt;br /&gt;
&lt;br /&gt;
Channel status modes assign privileges to users within a channel.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may use the following hierarchy:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! Common prefix&lt;br /&gt;
! Common title&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| `+v`&lt;br /&gt;
| `+`&lt;br /&gt;
| Voice&lt;br /&gt;
| Allows speaking in a moderated channel.&lt;br /&gt;
|-&lt;br /&gt;
| `+h`&lt;br /&gt;
| `%`&lt;br /&gt;
| Half-operator&lt;br /&gt;
| Provides limited channel moderation privileges.&lt;br /&gt;
|-&lt;br /&gt;
| `+o`&lt;br /&gt;
| `@`&lt;br /&gt;
| Channel operator&lt;br /&gt;
| Provides normal channel-management privileges.&lt;br /&gt;
|-&lt;br /&gt;
| `+a`&lt;br /&gt;
| `&amp;amp;`&lt;br /&gt;
| Channel administrator or protected operator&lt;br /&gt;
| Provides elevated channel-management status.&lt;br /&gt;
|-&lt;br /&gt;
| `+q`&lt;br /&gt;
| `~`&lt;br /&gt;
| Channel owner&lt;br /&gt;
| Represents the highest channel access status.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The displayed prefixes depend on the IRC client.&lt;br /&gt;
&lt;br /&gt;
A user may hold more than one status mode, although the client may display only the highest prefix.&lt;br /&gt;
&lt;br /&gt;
== Voice: +v ==&lt;br /&gt;
&lt;br /&gt;
Grant voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voice commonly allows a user to speak while the channel is moderated with `+m`.&lt;br /&gt;
&lt;br /&gt;
Voice does not make someone a network staff member.&lt;br /&gt;
&lt;br /&gt;
== Half-Operator: +h ==&lt;br /&gt;
&lt;br /&gt;
Grant half-operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +h nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove half-operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -h nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Half-operators may have limited moderation abilities. Exact permissions depend on server and channel configuration.&lt;br /&gt;
&lt;br /&gt;
== Channel Operator: +o ==&lt;br /&gt;
&lt;br /&gt;
Grant operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove operator:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -o nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel operators can normally manage common channel modes, kicks, and bans.&lt;br /&gt;
&lt;br /&gt;
Channel operator status does not provide network-wide authority.&lt;br /&gt;
&lt;br /&gt;
== Channel Administrator: +a ==&lt;br /&gt;
&lt;br /&gt;
Grant administrator status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +a nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove administrator status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -a nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is an elevated channel role and should not be granted casually.&lt;br /&gt;
&lt;br /&gt;
== Channel Owner: +q ==&lt;br /&gt;
&lt;br /&gt;
Grant owner status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +q nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove owner status:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -q nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Channel-owner status should normally correspond to authorized channel ownership and Services access.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Remember:&#039;&#039;&#039; Channel status and IRC operator status are separate. A channel owner is not automatically an IRC operator, and an IRC operator is not automatically part of every channel’s management.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 5. Common Channel Modes =&lt;br /&gt;
&lt;br /&gt;
The following modes are commonly available. Current behavior must be verified on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! General meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| `+i`&lt;br /&gt;
| Invite-only channel&lt;br /&gt;
| `/MODE #channel +i`&lt;br /&gt;
|-&lt;br /&gt;
| `+m`&lt;br /&gt;
| Moderated channel&lt;br /&gt;
| `/MODE #channel +m`&lt;br /&gt;
|-&lt;br /&gt;
| `+n`&lt;br /&gt;
| Blocks messages from users outside the channel&lt;br /&gt;
| `/MODE #channel +n`&lt;br /&gt;
|-&lt;br /&gt;
| `+t`&lt;br /&gt;
| Restricts topic changes to authorized channel staff&lt;br /&gt;
| `/MODE #channel +t`&lt;br /&gt;
|-&lt;br /&gt;
| `+s`&lt;br /&gt;
| Secret channel&lt;br /&gt;
| `/MODE #channel +s`&lt;br /&gt;
|-&lt;br /&gt;
| `+p`&lt;br /&gt;
| Private channel, where supported&lt;br /&gt;
| `/MODE #channel +p`&lt;br /&gt;
|-&lt;br /&gt;
| `+k`&lt;br /&gt;
| Requires a channel key&lt;br /&gt;
| `/MODE #channel +k KeyValue`&lt;br /&gt;
|-&lt;br /&gt;
| `+l`&lt;br /&gt;
| Sets a channel user limit&lt;br /&gt;
| `/MODE #channel +l 50`&lt;br /&gt;
|-&lt;br /&gt;
| `+b`&lt;br /&gt;
| Adds an entry to the ban list&lt;br /&gt;
| `/MODE #channel +b mask`&lt;br /&gt;
|-&lt;br /&gt;
| `+e`&lt;br /&gt;
| Adds an entry to the ban-exception list&lt;br /&gt;
| `/MODE #channel +e mask`&lt;br /&gt;
|-&lt;br /&gt;
| `+I`&lt;br /&gt;
| Adds an entry to the invite-exception list&lt;br /&gt;
| `/MODE #channel +I mask`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Invite-Only: +i ==&lt;br /&gt;
&lt;br /&gt;
When `+i` is set, users generally need an invitation or applicable exception to join.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invite a user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/INVITE nickname #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invite-only mode may be useful during:&lt;br /&gt;
&lt;br /&gt;
* An active raid.&lt;br /&gt;
* A private meeting.&lt;br /&gt;
* A controlled training exercise.&lt;br /&gt;
* A temporary security incident.&lt;br /&gt;
&lt;br /&gt;
It should not be left enabled accidentally after an emergency.&lt;br /&gt;
&lt;br /&gt;
== Moderated: +m ==&lt;br /&gt;
&lt;br /&gt;
When `+m` is set, users without the required channel status normally cannot speak.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Grant voice:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +v nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Moderated mode may help control:&lt;br /&gt;
&lt;br /&gt;
* Message flooding.&lt;br /&gt;
* Disruptive public events.&lt;br /&gt;
* Announcements.&lt;br /&gt;
* Training sessions.&lt;br /&gt;
* Emergency situations.&lt;br /&gt;
&lt;br /&gt;
Moderating a busy public channel affects every unvoiced participant. Staff should review whether the restriction remains necessary.&lt;br /&gt;
&lt;br /&gt;
== No External Messages: +n ==&lt;br /&gt;
&lt;br /&gt;
Mode `+n` normally prevents users who are not in the channel from sending messages to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +n&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a common protective mode for public channels.&lt;br /&gt;
&lt;br /&gt;
== Topic Protection: +t ==&lt;br /&gt;
&lt;br /&gt;
Mode `+t` normally restricts topic changes to authorized channel staff.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +t&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Secret: +s ==&lt;br /&gt;
&lt;br /&gt;
A secret channel is hidden from normal public channel listings and may be hidden from some user-information responses.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Secret does not mean that messages are encrypted end-to-end or that every participant will keep them confidential.&lt;br /&gt;
&lt;br /&gt;
== Channel Key: +k ==&lt;br /&gt;
&lt;br /&gt;
A keyed channel requires users to provide the key when joining.&lt;br /&gt;
&lt;br /&gt;
Set:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +k TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Join:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #channel TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -k TrainingKey&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Some clients or server versions may allow the key parameter to be omitted when removing it.&lt;br /&gt;
&lt;br /&gt;
Keys should not be posted publicly if the channel is intended to be restricted.&lt;br /&gt;
&lt;br /&gt;
== User Limit: +l ==&lt;br /&gt;
&lt;br /&gt;
Set a maximum number of channel members:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +l 50&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove the limit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A limit can help during some incidents but may also prevent legitimate users from joining.&lt;br /&gt;
&lt;br /&gt;
= 6. Additional Security and Control Modes =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide additional channel modes. Availability and behavior depend on the current configuration.&lt;br /&gt;
&lt;br /&gt;
Common examples may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mode&lt;br /&gt;
! Common purpose&lt;br /&gt;
|-&lt;br /&gt;
| `+C`&lt;br /&gt;
| Restricts channel CTCP messages&lt;br /&gt;
|-&lt;br /&gt;
| `+c`&lt;br /&gt;
| Restricts color or formatting codes&lt;br /&gt;
|-&lt;br /&gt;
| `+S`&lt;br /&gt;
| Strips color or formatting codes&lt;br /&gt;
|-&lt;br /&gt;
| `+T`&lt;br /&gt;
| Restricts channel notices&lt;br /&gt;
|-&lt;br /&gt;
| `+R`&lt;br /&gt;
| Restricts joining to registered or identified users&lt;br /&gt;
|-&lt;br /&gt;
| `+M`&lt;br /&gt;
| Restricts speaking to registered or identified users&lt;br /&gt;
|-&lt;br /&gt;
| `+z`&lt;br /&gt;
| Restricts joining to secure TLS connections&lt;br /&gt;
|-&lt;br /&gt;
| `+K`&lt;br /&gt;
| Restricts use of the KNOCK command&lt;br /&gt;
|-&lt;br /&gt;
| `+V`&lt;br /&gt;
| Restricts channel invitations&lt;br /&gt;
|-&lt;br /&gt;
| `+N`&lt;br /&gt;
| Restricts nickname changes while in the channel&lt;br /&gt;
|-&lt;br /&gt;
| `+Q`&lt;br /&gt;
| Restricts channel kicks&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The exact meaning may differ by UnrealIRCd version or loaded modules.&lt;br /&gt;
&lt;br /&gt;
Before using an unfamiliar mode:&lt;br /&gt;
&lt;br /&gt;
# Check the current server help.&lt;br /&gt;
# Check the official channel-mode documentation.&lt;br /&gt;
# Confirm the mode’s parameters.&lt;br /&gt;
# Consider how many users will be affected.&lt;br /&gt;
# Confirm that you have authority.&lt;br /&gt;
# Know how to reverse the mode.&lt;br /&gt;
# Record temporary emergency changes.&lt;br /&gt;
&lt;br /&gt;
= 7. Viewing Mode Lists =&lt;br /&gt;
&lt;br /&gt;
== Ban List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ban-Exception List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Invite-Exception List ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on the client, list entries may show:&lt;br /&gt;
&lt;br /&gt;
* The mask.&lt;br /&gt;
* Who set it.&lt;br /&gt;
* When it was set.&lt;br /&gt;
&lt;br /&gt;
Staff should check existing entries before adding a duplicate or broader restriction.&lt;br /&gt;
&lt;br /&gt;
= 8. Channel Bans =&lt;br /&gt;
&lt;br /&gt;
A channel ban normally prevents a matching user from joining or participating, depending on server behavior and additional modes.&lt;br /&gt;
&lt;br /&gt;
Add a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove a ban:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -b mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #Training +b ExampleNick!*@*&lt;br /&gt;
/MODE #Training +b *!example@*&lt;br /&gt;
/MODE #Training +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ban-Mask Precision ==&lt;br /&gt;
&lt;br /&gt;
Consider the following masks:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! Matches&lt;br /&gt;
! Main limitation&lt;br /&gt;
|-&lt;br /&gt;
| `ExampleNick!*@*`&lt;br /&gt;
| A particular nickname&lt;br /&gt;
| The user may change nickname&lt;br /&gt;
|-&lt;br /&gt;
| `*!example@*`&lt;br /&gt;
| A particular ident&lt;br /&gt;
| Other users may use the same ident&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@Example.User.DarkWorld.Network`&lt;br /&gt;
| A particular displayed host&lt;br /&gt;
| The host may be shared or changed&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*.provider.example`&lt;br /&gt;
| A provider or host range&lt;br /&gt;
| May affect many unrelated users&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*`&lt;br /&gt;
| Everyone&lt;br /&gt;
| Extremely broad and normally inappropriate&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The safest effective mask depends on:&lt;br /&gt;
&lt;br /&gt;
* The incident.&lt;br /&gt;
* Available identity information.&lt;br /&gt;
* Whether the host is shared.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Whether the action is temporary.&lt;br /&gt;
* The likely effect on innocent users.&lt;br /&gt;
* Available extended-ban features.&lt;br /&gt;
&lt;br /&gt;
= 9. Ban and Kick Order =&lt;br /&gt;
&lt;br /&gt;
A common moderation sequence is:&lt;br /&gt;
&lt;br /&gt;
# Set the appropriate ban.&lt;br /&gt;
# Remove the user with a clear reason.&lt;br /&gt;
# Record the action when required.&lt;br /&gt;
# Review the ban later.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@Example.User.DarkWorld.Network&lt;br /&gt;
/KICK #channel ExampleNick Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Setting the ban first reduces the chance of an immediate return between the kick and ban commands.&lt;br /&gt;
&lt;br /&gt;
This sequence is not appropriate in every situation. Sometimes:&lt;br /&gt;
&lt;br /&gt;
* A warning is sufficient.&lt;br /&gt;
* A quiet or moderated mode is preferable.&lt;br /&gt;
* The user has already left.&lt;br /&gt;
* A Services access restriction is required.&lt;br /&gt;
* A network-level response is needed.&lt;br /&gt;
* A broad host ban would harm innocent users.&lt;br /&gt;
&lt;br /&gt;
= 10. Ban Exceptions: +e =&lt;br /&gt;
&lt;br /&gt;
A ban exception permits a matching user to bypass a matching channel ban.&lt;br /&gt;
&lt;br /&gt;
Add an exception:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove&amp;gt;&lt;br /&gt;
 an exception:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -e mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@*.shared-provider.example&lt;br /&gt;
/MODE #channel +e TrustedUser!*@*.shared-provider.example&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exceptions should not be used to hide a poorly designed broad ban when a more precise restriction is available.&lt;br /&gt;
&lt;br /&gt;
Staff should understand which ban and exception entries overlap.&lt;br /&gt;
&lt;br /&gt;
= 11. Invite Exceptions: +I =&lt;br /&gt;
&lt;br /&gt;
An invite exception may allow matching users to join an invite-only channel without receiving an individual invitation.&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remove:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel -I mask&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I *!*@Authorized.Project.Host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An invite exception must not be granted merely for convenience if it weakens a channel’s intended security.&lt;br /&gt;
&lt;br /&gt;
= 12. Extended Bans =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd supports extended ban types that can match more than a basic `nick!ident@host` mask.&lt;br /&gt;
&lt;br /&gt;
Depending on the current server version and configuration, extended bans may match or act upon:&lt;br /&gt;
&lt;br /&gt;
* Registered account.&lt;br /&gt;
* Real-name field.&lt;br /&gt;
* Security group.&lt;br /&gt;
* Certificate fingerprint.&lt;br /&gt;
* Users in another channel.&lt;br /&gt;
* Specific message types.&lt;br /&gt;
* Other connection properties.&lt;br /&gt;
&lt;br /&gt;
Some extended bans can also restrict speaking without preventing a user from joining.&lt;br /&gt;
&lt;br /&gt;
Because syntax and availability are version-specific, candidates must not memorize examples from unrelated networks and assume they work on DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
Before applying an extended ban:&lt;br /&gt;
&lt;br /&gt;
# Check DarkWorld’s current UnrealIRCd documentation.&lt;br /&gt;
# Use the server’s official help.&lt;br /&gt;
# Verify the exact matching behavior.&lt;br /&gt;
# Test only in an approved training channel.&lt;br /&gt;
# Ensure the ban is no broader than required.&lt;br /&gt;
# Record the complete entry.&lt;br /&gt;
# Know how to remove it.&lt;br /&gt;
&lt;br /&gt;
= 13. Quiet or Speak Restrictions =&lt;br /&gt;
&lt;br /&gt;
Sometimes the goal is to stop disruptive messages without removing the user from the channel.&lt;br /&gt;
&lt;br /&gt;
Depending on available modes and extended-ban syntax, a channel may:&lt;br /&gt;
&lt;br /&gt;
* Become moderated with `+m`.&lt;br /&gt;
* Remove the user’s voice.&lt;br /&gt;
* Apply a targeted speak restriction.&lt;br /&gt;
* Restrict unregistered users from speaking.&lt;br /&gt;
* Restrict notices or CTCP messages.&lt;br /&gt;
&lt;br /&gt;
A targeted restriction may be less disruptive than banning a user from joining.&lt;br /&gt;
&lt;br /&gt;
However, staff must verify current syntax before applying a quiet or extended ban.&lt;br /&gt;
&lt;br /&gt;
= 14. Registered-User Restrictions =&lt;br /&gt;
&lt;br /&gt;
Modes such as `+R` and `+M`, where supported, may restrict participation based on account authentication.&lt;br /&gt;
&lt;br /&gt;
Possible uses include:&lt;br /&gt;
&lt;br /&gt;
* Reducing automated abuse.&lt;br /&gt;
* Protecting a channel during a raid.&lt;br /&gt;
* Requiring identified users for sensitive discussions.&lt;br /&gt;
* Limiting speech while still allowing observation.&lt;br /&gt;
&lt;br /&gt;
Possible disadvantages include:&lt;br /&gt;
&lt;br /&gt;
* Blocking legitimate new users.&lt;br /&gt;
* Confusing users who have not configured SASL.&lt;br /&gt;
* Interrupting support access.&lt;br /&gt;
* Preventing account-recovery requests.&lt;br /&gt;
* Affecting relay or gateway users.&lt;br /&gt;
&lt;br /&gt;
Official help channels should be especially careful with restrictions that prevent unidentified users from asking for assistance.&lt;br /&gt;
&lt;br /&gt;
= 15. TLS-Only Channels =&lt;br /&gt;
&lt;br /&gt;
Mode `+z`, where supported, may restrict the channel to users connected securely through TLS.&lt;br /&gt;
&lt;br /&gt;
This can improve connection security expectations, but staff should remember:&lt;br /&gt;
&lt;br /&gt;
* TLS protects transport between client and server.&lt;br /&gt;
* TLS does not prevent channel participants from logging messages.&lt;br /&gt;
* TLS does not provide end-to-end encryption between users.&lt;br /&gt;
* Users may need help correcting their client configuration.&lt;br /&gt;
* Relays or services may require compatible secure connections.&lt;br /&gt;
&lt;br /&gt;
= 16. Flood-Protection Modes =&lt;br /&gt;
&lt;br /&gt;
UnrealIRCd may provide configurable flood-protection channel modes.&lt;br /&gt;
&lt;br /&gt;
These can respond to:&lt;br /&gt;
&lt;br /&gt;
* Message floods.&lt;br /&gt;
* Repeated text.&lt;br /&gt;
* Join floods.&lt;br /&gt;
* Knock floods.&lt;br /&gt;
* Nickname-change floods.&lt;br /&gt;
* CTCP floods.&lt;br /&gt;
* Other rapid activity.&lt;br /&gt;
&lt;br /&gt;
Flood settings may include thresholds, time windows, and automatic actions.&lt;br /&gt;
&lt;br /&gt;
An incorrectly configured flood mode may:&lt;br /&gt;
&lt;br /&gt;
* Restrict normal conversation.&lt;br /&gt;
* Remove legitimate users.&lt;br /&gt;
* Affect busy events.&lt;br /&gt;
* Create repeated mode changes.&lt;br /&gt;
* Conflict with channel bots.&lt;br /&gt;
* Hide the original source of an incident.&lt;br /&gt;
&lt;br /&gt;
Flood-protection modes should be configured according to official DarkWorld guidance and tested in an approved environment.&lt;br /&gt;
&lt;br /&gt;
Network-level connection flood protection belongs to authorized IRCd administrators, not ordinary channel trainees.&lt;br /&gt;
&lt;br /&gt;
= 17. Temporary Emergency Modes =&lt;br /&gt;
&lt;br /&gt;
During an active raid or severe flood, authorized staff may temporarily apply modes such as:&lt;br /&gt;
&lt;br /&gt;
* `+m` to moderate the channel.&lt;br /&gt;
* `+i` to prevent uncontrolled joins.&lt;br /&gt;
* `+R` to require registered users.&lt;br /&gt;
* `+M` to restrict speaking.&lt;br /&gt;
* `+z` to require TLS.&lt;br /&gt;
* An appropriate user limit.&lt;br /&gt;
* Targeted bans or speak restrictions.&lt;br /&gt;
* Flood-protection settings.&lt;br /&gt;
&lt;br /&gt;
The responsible staff member should record:&lt;br /&gt;
&lt;br /&gt;
* Which modes were changed.&lt;br /&gt;
* Why they were changed.&lt;br /&gt;
* The time of the change.&lt;br /&gt;
* Who authorized the action.&lt;br /&gt;
* When they should be reviewed.&lt;br /&gt;
* Which modes existed before the incident.&lt;br /&gt;
&lt;br /&gt;
After the threat ends, temporary emergency modes should be reviewed and removed if no longer necessary.&lt;br /&gt;
&lt;br /&gt;
= 18. OperOverride and Forced Modes =&lt;br /&gt;
&lt;br /&gt;
IRC operators may have elevated capabilities that allow them to bypass normal channel restrictions or force mode changes.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* OperOverride.&lt;br /&gt;
* SAMODE.&lt;br /&gt;
* Services-enforced modes.&lt;br /&gt;
* Other administrative override commands.&lt;br /&gt;
&lt;br /&gt;
These capabilities are not normal channel-management tools.&lt;br /&gt;
&lt;br /&gt;
They must not be used:&lt;br /&gt;
&lt;br /&gt;
* To win a personal dispute.&lt;br /&gt;
* To obtain unauthorized channel access.&lt;br /&gt;
* To override a founder without a network-policy reason.&lt;br /&gt;
* To demonstrate staff power.&lt;br /&gt;
* To avoid normal Services procedures.&lt;br /&gt;
* To make undocumented permanent changes.&lt;br /&gt;
* On behalf of a friend.&lt;br /&gt;
&lt;br /&gt;
Use of elevated override capabilities should have:&lt;br /&gt;
&lt;br /&gt;
* A valid network-level purpose.&lt;br /&gt;
* Appropriate authorization.&lt;br /&gt;
* A clear reason.&lt;br /&gt;
* Proper documentation.&lt;br /&gt;
* Review where required.&lt;br /&gt;
&lt;br /&gt;
Detailed override commands belong in the IRC Operator and Services Administration specialist programs.&lt;br /&gt;
&lt;br /&gt;
= 19. Common Mode Mistakes =&lt;br /&gt;
&lt;br /&gt;
== Mistake 1: Broad Ban ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b *!*@*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may affect everyone and is normally far broader than necessary.&lt;br /&gt;
&lt;br /&gt;
== Mistake 2: Forgetting a Parameter ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +o&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command lacks the nickname required for operator status.&lt;br /&gt;
&lt;br /&gt;
== Mistake 3: Wrong Parameter Order ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +ov UserOne UserTwo&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This gives `+o` to `UserOne` and `+v` to `UserTwo`. Reversing the names changes the result.&lt;br /&gt;
&lt;br /&gt;
== Mistake 4: Leaving Emergency Modes Enabled ==&lt;br /&gt;
&lt;br /&gt;
A channel remains invite-only or moderated long after an incident ends, preventing normal participation.&lt;br /&gt;
&lt;br /&gt;
== Mistake 5: Removing the Wrong Ban ==&lt;br /&gt;
&lt;br /&gt;
Staff copy an incomplete or different mask and remove another user’s protection.&lt;br /&gt;
&lt;br /&gt;
== Mistake 6: Assuming a Cloak Identifies One Person ==&lt;br /&gt;
&lt;br /&gt;
Several unrelated users may share a cloak, gateway, provider, or connection system.&lt;br /&gt;
&lt;br /&gt;
== Mistake 7: Confusing Channel Status With Staff Status ==&lt;br /&gt;
&lt;br /&gt;
A person with `+q` in a channel is treated as though they have network-level authority.&lt;br /&gt;
&lt;br /&gt;
= 20. Mode Change Procedure =&lt;br /&gt;
&lt;br /&gt;
Before changing a significant mode:&lt;br /&gt;
&lt;br /&gt;
# Confirm the correct channel.&lt;br /&gt;
# View existing modes.&lt;br /&gt;
# View relevant mode lists.&lt;br /&gt;
# Identify the operational purpose.&lt;br /&gt;
# Confirm your authority.&lt;br /&gt;
# Verify the mode syntax.&lt;br /&gt;
# Consider who may be affected.&lt;br /&gt;
# Apply the smallest effective change.&lt;br /&gt;
# Confirm that the server accepted it.&lt;br /&gt;
# Document the reason where required.&lt;br /&gt;
# Review or remove temporary changes later.&lt;br /&gt;
&lt;br /&gt;
After applying a mode, verify it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a list mode:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not assume that a command succeeded merely because it was entered.&lt;br /&gt;
&lt;br /&gt;
= 21. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
Perform these exercises only in an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: View Modes ==&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/MODE #ApprovedTrainingChannel +b&lt;br /&gt;
/MODE #ApprovedTrainingChannel +e&lt;br /&gt;
/MODE #ApprovedTrainingChannel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record the results without publishing confidential information.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Status Modes ==&lt;br /&gt;
&lt;br /&gt;
With trainer authorization:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #ApprovedTrainingChannel +v TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel -v TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel +h TraineeNick&lt;br /&gt;
/MODE #ApprovedTrainingChannel -h TraineeNick&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explain what changed after each command.&lt;br /&gt;
&lt;br /&gt;
Do not grant `+o`, `+a`, or `+q` unless the trainer specifically authorizes the exercise.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: Moderated Channel ==&lt;br /&gt;
&lt;br /&gt;
With authorization:&lt;br /&gt;
&lt;br /&gt;
# Set `+m`.&lt;br /&gt;
# Confirm that an unvoiced test user cannot speak.&lt;br /&gt;
# Grant the user `+v`.&lt;br /&gt;
# Confirm that the user can speak.&lt;br /&gt;
# Remove `+v`.&lt;br /&gt;
# Remove `+m`.&lt;br /&gt;
# Confirm normal channel behavior is restored.&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Temporary Ban ==&lt;br /&gt;
&lt;br /&gt;
Using a trainer-provided test identity:&lt;br /&gt;
&lt;br /&gt;
# Identify the full user mask.&lt;br /&gt;
# Select the least broad effective mask.&lt;br /&gt;
# Add the ban.&lt;br /&gt;
# View the ban list.&lt;br /&gt;
# Remove the exact ban.&lt;br /&gt;
# Verify that it was removed.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Invite-Only Channel ==&lt;br /&gt;
&lt;br /&gt;
With authorization:&lt;br /&gt;
&lt;br /&gt;
# Set `+i`.&lt;br /&gt;
# Attempt to join using a test user.&lt;br /&gt;
# Invite the user.&lt;br /&gt;
# Confirm the invited user can join.&lt;br /&gt;
# Remove `+i`.&lt;br /&gt;
# Confirm the original state is restored.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Emergency Mode Record ==&lt;br /&gt;
&lt;br /&gt;
Prepare a record containing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Channel:&lt;br /&gt;
Incident:&lt;br /&gt;
Original modes:&lt;br /&gt;
Temporary modes added:&lt;br /&gt;
Time added:&lt;br /&gt;
Reason:&lt;br /&gt;
Authorized by:&lt;br /&gt;
Review time:&lt;br /&gt;
Modes removed:&lt;br /&gt;
Final channel state:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 22. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Message Flood ==&lt;br /&gt;
&lt;br /&gt;
One user sends repeated messages rapidly in a busy channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A targeted warning, quiet, kick, or ban may be more proportionate than moderating the entire channel. Consider severity and whether the user stops after warning.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Coordinated Raid ==&lt;br /&gt;
&lt;br /&gt;
Many newly connected users join and flood simultaneously.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Temporary emergency modes may be necessary. Moderate the channel, restrict joins or speech where authorized, preserve evidence, and escalate the coordinated incident.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Shared Provider ==&lt;br /&gt;
&lt;br /&gt;
The disruptive user has a host shared by several legitimate users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid a broad provider ban if a more precise account, ident, host, or supported extended ban is available.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Support Channel ==&lt;br /&gt;
&lt;br /&gt;
An unidentified new user needs help registering but cannot speak because the support channel requires identified users.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The restriction may prevent the channel from serving its purpose. Review whether a different protective measure can control abuse without blocking legitimate support users.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Forgotten Invite-Only Mode ==&lt;br /&gt;
&lt;br /&gt;
A channel remains `+i` the day after an incident.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Review the incident record and current risk. If the restriction is no longer required and you are authorized, restore the normal state and document the change.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Personal Dispute ==&lt;br /&gt;
&lt;br /&gt;
An IRC operator uses override powers to give themselves operator status in a channel after arguing with its founder.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is a potential abuse of staff access. Preserve relevant evidence and escalate to senior management through the confidential process.&lt;br /&gt;
&lt;br /&gt;
= 23. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the difference between a user mode and a channel mode?&lt;br /&gt;
# How do `+` and `-` affect a mode?&lt;br /&gt;
# Which channel status modes correspond to voice, half-operator, operator, administrator, and owner?&lt;br /&gt;
# Does channel operator status provide network authority?&lt;br /&gt;
# What does moderated mode generally do?&lt;br /&gt;
# Why can `+m` affect innocent users?&lt;br /&gt;
# What is the purpose of `+n`?&lt;br /&gt;
# What is the purpose of `+t`?&lt;br /&gt;
# What information is needed to join a keyed channel?&lt;br /&gt;
# What does a user limit do?&lt;br /&gt;
# How do you view a channel’s ban list?&lt;br /&gt;
# What is the difference between `+b`, `+e`, and `+I`?&lt;br /&gt;
# Why should existing mode lists be checked before adding entries?&lt;br /&gt;
# Why is `*!*@*` normally an unsafe ban?&lt;br /&gt;
# Why can a hostname ban affect unrelated users?&lt;br /&gt;
# When might a targeted speak restriction be better than a ban?&lt;br /&gt;
# What risks can registered-user-only modes create in a help channel?&lt;br /&gt;
# What does TLS-only channel access protect, and what does it not protect?&lt;br /&gt;
# Why must unfamiliar extended bans be verified before use?&lt;br /&gt;
# What should be recorded when applying temporary emergency modes?&lt;br /&gt;
# Why must emergency modes be reviewed afterward?&lt;br /&gt;
# What is OperOverride?&lt;br /&gt;
# When must forced mode changes not be used?&lt;br /&gt;
# Why should a mode change be verified after sending the command?&lt;br /&gt;
# What should staff do after discovering that they changed the wrong mode?&lt;br /&gt;
&lt;br /&gt;
= 24. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;600–800 words&#039;&#039;&#039; analyzing this incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
During a public event in `#Example`, six new users join and begin flooding. An operator sets `+m`, `+i`, and a broad host ban. The flood stops, but legitimate users can no longer join or speak. Two innocent users share the banned provider host. The operator leaves without recording the changes.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your answer must explain:&lt;br /&gt;
&lt;br /&gt;
* Which immediate modes may have been justified.&lt;br /&gt;
* What risks were created.&lt;br /&gt;
* Why the broad host ban requires review.&lt;br /&gt;
* How legitimate users should be restored.&lt;br /&gt;
* Which information should have been recorded.&lt;br /&gt;
* When the temporary modes should be removed.&lt;br /&gt;
* How the incident should be escalated.&lt;br /&gt;
* What the operator should do differently next time.&lt;br /&gt;
&lt;br /&gt;
= 25. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Complete all authorized mode exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;19 of the 25&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate correct mode syntax.&lt;br /&gt;
* Demonstrate the ability to reverse every training change.&lt;br /&gt;
* Avoid unsafe or unauthorized mode changes.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 26. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| User and channel mode concepts&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Channel status hierarchy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Ban and exception handling&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Mode syntax and verification&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Emergency mode judgment&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Authority boundaries&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Documentation and restoration&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A candidate should not pass if they:&lt;br /&gt;
&lt;br /&gt;
* Repeatedly apply broad restrictions without checking impact.&lt;br /&gt;
* Cannot reverse their own changes.&lt;br /&gt;
* Use elevated access without authorization.&lt;br /&gt;
* Fail to recognize channel and network authority boundaries.&lt;br /&gt;
* Disregard the effect of modes on innocent users.&lt;br /&gt;
&lt;br /&gt;
= 27. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command&lt;br /&gt;
|-&lt;br /&gt;
| View channel modes&lt;br /&gt;
| `/MODE #channel`&lt;br /&gt;
|-&lt;br /&gt;
| Add moderated mode&lt;br /&gt;
| `/MODE #channel +m`&lt;br /&gt;
|-&lt;br /&gt;
| Remove moderated mode&lt;br /&gt;
| `/MODE #channel -m`&lt;br /&gt;
|-&lt;br /&gt;
| Add invite-only mode&lt;br /&gt;
| `/MODE #channel +i`&lt;br /&gt;
|-&lt;br /&gt;
| Remove invite-only mode&lt;br /&gt;
| `/MODE #channel -i`&lt;br /&gt;
|-&lt;br /&gt;
| Grant voice&lt;br /&gt;
| `/MODE #channel +v nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Remove voice&lt;br /&gt;
| `/MODE #channel -v nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Grant operator&lt;br /&gt;
| `/MODE #channel +o nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Remove operator&lt;br /&gt;
| `/MODE #channel -o nickname`&lt;br /&gt;
|-&lt;br /&gt;
| Add ban&lt;br /&gt;
| `/MODE #channel +b mask`&lt;br /&gt;
|-&lt;br /&gt;
| Remove ban&lt;br /&gt;
| `/MODE #channel -b mask`&lt;br /&gt;
|-&lt;br /&gt;
| View bans&lt;br /&gt;
| `/MODE #channel +b`&lt;br /&gt;
|-&lt;br /&gt;
| View ban exceptions&lt;br /&gt;
| `/MODE #channel +e`&lt;br /&gt;
|-&lt;br /&gt;
| View invite exceptions&lt;br /&gt;
| `/MODE #channel +I`&lt;br /&gt;
|-&lt;br /&gt;
| Set channel key&lt;br /&gt;
| `/MODE #channel +k key`&lt;br /&gt;
|-&lt;br /&gt;
| Set user limit&lt;br /&gt;
| `/MODE #channel +l number`&lt;br /&gt;
|-&lt;br /&gt;
| Remove user limit&lt;br /&gt;
| `/MODE #channel -l`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 28. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|Module 5 — IRC Services]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Modes]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Policies&amp;diff=385</id>
		<title>DWIRC:Staff Training/Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Policies&amp;diff=385"/>
		<updated>2026-08-08T17:29:16Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Policies&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 3 — DarkWorld IRC Rules and Policies}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 3: DarkWorld IRC Rules and Policies&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 3 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Policy examination, case studies, and written assignment&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
This module teaches candidates how to understand, explain, and apply DarkWorld IRC rules and policies.&lt;br /&gt;
&lt;br /&gt;
Staff members must not enforce rules based on personal preference, rumors, incomplete messages, or assumptions. Every enforcement decision should be based on:&lt;br /&gt;
&lt;br /&gt;
* An applicable network policy.&lt;br /&gt;
* Sufficient and reliable evidence.&lt;br /&gt;
* The context of the incident.&lt;br /&gt;
* The severity and impact of the conduct.&lt;br /&gt;
* The user’s previous relevant history, where authorized.&lt;br /&gt;
* The least severe effective response.&lt;br /&gt;
* Proper documentation and escalation.&lt;br /&gt;
&lt;br /&gt;
This lesson provides an operational framework. The current official policy pages remain authoritative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; If this training material conflicts with a current official policy, the current official policy takes precedence. Report outdated training material to the documentation or policy team.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Identify official sources of DarkWorld IRC policy.&lt;br /&gt;
# Distinguish network rules from channel rules.&lt;br /&gt;
# Identify advertising, invitation, and recruitment violations.&lt;br /&gt;
# Explain the relay and bridge registration requirement.&lt;br /&gt;
# Understand registered-project and verified-presence concepts.&lt;br /&gt;
# Recognize spam, flooding, harassment, impersonation, and ban evasion.&lt;br /&gt;
# Handle evidence without exposing private information.&lt;br /&gt;
# Apply proportionate enforcement.&lt;br /&gt;
# Explain when warnings are appropriate.&lt;br /&gt;
# Recognize cases requiring immediate escalation.&lt;br /&gt;
# Document important policy actions.&lt;br /&gt;
# Separate verified facts from allegations and assumptions.&lt;br /&gt;
&lt;br /&gt;
= 1. Sources of Policy =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC policy information may be published through:&lt;br /&gt;
&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* Official policy pages&lt;br /&gt;
* The DarkWorld Wiki&lt;br /&gt;
* Network rules and guidelines&lt;br /&gt;
* Official network notices&lt;br /&gt;
* PolicyServ&lt;br /&gt;
* RelayServ&lt;br /&gt;
* Authorized staff procedures&lt;br /&gt;
* Instructions issued by authorized network management&lt;br /&gt;
&lt;br /&gt;
Staff should verify that they are using the current policy before taking significant action.&lt;br /&gt;
&lt;br /&gt;
== PolicyServ ==&lt;br /&gt;
&lt;br /&gt;
PolicyServ may provide links or summaries for official policy information.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!policy advertising&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public channels should generally receive concise official links rather than lengthy internal policy discussions.&lt;br /&gt;
&lt;br /&gt;
Detailed application records, evidence, investigation history, or administrative actions belong in approved restricted systems or staff channels.&lt;br /&gt;
&lt;br /&gt;
== Conflicting or Outdated Information ==&lt;br /&gt;
&lt;br /&gt;
If two official pages appear to conflict:&lt;br /&gt;
&lt;br /&gt;
# Do not guess which one applies.&lt;br /&gt;
# Check the publication or revision information.&lt;br /&gt;
# Ask the policy team or authorized management.&lt;br /&gt;
# Follow the confirmed current policy.&lt;br /&gt;
# Report the outdated page for correction.&lt;br /&gt;
# Record the interpretation if it affects an active case.&lt;br /&gt;
&lt;br /&gt;
= 2. Network Rules and Channel Rules =&lt;br /&gt;
&lt;br /&gt;
Candidates must distinguish between:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network-wide rules&#039;&#039;&#039;, enforced by DarkWorld IRC staff.&lt;br /&gt;
* &#039;&#039;&#039;Channel-specific rules&#039;&#039;&#039;, normally enforced by channel management.&lt;br /&gt;
&lt;br /&gt;
== Network-Wide Rules ==&lt;br /&gt;
&lt;br /&gt;
Network-wide rules apply across DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
They may address:&lt;br /&gt;
&lt;br /&gt;
* Network abuse.&lt;br /&gt;
* Malicious activity.&lt;br /&gt;
* Prohibited advertising or recruitment.&lt;br /&gt;
* Unauthorized relays.&lt;br /&gt;
* Severe harassment.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Spam and flooding.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Services abuse.&lt;br /&gt;
* Attacks against users or infrastructure.&lt;br /&gt;
* Privacy violations.&lt;br /&gt;
* Other conduct affecting the network as a whole.&lt;br /&gt;
&lt;br /&gt;
== Channel-Specific Rules ==&lt;br /&gt;
&lt;br /&gt;
Channel owners may establish additional rules, such as:&lt;br /&gt;
&lt;br /&gt;
* Language requirements.&lt;br /&gt;
* Topic restrictions.&lt;br /&gt;
* No excessive formatting.&lt;br /&gt;
* No spoilers.&lt;br /&gt;
* No off-topic discussion.&lt;br /&gt;
* Participation requirements.&lt;br /&gt;
* Rules for bots or games.&lt;br /&gt;
&lt;br /&gt;
A violation of a channel rule does not automatically require network-level punishment.&lt;br /&gt;
&lt;br /&gt;
Network staff should generally respect legitimate channel autonomy unless:&lt;br /&gt;
&lt;br /&gt;
* A network policy is violated.&lt;br /&gt;
* Serious abuse is occurring.&lt;br /&gt;
* A channel is being used to attack the network or its users.&lt;br /&gt;
* Channel management requests authorized assistance.&lt;br /&gt;
* The channel’s conduct creates a wider network risk.&lt;br /&gt;
* Management directs intervention.&lt;br /&gt;
&lt;br /&gt;
= 3. Policy Decision Framework =&lt;br /&gt;
&lt;br /&gt;
Before taking action, staff should answer:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;What happened?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Where did it happen?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Who was involved?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Which policy may apply?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;What evidence is available?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Is the evidence complete and reliable?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Is immediate intervention necessary?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;What is the least severe effective action?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Does the case require escalation?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;What must be documented?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A candidate should be able to explain both the action taken and the reason it was proportionate.&lt;br /&gt;
&lt;br /&gt;
= 4. Facts, Allegations, and Inferences =&lt;br /&gt;
&lt;br /&gt;
== Verified Fact ==&lt;br /&gt;
&lt;br /&gt;
A fact is information supported by reliable evidence.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The logs show that the user posted the same external-network invitation in five channels within two minutes.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allegation ==&lt;br /&gt;
&lt;br /&gt;
An allegation is a claim that has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A user says that another person threatened them in a private message, but no evidence has yet been reviewed.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inference ==&lt;br /&gt;
&lt;br /&gt;
An inference is a conclusion drawn from available information.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Several connections share similar behavior and timing, so staff suspect they may be controlled by the same person.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An inference may help guide an investigation, but it should not be presented as a confirmed fact without sufficient evidence.&lt;br /&gt;
&lt;br /&gt;
Staff reports should clearly separate:&lt;br /&gt;
&lt;br /&gt;
* What was directly observed.&lt;br /&gt;
* What was reported by others.&lt;br /&gt;
* What staff reasonably inferred.&lt;br /&gt;
* What remains unknown.&lt;br /&gt;
&lt;br /&gt;
= 5. Advertising Policy =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC maintains rules concerning advertising, invitations, and recruitment.&lt;br /&gt;
&lt;br /&gt;
The purpose of the policy is not to prevent every mention of another website, community, project, or service. Its purpose is to prevent misuse of DarkWorld IRC for unauthorized promotion or recruitment.&lt;br /&gt;
&lt;br /&gt;
Possible advertising conduct includes:&lt;br /&gt;
&lt;br /&gt;
* Repeatedly promoting another IRC network.&lt;br /&gt;
* Posting invitations to external channels or communities.&lt;br /&gt;
* Soliciting DarkWorld users to leave for another network.&lt;br /&gt;
* Mass-messaging users with promotional content.&lt;br /&gt;
* Using bots to distribute advertisements.&lt;br /&gt;
* Joining channels primarily to promote a service.&lt;br /&gt;
* Disguising promotional messages as support or conversation.&lt;br /&gt;
* Recruiting users or staff for an external network or project.&lt;br /&gt;
* Circumventing an earlier advertising restriction.&lt;br /&gt;
&lt;br /&gt;
== Context Matters ==&lt;br /&gt;
&lt;br /&gt;
The following are not automatically equivalent:&lt;br /&gt;
&lt;br /&gt;
* A normal conversational mention.&lt;br /&gt;
* Answering a direct question.&lt;br /&gt;
* Providing a relevant support link.&lt;br /&gt;
* A channel owner promoting their approved project in its own channel.&lt;br /&gt;
* Repeated unsolicited promotion.&lt;br /&gt;
* Mass private-message advertising.&lt;br /&gt;
* Recruitment for a competing IRC network.&lt;br /&gt;
* A registered and approved advertisement.&lt;br /&gt;
&lt;br /&gt;
Staff must examine purpose, frequency, audience, consent, and policy status.&lt;br /&gt;
&lt;br /&gt;
== Advertising Approval System ==&lt;br /&gt;
&lt;br /&gt;
Where advertising requires approval, the normal process is:&lt;br /&gt;
&lt;br /&gt;
# The applicant reviews the official policy.&lt;br /&gt;
# The applicant submits an advertising request.&lt;br /&gt;
# Authorized staff review the request.&lt;br /&gt;
# The request receives an official status.&lt;br /&gt;
# Approved advertising must remain within the approved scope.&lt;br /&gt;
# Violations or changed circumstances may result in suspension or revocation.&lt;br /&gt;
&lt;br /&gt;
Possible administrative statuses may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! General meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PENDING&#039;&#039;&#039;&lt;br /&gt;
| The request is awaiting review.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;APPROVED&#039;&#039;&#039;&lt;br /&gt;
| The request has been approved within its stated conditions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REJECTED&#039;&#039;&#039;&lt;br /&gt;
| The request was not approved.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SUSPENDED&#039;&#039;&#039;&lt;br /&gt;
| Approval has been temporarily disabled.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REVOKED&#039;&#039;&#039;&lt;br /&gt;
| Approval has been withdrawn.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXPIRED&#039;&#039;&#039;&lt;br /&gt;
| The approval is no longer current.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A trainee must not approve, reject, suspend, or revoke an advertising request unless specifically authorized.&lt;br /&gt;
&lt;br /&gt;
== Advertising Response Procedure ==&lt;br /&gt;
&lt;br /&gt;
When possible advertising is reported:&lt;br /&gt;
&lt;br /&gt;
# Preserve the relevant message and context.&lt;br /&gt;
# Determine where and how often it was sent.&lt;br /&gt;
# Determine whether it was solicited.&lt;br /&gt;
# Check whether approval exists.&lt;br /&gt;
# Compare the conduct with the approved scope.&lt;br /&gt;
# Stop ongoing mass abuse if immediate action is authorized.&lt;br /&gt;
# Escalate unclear or administrative cases.&lt;br /&gt;
# Document the decision.&lt;br /&gt;
&lt;br /&gt;
= 6. Invitations and Recruitment =&lt;br /&gt;
&lt;br /&gt;
An invitation may become a policy matter when it is used to:&lt;br /&gt;
&lt;br /&gt;
* Move users to another IRC network.&lt;br /&gt;
* Recruit staff for an external service.&lt;br /&gt;
* Repeatedly redirect users away from DarkWorld.&lt;br /&gt;
* Target multiple users through private messages.&lt;br /&gt;
* Evade channel rules or advertising restrictions.&lt;br /&gt;
* Exploit a DarkWorld channel, relay, or project presence for recruitment.&lt;br /&gt;
&lt;br /&gt;
A single mention is not automatically the same as a coordinated recruitment campaign.&lt;br /&gt;
&lt;br /&gt;
Staff should consider:&lt;br /&gt;
&lt;br /&gt;
* Was the message requested?&lt;br /&gt;
* Was it sent publicly or privately?&lt;br /&gt;
* How many users received it?&lt;br /&gt;
* Was it repeated?&lt;br /&gt;
* Was the sender warned previously?&lt;br /&gt;
* Was the invitation commercial, competitive, malicious, or harmless?&lt;br /&gt;
* Is there an approved project or advertising arrangement?&lt;br /&gt;
* Did the conduct disrupt the network or a channel?&lt;br /&gt;
&lt;br /&gt;
= 7. Relay and Bridge Policy =&lt;br /&gt;
&lt;br /&gt;
Relays and bridges allow communication between DarkWorld IRC and an external network, platform, channel, or community.&lt;br /&gt;
&lt;br /&gt;
They may be useful for communication, but they create additional policy and moderation risks.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC requires applicable relays and bridges to follow the official relay policy and registration process.&lt;br /&gt;
&lt;br /&gt;
== General Relay Principles ==&lt;br /&gt;
&lt;br /&gt;
A relay or bridge should:&lt;br /&gt;
&lt;br /&gt;
* Be registered or approved where required.&lt;br /&gt;
* Identify its purpose accurately.&lt;br /&gt;
* Identify the DarkWorld channel involved.&lt;br /&gt;
* Identify the relay bot.&lt;br /&gt;
* Identify the external network or platform.&lt;br /&gt;
* Follow DarkWorld IRC policies.&lt;br /&gt;
* Avoid importing prohibited advertising.&lt;br /&gt;
* Avoid importing recruitment messages.&lt;br /&gt;
* Allow responsible moderation.&lt;br /&gt;
* Cooperate with compliance reviews.&lt;br /&gt;
&lt;br /&gt;
== Relay Operators’ Responsibilities ==&lt;br /&gt;
&lt;br /&gt;
Relay operators are responsible for:&lt;br /&gt;
&lt;br /&gt;
* Filtering prohibited external advertisements.&lt;br /&gt;
* Preventing recruitment through the relay.&lt;br /&gt;
* Responding to compliance notices.&lt;br /&gt;
* Maintaining accurate registration information.&lt;br /&gt;
* Ensuring the relay does not evade channel or network restrictions.&lt;br /&gt;
* Cooperating with DarkWorld IRC staff.&lt;br /&gt;
* Suspending or correcting problematic relay behavior when required.&lt;br /&gt;
&lt;br /&gt;
== Possible Relay Statuses ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! General meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PENDING&#039;&#039;&#039;&lt;br /&gt;
| Application awaiting review.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;APPROVED&#039;&#039;&#039;&lt;br /&gt;
| Relay approved under stated conditions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REJECTED&#039;&#039;&#039;&lt;br /&gt;
| Relay application not approved.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SUSPENDED&#039;&#039;&#039;&lt;br /&gt;
| Relay approval temporarily suspended.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VIOLATION&#039;&#039;&#039;&lt;br /&gt;
| A compliance violation has been recorded.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REMOVED&#039;&#039;&#039;&lt;br /&gt;
| Relay authorization has been removed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Unregistered Relays ==&lt;br /&gt;
&lt;br /&gt;
When an apparent unregistered relay is discovered:&lt;br /&gt;
&lt;br /&gt;
# Verify that it is actually relaying external content.&lt;br /&gt;
# Identify the channel and relay bot.&lt;br /&gt;
# Avoid accusing users without evidence.&lt;br /&gt;
# Check the registration system.&lt;br /&gt;
# Record the discovery through the authorized process.&lt;br /&gt;
# Notify the relay operator where appropriate.&lt;br /&gt;
# Provide the policy and registration information.&lt;br /&gt;
# Apply restrictions only through authorized procedures.&lt;br /&gt;
# Escalate non-compliance.&lt;br /&gt;
&lt;br /&gt;
Trainees must not independently approve or permanently remove relays.&lt;br /&gt;
&lt;br /&gt;
= 8. Registered Projects and Verified Presence =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may allow DarkWorld projects and eligible external projects to establish an official or verified presence.&lt;br /&gt;
&lt;br /&gt;
A verified presence helps users identify:&lt;br /&gt;
&lt;br /&gt;
* The official project channel.&lt;br /&gt;
* Authorized project representatives.&lt;br /&gt;
* The project’s approved identity.&lt;br /&gt;
* Relevant support resources.&lt;br /&gt;
* Whether the project has completed the required review.&lt;br /&gt;
&lt;br /&gt;
Verification does not mean that DarkWorld IRC:&lt;br /&gt;
&lt;br /&gt;
* Owns the external project.&lt;br /&gt;
* Guarantees every product or service.&lt;br /&gt;
* Accepts responsibility for external transactions.&lt;br /&gt;
* Grants unlimited advertising rights.&lt;br /&gt;
* Exempts the project from IRC policies.&lt;br /&gt;
* Gives project staff network-level authority.&lt;br /&gt;
&lt;br /&gt;
Project staff must still follow DarkWorld IRC rules.&lt;br /&gt;
&lt;br /&gt;
Suspected misuse of a verified identity should be documented and escalated to the appropriate project or policy team.&lt;br /&gt;
&lt;br /&gt;
= 9. Spam =&lt;br /&gt;
&lt;br /&gt;
Spam generally involves unsolicited, repetitive, disruptive, automated, or mass-distributed content.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Repeating the same message rapidly.&lt;br /&gt;
* Sending the same private message to many users.&lt;br /&gt;
* Posting unwanted links across many channels.&lt;br /&gt;
* Using multiple accounts to repeat a message.&lt;br /&gt;
* Automated promotional messages.&lt;br /&gt;
* Repeated irrelevant content intended to disrupt discussion.&lt;br /&gt;
&lt;br /&gt;
Staff should consider:&lt;br /&gt;
&lt;br /&gt;
* Frequency.&lt;br /&gt;
* Number of recipients.&lt;br /&gt;
* Message content.&lt;br /&gt;
* Whether the messages were requested.&lt;br /&gt;
* Whether automation was involved.&lt;br /&gt;
* Whether the conduct stopped after a warning.&lt;br /&gt;
* Whether multiple identities were used.&lt;br /&gt;
&lt;br /&gt;
= 10. Flooding =&lt;br /&gt;
&lt;br /&gt;
Flooding is excessive activity that disrupts a channel, user, server, or network.&lt;br /&gt;
&lt;br /&gt;
Possible forms include:&lt;br /&gt;
&lt;br /&gt;
* Message flooding.&lt;br /&gt;
* Join and part flooding.&lt;br /&gt;
* Nickname-change flooding.&lt;br /&gt;
* CTCP flooding.&lt;br /&gt;
* Notice flooding.&lt;br /&gt;
* Private-message flooding.&lt;br /&gt;
* Connection flooding.&lt;br /&gt;
* Command flooding.&lt;br /&gt;
* Formatting or control-code flooding.&lt;br /&gt;
&lt;br /&gt;
== Immediate Flood Response ==&lt;br /&gt;
&lt;br /&gt;
Depending on authority and severity:&lt;br /&gt;
&lt;br /&gt;
# Protect the affected channel or users.&lt;br /&gt;
# Apply an appropriate temporary restriction.&lt;br /&gt;
# Avoid unnecessarily broad bans.&lt;br /&gt;
# Preserve timestamps and relevant logs.&lt;br /&gt;
# Determine whether one or multiple sources are involved.&lt;br /&gt;
# Notify senior staff if the network or multiple channels are affected.&lt;br /&gt;
# Review the restriction after the incident.&lt;br /&gt;
# Document significant actions.&lt;br /&gt;
&lt;br /&gt;
Network-wide connection floods and attacks must be escalated immediately to operational staff.&lt;br /&gt;
&lt;br /&gt;
= 11. Harassment and Threats =&lt;br /&gt;
&lt;br /&gt;
Harassment may include:&lt;br /&gt;
&lt;br /&gt;
* Repeated unwanted contact.&lt;br /&gt;
* Targeted abusive messages.&lt;br /&gt;
* Coordinated intimidation.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Stalking across channels.&lt;br /&gt;
* Repeatedly evading blocks or bans to contact someone.&lt;br /&gt;
* Publishing private information.&lt;br /&gt;
* Targeting a person through multiple accounts or relays.&lt;br /&gt;
&lt;br /&gt;
Staff should consider:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Repetition.&lt;br /&gt;
* Credibility of threats.&lt;br /&gt;
* Whether the target requested no further contact.&lt;br /&gt;
* Whether the conduct crosses multiple channels.&lt;br /&gt;
* Whether private information is involved.&lt;br /&gt;
* Whether immediate safety concerns exist.&lt;br /&gt;
&lt;br /&gt;
== Threats and Immediate Risk ==&lt;br /&gt;
&lt;br /&gt;
Credible threats, doxxing, compromised accounts, or immediate risks must be escalated promptly.&lt;br /&gt;
&lt;br /&gt;
Staff must not promise outcomes beyond DarkWorld’s authority. Network staff can take appropriate IRC action but are not law enforcement or emergency services.&lt;br /&gt;
&lt;br /&gt;
= 12. Impersonation =&lt;br /&gt;
&lt;br /&gt;
Impersonation occurs when a person intentionally attempts to deceive others into believing they are:&lt;br /&gt;
&lt;br /&gt;
* A DarkWorld staff member.&lt;br /&gt;
* Another user.&lt;br /&gt;
* An authorized project representative.&lt;br /&gt;
* An official service or bot.&lt;br /&gt;
* A verified organization or account.&lt;br /&gt;
&lt;br /&gt;
Similar nicknames alone do not always prove impersonation.&lt;br /&gt;
&lt;br /&gt;
Evidence may include:&lt;br /&gt;
&lt;br /&gt;
* False claims of authority.&lt;br /&gt;
* Attempts to obtain passwords.&lt;br /&gt;
* Copying identity details.&lt;br /&gt;
* Using a deceptive nickname.&lt;br /&gt;
* Giving fraudulent instructions.&lt;br /&gt;
* Pretending to represent an official project.&lt;br /&gt;
* Repeated behavior after being corrected.&lt;br /&gt;
&lt;br /&gt;
Possible phishing or credential theft must be treated as a serious security issue.&lt;br /&gt;
&lt;br /&gt;
= 13. Ban Evasion =&lt;br /&gt;
&lt;br /&gt;
Ban evasion occurs when a restricted user deliberately returns or changes identity to bypass an active restriction.&lt;br /&gt;
&lt;br /&gt;
Possible indicators include:&lt;br /&gt;
&lt;br /&gt;
* Rejoining immediately with another nickname.&lt;br /&gt;
* Using multiple accounts after a restriction.&lt;br /&gt;
* Repeating the same conduct from a different connection.&lt;br /&gt;
* Admitting to evasion.&lt;br /&gt;
* Using bots, relays, proxies, or other users to bypass restrictions.&lt;br /&gt;
&lt;br /&gt;
Shared hosts, VPNs, bouncers, gateways, or similar behavior do not alone prove that two users are the same person.&lt;br /&gt;
&lt;br /&gt;
Staff should rely on sufficient evidence and authorized information before applying broader restrictions.&lt;br /&gt;
&lt;br /&gt;
= 14. Bots, Automation, and Malicious Activity =&lt;br /&gt;
&lt;br /&gt;
Bots may be permitted for legitimate purposes, including:&lt;br /&gt;
&lt;br /&gt;
* Channel management.&lt;br /&gt;
* Games.&lt;br /&gt;
* Statistics.&lt;br /&gt;
* Relays.&lt;br /&gt;
* Support.&lt;br /&gt;
* Project services.&lt;br /&gt;
* Information delivery.&lt;br /&gt;
&lt;br /&gt;
A bot may become a policy problem when it:&lt;br /&gt;
&lt;br /&gt;
* Floods users or channels.&lt;br /&gt;
* Sends unsolicited advertisements.&lt;br /&gt;
* Impersonates an official service.&lt;br /&gt;
* Collects information deceptively.&lt;br /&gt;
* Evades restrictions.&lt;br /&gt;
* Distributes malware.&lt;br /&gt;
* Coordinates abuse.&lt;br /&gt;
* Uses excessive connections.&lt;br /&gt;
* Ignores authorized compliance instructions.&lt;br /&gt;
&lt;br /&gt;
Staff should distinguish a malfunctioning bot from intentionally malicious activity. Immediate containment may still be necessary in either case.&lt;br /&gt;
&lt;br /&gt;
= 15. Privacy and Personal Information =&lt;br /&gt;
&lt;br /&gt;
Staff may encounter:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hostnames.&lt;br /&gt;
* Email addresses.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Private logs.&lt;br /&gt;
* Authentication information.&lt;br /&gt;
* Abuse reports.&lt;br /&gt;
* Staff discussions.&lt;br /&gt;
* Project application records.&lt;br /&gt;
* Security information.&lt;br /&gt;
&lt;br /&gt;
This information must be accessed and shared only for authorized purposes.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Publicly reveal hidden IP addresses.&lt;br /&gt;
* Share private logs unnecessarily.&lt;br /&gt;
* Request passwords.&lt;br /&gt;
* Copy confidential reports into public channels.&lt;br /&gt;
* Search user information out of curiosity.&lt;br /&gt;
* Retain personal information without a valid purpose.&lt;br /&gt;
* Share staff discussions with unauthorized users.&lt;br /&gt;
* Use private information for retaliation or personal advantage.&lt;br /&gt;
&lt;br /&gt;
= 16. Evidence Handling =&lt;br /&gt;
&lt;br /&gt;
Useful evidence may include:&lt;br /&gt;
&lt;br /&gt;
* Complete message context.&lt;br /&gt;
* Accurate timestamps.&lt;br /&gt;
* Channel name.&lt;br /&gt;
* Nickname and visible user mask.&lt;br /&gt;
* Registered account information, where authorized.&lt;br /&gt;
* Relevant server or Services logs.&lt;br /&gt;
* Screenshots.&lt;br /&gt;
* Reports from affected users.&lt;br /&gt;
* Previous related incidents.&lt;br /&gt;
* Relay or advertising registration records.&lt;br /&gt;
&lt;br /&gt;
== Evidence Quality ==&lt;br /&gt;
&lt;br /&gt;
Good evidence should be:&lt;br /&gt;
&lt;br /&gt;
* Relevant.&lt;br /&gt;
* Authentic.&lt;br /&gt;
* Complete enough to understand.&lt;br /&gt;
* Time-stamped where possible.&lt;br /&gt;
* Collected lawfully and according to policy.&lt;br /&gt;
* Shared only with authorized people.&lt;br /&gt;
&lt;br /&gt;
Screenshots can help, but editable images or partial captures may omit important context. Where possible, compare them with server, client, bot, or Services logs.&lt;br /&gt;
&lt;br /&gt;
== Evidence Preservation Rules ==&lt;br /&gt;
&lt;br /&gt;
# Preserve the original material where possible.&lt;br /&gt;
# Do not edit evidence to change its meaning.&lt;br /&gt;
# Avoid reposting sensitive material.&lt;br /&gt;
# Record who provided the evidence.&lt;br /&gt;
# Separate facts from interpretations.&lt;br /&gt;
# Restrict access appropriately.&lt;br /&gt;
# Follow retention and deletion requirements.&lt;br /&gt;
# Escalate evidence involving serious security issues.&lt;br /&gt;
&lt;br /&gt;
= 17. Proportionate Enforcement =&lt;br /&gt;
&lt;br /&gt;
The response should be proportionate to:&lt;br /&gt;
&lt;br /&gt;
* The severity of the conduct.&lt;br /&gt;
* The immediate risk.&lt;br /&gt;
* The number of users affected.&lt;br /&gt;
* Whether the conduct was intentional.&lt;br /&gt;
* Whether it continued after a warning.&lt;br /&gt;
* Relevant previous violations.&lt;br /&gt;
* The likelihood of recurrence.&lt;br /&gt;
* The effect of the proposed action on innocent users.&lt;br /&gt;
&lt;br /&gt;
Possible responses may include:&lt;br /&gt;
&lt;br /&gt;
# No staff action.&lt;br /&gt;
# Guidance.&lt;br /&gt;
# Informal correction.&lt;br /&gt;
# Formal warning.&lt;br /&gt;
# Channel-level moderation.&lt;br /&gt;
# Temporary restriction.&lt;br /&gt;
# Escalation for network-level action.&lt;br /&gt;
# Suspension of an approval.&lt;br /&gt;
# Permanent action authorized by senior staff.&lt;br /&gt;
&lt;br /&gt;
Not every violation requires every step. Severe or ongoing incidents may require immediate protective action.&lt;br /&gt;
&lt;br /&gt;
= 18. Warnings =&lt;br /&gt;
&lt;br /&gt;
A useful warning should state:&lt;br /&gt;
&lt;br /&gt;
* What conduct must stop.&lt;br /&gt;
* Which rule or policy applies.&lt;br /&gt;
* What corrective action is required.&lt;br /&gt;
* What may happen if the conduct continues.&lt;br /&gt;
* Where the user can find the official policy.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please stop sending unsolicited network invitations. This conduct may violate the DarkWorld IRC advertising and recruitment policy. Review the official policy at the provided documentation link. Continued violations may be escalated for further action.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warnings must be:&lt;br /&gt;
&lt;br /&gt;
* Clear.&lt;br /&gt;
* Professional.&lt;br /&gt;
* Specific.&lt;br /&gt;
* Free from insults or threats.&lt;br /&gt;
* Documented when significant.&lt;br /&gt;
&lt;br /&gt;
Staff should not claim that a warning was issued if it was not successfully delivered.&lt;br /&gt;
&lt;br /&gt;
= 19. Enforcement Reasons =&lt;br /&gt;
&lt;br /&gt;
Enforcement reasons should be factual and understandable.&lt;br /&gt;
&lt;br /&gt;
Good examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Repeated channel flooding after warning&lt;br /&gt;
Unsolicited advertising across multiple channels&lt;br /&gt;
Ban evasion following temporary channel restriction&lt;br /&gt;
Unauthorized relay continued after compliance notice&lt;br /&gt;
Staff impersonation and attempted credential collection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poor examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Annoying&lt;br /&gt;
Bad user&lt;br /&gt;
You know what you did&lt;br /&gt;
Because staff said so&lt;br /&gt;
Go away&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A reason should not reveal unnecessary private or security-sensitive information.&lt;br /&gt;
&lt;br /&gt;
= 20. Appeals and Complaints =&lt;br /&gt;
&lt;br /&gt;
Users should be able to request review through the approved process.&lt;br /&gt;
&lt;br /&gt;
When receiving an appeal:&lt;br /&gt;
&lt;br /&gt;
# Remain neutral.&lt;br /&gt;
# Confirm which action is being appealed.&lt;br /&gt;
# Obtain the relevant time, channel, and reason.&lt;br /&gt;
# Preserve the original enforcement record.&lt;br /&gt;
# Avoid arguing with the user.&lt;br /&gt;
# Do not review your own disputed action alone where independent review is required.&lt;br /&gt;
# Forward the matter to authorized staff.&lt;br /&gt;
# Record the review outcome.&lt;br /&gt;
# Correct mistakes when found.&lt;br /&gt;
&lt;br /&gt;
Criticizing or appealing a staff decision is not automatically abuse.&lt;br /&gt;
&lt;br /&gt;
Retaliation against a user for submitting a complaint is prohibited.&lt;br /&gt;
&lt;br /&gt;
= 21. Staff Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
A conflict may exist when the staff member:&lt;br /&gt;
&lt;br /&gt;
* Is personally involved in the dispute.&lt;br /&gt;
* Has a close relationship with one party.&lt;br /&gt;
* Operates a competing project.&lt;br /&gt;
* Previously argued with the reported user.&lt;br /&gt;
* May personally benefit from the decision.&lt;br /&gt;
* Has already made public statements prejudging the case.&lt;br /&gt;
&lt;br /&gt;
When a meaningful conflict exists, the staff member should:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm if necessary.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Disclose the conflict internally.&lt;br /&gt;
# Transfer the decision to another authorized staff member.&lt;br /&gt;
# Avoid influencing the review improperly.&lt;br /&gt;
&lt;br /&gt;
= 22. Policy Incident Report =&lt;br /&gt;
&lt;br /&gt;
Use the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Case reference:&lt;br /&gt;
Date and time:&lt;br /&gt;
Reporting staff member:&lt;br /&gt;
Channel or location:&lt;br /&gt;
Users involved:&lt;br /&gt;
Relevant accounts:&lt;br /&gt;
Policy involved:&lt;br /&gt;
Summary of incident:&lt;br /&gt;
Directly observed facts:&lt;br /&gt;
Information reported by others:&lt;br /&gt;
Evidence preserved:&lt;br /&gt;
Immediate action taken:&lt;br /&gt;
Reason for action:&lt;br /&gt;
Users or channels affected:&lt;br /&gt;
Warning issued:&lt;br /&gt;
Escalated to:&lt;br /&gt;
Current status:&lt;br /&gt;
Recommended follow-up:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not place passwords, private keys, tokens, or unnecessary personal information in an incident report.&lt;br /&gt;
&lt;br /&gt;
= 23. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Normal Mention ==&lt;br /&gt;
&lt;br /&gt;
A user asks where they can find documentation for a third-party IRC client. Another user provides a relevant official link once.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not automatically prohibited advertising. Consider the context, relevance, and absence of unsolicited promotion.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Repeated Recruitment ==&lt;br /&gt;
&lt;br /&gt;
A user sends private messages to several DarkWorld users inviting them to join another IRC network and become staff there.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Preserve evidence, determine the scope, check the advertising and recruitment policy, stop ongoing abuse if authorized, and escalate for appropriate action.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Approved Advertisement Exceeds Scope ==&lt;br /&gt;
&lt;br /&gt;
A project has approval to announce one event in its official channel but posts the advertisement repeatedly across unrelated channels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Approval is limited by its conditions. Record the conduct, verify the approval scope, stop ongoing disruption where authorized, and escalate for review or suspension.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Unregistered Relay ==&lt;br /&gt;
&lt;br /&gt;
A bot is relaying messages from another network into a DarkWorld channel, but no registration can be found.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verify that it is a relay, identify the channel and operator, record the discovery, provide registration information, and follow the relay-compliance procedure. Do not independently approve or permanently remove it.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
A banned user and an unrelated user appear from the same shared provider host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not assume they are the same person. Review account information, behavior, timing, and other authorized evidence before widening the restriction.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Staff Dispute ==&lt;br /&gt;
&lt;br /&gt;
A staff member is personally involved in an argument and asks you to ban the other user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Address any immediate safety issue, preserve evidence, disclose the conflict, and refer the enforcement decision to a neutral authorized staff member.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: Private Threat Report ==&lt;br /&gt;
&lt;br /&gt;
A user reports a serious threat received by private message but asks staff not to post the logs publicly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Protect confidentiality, preserve the evidence through the approved process, assess urgency, and escalate immediately where the threat may be credible.&lt;br /&gt;
&lt;br /&gt;
== Scenario 8: Channel Ban Appeal ==&lt;br /&gt;
&lt;br /&gt;
A user demands that network staff reverse a channel ban imposed for repeatedly disrupting a privately managed channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine whether a network policy or serious abuse issue is involved. Ordinary channel-management decisions generally remain with the channel’s management.&lt;br /&gt;
&lt;br /&gt;
= 24. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# Which sources should staff use to verify current policy?&lt;br /&gt;
# What should happen if training material conflicts with a current policy?&lt;br /&gt;
# What is the difference between a network rule and a channel rule?&lt;br /&gt;
# When may network staff intervene in a channel matter?&lt;br /&gt;
# What is the difference between a fact, allegation, and inference?&lt;br /&gt;
# Is every mention of another project automatically advertising?&lt;br /&gt;
# What factors help distinguish conversation from prohibited promotion?&lt;br /&gt;
# May a trainee approve an advertising application?&lt;br /&gt;
# What responsibilities do relay operators have?&lt;br /&gt;
# What should staff do when discovering an apparent unregistered relay?&lt;br /&gt;
# Does verified presence guarantee an external project’s services?&lt;br /&gt;
# What is spam?&lt;br /&gt;
# Name four forms of flooding.&lt;br /&gt;
# Why does a shared host not prove that users are the same person?&lt;br /&gt;
# What evidence may indicate impersonation?&lt;br /&gt;
# What should staff consider before applying a broad ban?&lt;br /&gt;
# What makes evidence reliable and useful?&lt;br /&gt;
# What is proportionate enforcement?&lt;br /&gt;
# When might an immediate restriction be necessary?&lt;br /&gt;
# What should a professional warning contain?&lt;br /&gt;
# Why should staff actions include clear reasons?&lt;br /&gt;
# How should an appeal be handled?&lt;br /&gt;
# What is a staff conflict of interest?&lt;br /&gt;
# Why should staff distinguish observed facts from reported claims?&lt;br /&gt;
# What information must never be placed in an incident report?&lt;br /&gt;
&lt;br /&gt;
= 25. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Prepare a policy analysis of approximately &#039;&#039;&#039;600–900 words&#039;&#039;&#039; for the following incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A bot joins three DarkWorld channels and begins relaying messages from an external IRC network. Some relayed messages invite DarkWorld users to join the external network. The bot operator says the relay is harmless and that a channel operator gave permission. No relay registration can be located. One trainee wants to immediately ban the bot from the entire network.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Which policies may apply.&lt;br /&gt;
* What facts have been established.&lt;br /&gt;
* What information remains unknown.&lt;br /&gt;
* Whether channel permission is sufficient.&lt;br /&gt;
* What evidence should be preserved.&lt;br /&gt;
* What immediate action may be proportionate.&lt;br /&gt;
* Whether a network-wide ban is justified.&lt;br /&gt;
* Who should receive the escalation.&lt;br /&gt;
* What should be documented.&lt;br /&gt;
* How the bot operator should be informed.&lt;br /&gt;
&lt;br /&gt;
= 26. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Review the current official policy pages.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;19 of the 25&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written policy assignment.&lt;br /&gt;
* Complete all assigned case studies.&lt;br /&gt;
* Demonstrate safe evidence handling.&lt;br /&gt;
* Demonstrate proportionate decision-making.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 27. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of policy sources&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Advertising and recruitment policy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Relay and project compliance&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Abuse and conduct policies&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Evidence handling&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Proportionate enforcement&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Judgment and escalation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The candidate must not pass if they demonstrate serious disregard for privacy, evidence integrity, conflicts of interest, or authority boundaries.&lt;br /&gt;
&lt;br /&gt;
= 28. Quick Policy Checklist =&lt;br /&gt;
&lt;br /&gt;
Before taking significant action, ask:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What exactly happened?&lt;br /&gt;
2. Which current policy applies?&lt;br /&gt;
3. What did I directly observe?&lt;br /&gt;
4. What was reported by someone else?&lt;br /&gt;
5. Is the evidence reliable and complete?&lt;br /&gt;
6. Is anyone currently at risk?&lt;br /&gt;
7. Do I have authority to act?&lt;br /&gt;
8. What is the least severe effective response?&lt;br /&gt;
9. Could innocent users be affected?&lt;br /&gt;
10. Who must be notified?&lt;br /&gt;
11. What must be documented?&lt;br /&gt;
12. Does the action require independent review?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 29. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Policies]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Policies&amp;diff=384</id>
		<title>DWIRC:Staff Training/Policies</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Policies&amp;diff=384"/>
		<updated>2026-08-08T17:29:07Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 3 — DarkWorld IRC Rules and Policies}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 3: DarkWorld IRC Rules and Policies&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 3 of 10 |- ! D...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 3 — DarkWorld IRC Rules and Policies}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 3: DarkWorld IRC Rules and Policies&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 3 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Intermediate&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 3–4 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Policy examination, case studies, and written assignment&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
This module teaches candidates how to understand, explain, and apply DarkWorld IRC rules and policies.&lt;br /&gt;
&lt;br /&gt;
Staff members must not enforce rules based on personal preference, rumors, incomplete messages, or assumptions. Every enforcement decision should be based on:&lt;br /&gt;
&lt;br /&gt;
* An applicable network policy.&lt;br /&gt;
* Sufficient and reliable evidence.&lt;br /&gt;
* The context of the incident.&lt;br /&gt;
* The severity and impact of the conduct.&lt;br /&gt;
* The user’s previous relevant history, where authorized.&lt;br /&gt;
* The least severe effective response.&lt;br /&gt;
* Proper documentation and escalation.&lt;br /&gt;
&lt;br /&gt;
This lesson provides an operational framework. The current official policy pages remain authoritative.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; If this training material conflicts with a current official policy, the current official policy takes precedence. Report outdated training material to the documentation or policy team.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Identify official sources of DarkWorld IRC policy.&lt;br /&gt;
# Distinguish network rules from channel rules.&lt;br /&gt;
# Identify advertising, invitation, and recruitment violations.&lt;br /&gt;
# Explain the relay and bridge registration requirement.&lt;br /&gt;
# Understand registered-project and verified-presence concepts.&lt;br /&gt;
# Recognize spam, flooding, harassment, impersonation, and ban evasion.&lt;br /&gt;
# Handle evidence without exposing private information.&lt;br /&gt;
# Apply proportionate enforcement.&lt;br /&gt;
# Explain when warnings are appropriate.&lt;br /&gt;
# Recognize cases requiring immediate escalation.&lt;br /&gt;
# Document important policy actions.&lt;br /&gt;
# Separate verified facts from allegations and assumptions.&lt;br /&gt;
&lt;br /&gt;
= 1. Sources of Policy =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC policy information may be published through:&lt;br /&gt;
&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* Official policy pages&lt;br /&gt;
* The DarkWorld Wiki&lt;br /&gt;
* Network rules and guidelines&lt;br /&gt;
* Official network notices&lt;br /&gt;
* PolicyServ&lt;br /&gt;
* RelayServ&lt;br /&gt;
* Authorized staff procedures&lt;br /&gt;
* Instructions issued by authorized network management&lt;br /&gt;
&lt;br /&gt;
Staff should verify that they are using the current policy before taking significant action.&lt;br /&gt;
&lt;br /&gt;
== PolicyServ ==&lt;br /&gt;
&lt;br /&gt;
PolicyServ may provide links or summaries for official policy information.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
!policy advertising&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Public channels should generally receive concise official links rather than lengthy internal policy discussions.&lt;br /&gt;
&lt;br /&gt;
Detailed application records, evidence, investigation history, or administrative actions belong in approved restricted systems or staff channels.&lt;br /&gt;
&lt;br /&gt;
== Conflicting or Outdated Information ==&lt;br /&gt;
&lt;br /&gt;
If two official pages appear to conflict:&lt;br /&gt;
&lt;br /&gt;
# Do not guess which one applies.&lt;br /&gt;
# Check the publication or revision information.&lt;br /&gt;
# Ask the policy team or authorized management.&lt;br /&gt;
# Follow the confirmed current policy.&lt;br /&gt;
# Report the outdated page for correction.&lt;br /&gt;
# Record the interpretation if it affects an active case.&lt;br /&gt;
&lt;br /&gt;
= 2. Network Rules and Channel Rules =&lt;br /&gt;
&lt;br /&gt;
Candidates must distinguish between:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Network-wide rules&#039;&#039;&#039;, enforced by DarkWorld IRC staff.&lt;br /&gt;
* &#039;&#039;&#039;Channel-specific rules&#039;&#039;&#039;, normally enforced by channel management.&lt;br /&gt;
&lt;br /&gt;
== Network-Wide Rules ==&lt;br /&gt;
&lt;br /&gt;
Network-wide rules apply across DarkWorld IRC.&lt;br /&gt;
&lt;br /&gt;
They may address:&lt;br /&gt;
&lt;br /&gt;
* Network abuse.&lt;br /&gt;
* Malicious activity.&lt;br /&gt;
* Prohibited advertising or recruitment.&lt;br /&gt;
* Unauthorized relays.&lt;br /&gt;
* Severe harassment.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Spam and flooding.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Staff impersonation.&lt;br /&gt;
* Services abuse.&lt;br /&gt;
* Attacks against users or infrastructure.&lt;br /&gt;
* Privacy violations.&lt;br /&gt;
* Other conduct affecting the network as a whole.&lt;br /&gt;
&lt;br /&gt;
== Channel-Specific Rules ==&lt;br /&gt;
&lt;br /&gt;
Channel owners may establish additional rules, such as:&lt;br /&gt;
&lt;br /&gt;
* Language requirements.&lt;br /&gt;
* Topic restrictions.&lt;br /&gt;
* No excessive formatting.&lt;br /&gt;
* No spoilers.&lt;br /&gt;
* No off-topic discussion.&lt;br /&gt;
* Participation requirements.&lt;br /&gt;
* Rules for bots or games.&lt;br /&gt;
&lt;br /&gt;
A violation of a channel rule does not automatically require network-level punishment.&lt;br /&gt;
&lt;br /&gt;
Network staff should generally respect legitimate channel autonomy unless:&lt;br /&gt;
&lt;br /&gt;
* A network policy is violated.&lt;br /&gt;
* Serious abuse is occurring.&lt;br /&gt;
* A channel is being used to attack the network or its users.&lt;br /&gt;
* Channel management requests authorized assistance.&lt;br /&gt;
* The channel’s conduct creates a wider network risk.&lt;br /&gt;
* Management directs intervention.&lt;br /&gt;
&lt;br /&gt;
= 3. Policy Decision Framework =&lt;br /&gt;
&lt;br /&gt;
Before taking action, staff should answer:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;What happened?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Where did it happen?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Who was involved?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Which policy may apply?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;What evidence is available?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Is the evidence complete and reliable?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Is immediate intervention necessary?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;What is the least severe effective action?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;Does the case require escalation?&#039;&#039;&#039;&lt;br /&gt;
# &#039;&#039;&#039;What must be documented?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A candidate should be able to explain both the action taken and the reason it was proportionate.&lt;br /&gt;
&lt;br /&gt;
= 4. Facts, Allegations, and Inferences =&lt;br /&gt;
&lt;br /&gt;
== Verified Fact ==&lt;br /&gt;
&lt;br /&gt;
A fact is information supported by reliable evidence.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
The logs show that the user posted the same external-network invitation in five channels within two minutes.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Allegation ==&lt;br /&gt;
&lt;br /&gt;
An allegation is a claim that has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A user says that another person threatened them in a private message, but no evidence has yet been reviewed.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Inference ==&lt;br /&gt;
&lt;br /&gt;
An inference is a conclusion drawn from available information.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Several connections share similar behavior and timing, so staff suspect they may be controlled by the same person.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
An inference may help guide an investigation, but it should not be presented as a confirmed fact without sufficient evidence.&lt;br /&gt;
&lt;br /&gt;
Staff reports should clearly separate:&lt;br /&gt;
&lt;br /&gt;
* What was directly observed.&lt;br /&gt;
* What was reported by others.&lt;br /&gt;
* What staff reasonably inferred.&lt;br /&gt;
* What remains unknown.&lt;br /&gt;
&lt;br /&gt;
= 5. Advertising Policy =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC maintains rules concerning advertising, invitations, and recruitment.&lt;br /&gt;
&lt;br /&gt;
The purpose of the policy is not to prevent every mention of another website, community, project, or service. Its purpose is to prevent misuse of DarkWorld IRC for unauthorized promotion or recruitment.&lt;br /&gt;
&lt;br /&gt;
Possible advertising conduct includes:&lt;br /&gt;
&lt;br /&gt;
* Repeatedly promoting another IRC network.&lt;br /&gt;
* Posting invitations to external channels or communities.&lt;br /&gt;
* Soliciting DarkWorld users to leave for another network.&lt;br /&gt;
* Mass-messaging users with promotional content.&lt;br /&gt;
* Using bots to distribute advertisements.&lt;br /&gt;
* Joining channels primarily to promote a service.&lt;br /&gt;
* Disguising promotional messages as support or conversation.&lt;br /&gt;
* Recruiting users or staff for an external network or project.&lt;br /&gt;
* Circumventing an earlier advertising restriction.&lt;br /&gt;
&lt;br /&gt;
== Context Matters ==&lt;br /&gt;
&lt;br /&gt;
The following are not automatically equivalent:&lt;br /&gt;
&lt;br /&gt;
* A normal conversational mention.&lt;br /&gt;
* Answering a direct question.&lt;br /&gt;
* Providing a relevant support link.&lt;br /&gt;
* A channel owner promoting their approved project in its own channel.&lt;br /&gt;
* Repeated unsolicited promotion.&lt;br /&gt;
* Mass private-message advertising.&lt;br /&gt;
* Recruitment for a competing IRC network.&lt;br /&gt;
* A registered and approved advertisement.&lt;br /&gt;
&lt;br /&gt;
Staff must examine purpose, frequency, audience, consent, and policy status.&lt;br /&gt;
&lt;br /&gt;
== Advertising Approval System ==&lt;br /&gt;
&lt;br /&gt;
Where advertising requires approval, the normal process is:&lt;br /&gt;
&lt;br /&gt;
# The applicant reviews the official policy.&lt;br /&gt;
# The applicant submits an advertising request.&lt;br /&gt;
# Authorized staff review the request.&lt;br /&gt;
# The request receives an official status.&lt;br /&gt;
# Approved advertising must remain within the approved scope.&lt;br /&gt;
# Violations or changed circumstances may result in suspension or revocation.&lt;br /&gt;
&lt;br /&gt;
Possible administrative statuses may include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! General meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PENDING&#039;&#039;&#039;&lt;br /&gt;
| The request is awaiting review.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;APPROVED&#039;&#039;&#039;&lt;br /&gt;
| The request has been approved within its stated conditions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REJECTED&#039;&#039;&#039;&lt;br /&gt;
| The request was not approved.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SUSPENDED&#039;&#039;&#039;&lt;br /&gt;
| Approval has been temporarily disabled.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REVOKED&#039;&#039;&#039;&lt;br /&gt;
| Approval has been withdrawn.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;EXPIRED&#039;&#039;&#039;&lt;br /&gt;
| The approval is no longer current.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A trainee must not approve, reject, suspend, or revoke an advertising request unless specifically authorized.&lt;br /&gt;
&lt;br /&gt;
== Advertising Response Procedure ==&lt;br /&gt;
&lt;br /&gt;
When possible advertising is reported:&lt;br /&gt;
&lt;br /&gt;
# Preserve the relevant message and context.&lt;br /&gt;
# Determine where and how often it was sent.&lt;br /&gt;
# Determine whether it was solicited.&lt;br /&gt;
# Check whether approval exists.&lt;br /&gt;
# Compare the conduct with the approved scope.&lt;br /&gt;
# Stop ongoing mass abuse if immediate action is authorized.&lt;br /&gt;
# Escalate unclear or administrative cases.&lt;br /&gt;
# Document the decision.&lt;br /&gt;
&lt;br /&gt;
= 6. Invitations and Recruitment =&lt;br /&gt;
&lt;br /&gt;
An invitation may become a policy matter when it is used to:&lt;br /&gt;
&lt;br /&gt;
* Move users to another IRC network.&lt;br /&gt;
* Recruit staff for an external service.&lt;br /&gt;
* Repeatedly redirect users away from DarkWorld.&lt;br /&gt;
* Target multiple users through private messages.&lt;br /&gt;
* Evade channel rules or advertising restrictions.&lt;br /&gt;
* Exploit a DarkWorld channel, relay, or project presence for recruitment.&lt;br /&gt;
&lt;br /&gt;
A single mention is not automatically the same as a coordinated recruitment campaign.&lt;br /&gt;
&lt;br /&gt;
Staff should consider:&lt;br /&gt;
&lt;br /&gt;
* Was the message requested?&lt;br /&gt;
* Was it sent publicly or privately?&lt;br /&gt;
* How many users received it?&lt;br /&gt;
* Was it repeated?&lt;br /&gt;
* Was the sender warned previously?&lt;br /&gt;
* Was the invitation commercial, competitive, malicious, or harmless?&lt;br /&gt;
* Is there an approved project or advertising arrangement?&lt;br /&gt;
* Did the conduct disrupt the network or a channel?&lt;br /&gt;
&lt;br /&gt;
= 7. Relay and Bridge Policy =&lt;br /&gt;
&lt;br /&gt;
Relays and bridges allow communication between DarkWorld IRC and an external network, platform, channel, or community.&lt;br /&gt;
&lt;br /&gt;
They may be useful for communication, but they create additional policy and moderation risks.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC requires applicable relays and bridges to follow the official relay policy and registration process.&lt;br /&gt;
&lt;br /&gt;
== General Relay Principles ==&lt;br /&gt;
&lt;br /&gt;
A relay or bridge should:&lt;br /&gt;
&lt;br /&gt;
* Be registered or approved where required.&lt;br /&gt;
* Identify its purpose accurately.&lt;br /&gt;
* Identify the DarkWorld channel involved.&lt;br /&gt;
* Identify the relay bot.&lt;br /&gt;
* Identify the external network or platform.&lt;br /&gt;
* Follow DarkWorld IRC policies.&lt;br /&gt;
* Avoid importing prohibited advertising.&lt;br /&gt;
* Avoid importing recruitment messages.&lt;br /&gt;
* Allow responsible moderation.&lt;br /&gt;
* Cooperate with compliance reviews.&lt;br /&gt;
&lt;br /&gt;
== Relay Operators’ Responsibilities ==&lt;br /&gt;
&lt;br /&gt;
Relay operators are responsible for:&lt;br /&gt;
&lt;br /&gt;
* Filtering prohibited external advertisements.&lt;br /&gt;
* Preventing recruitment through the relay.&lt;br /&gt;
* Responding to compliance notices.&lt;br /&gt;
* Maintaining accurate registration information.&lt;br /&gt;
* Ensuring the relay does not evade channel or network restrictions.&lt;br /&gt;
* Cooperating with DarkWorld IRC staff.&lt;br /&gt;
* Suspending or correcting problematic relay behavior when required.&lt;br /&gt;
&lt;br /&gt;
== Possible Relay Statuses ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! General meaning&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;PENDING&#039;&#039;&#039;&lt;br /&gt;
| Application awaiting review.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;APPROVED&#039;&#039;&#039;&lt;br /&gt;
| Relay approved under stated conditions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REJECTED&#039;&#039;&#039;&lt;br /&gt;
| Relay application not approved.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;SUSPENDED&#039;&#039;&#039;&lt;br /&gt;
| Relay approval temporarily suspended.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;VIOLATION&#039;&#039;&#039;&lt;br /&gt;
| A compliance violation has been recorded.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;REMOVED&#039;&#039;&#039;&lt;br /&gt;
| Relay authorization has been removed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Unregistered Relays ==&lt;br /&gt;
&lt;br /&gt;
When an apparent unregistered relay is discovered:&lt;br /&gt;
&lt;br /&gt;
# Verify that it is actually relaying external content.&lt;br /&gt;
# Identify the channel and relay bot.&lt;br /&gt;
# Avoid accusing users without evidence.&lt;br /&gt;
# Check the registration system.&lt;br /&gt;
# Record the discovery through the authorized process.&lt;br /&gt;
# Notify the relay operator where appropriate.&lt;br /&gt;
# Provide the policy and registration information.&lt;br /&gt;
# Apply restrictions only through authorized procedures.&lt;br /&gt;
# Escalate non-compliance.&lt;br /&gt;
&lt;br /&gt;
Trainees must not independently approve or permanently remove relays.&lt;br /&gt;
&lt;br /&gt;
= 8. Registered Projects and Verified Presence =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may allow DarkWorld projects and eligible external projects to establish an official or verified presence.&lt;br /&gt;
&lt;br /&gt;
A verified presence helps users identify:&lt;br /&gt;
&lt;br /&gt;
* The official project channel.&lt;br /&gt;
* Authorized project representatives.&lt;br /&gt;
* The project’s approved identity.&lt;br /&gt;
* Relevant support resources.&lt;br /&gt;
* Whether the project has completed the required review.&lt;br /&gt;
&lt;br /&gt;
Verification does not mean that DarkWorld IRC:&lt;br /&gt;
&lt;br /&gt;
* Owns the external project.&lt;br /&gt;
* Guarantees every product or service.&lt;br /&gt;
* Accepts responsibility for external transactions.&lt;br /&gt;
* Grants unlimited advertising rights.&lt;br /&gt;
* Exempts the project from IRC policies.&lt;br /&gt;
* Gives project staff network-level authority.&lt;br /&gt;
&lt;br /&gt;
Project staff must still follow DarkWorld IRC rules.&lt;br /&gt;
&lt;br /&gt;
Suspected misuse of a verified identity should be documented and escalated to the appropriate project or policy team.&lt;br /&gt;
&lt;br /&gt;
= 9. Spam =&lt;br /&gt;
&lt;br /&gt;
Spam generally involves unsolicited, repetitive, disruptive, automated, or mass-distributed content.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* Repeating the same message rapidly.&lt;br /&gt;
* Sending the same private message to many users.&lt;br /&gt;
* Posting unwanted links across many channels.&lt;br /&gt;
* Using multiple accounts to repeat a message.&lt;br /&gt;
* Automated promotional messages.&lt;br /&gt;
* Repeated irrelevant content intended to disrupt discussion.&lt;br /&gt;
&lt;br /&gt;
Staff should consider:&lt;br /&gt;
&lt;br /&gt;
* Frequency.&lt;br /&gt;
* Number of recipients.&lt;br /&gt;
* Message content.&lt;br /&gt;
* Whether the messages were requested.&lt;br /&gt;
* Whether automation was involved.&lt;br /&gt;
* Whether the conduct stopped after a warning.&lt;br /&gt;
* Whether multiple identities were used.&lt;br /&gt;
&lt;br /&gt;
= 10. Flooding =&lt;br /&gt;
&lt;br /&gt;
Flooding is excessive activity that disrupts a channel, user, server, or network.&lt;br /&gt;
&lt;br /&gt;
Possible forms include:&lt;br /&gt;
&lt;br /&gt;
* Message flooding.&lt;br /&gt;
* Join and part flooding.&lt;br /&gt;
* Nickname-change flooding.&lt;br /&gt;
* CTCP flooding.&lt;br /&gt;
* Notice flooding.&lt;br /&gt;
* Private-message flooding.&lt;br /&gt;
* Connection flooding.&lt;br /&gt;
* Command flooding.&lt;br /&gt;
* Formatting or control-code flooding.&lt;br /&gt;
&lt;br /&gt;
== Immediate Flood Response ==&lt;br /&gt;
&lt;br /&gt;
Depending on authority and severity:&lt;br /&gt;
&lt;br /&gt;
# Protect the affected channel or users.&lt;br /&gt;
# Apply an appropriate temporary restriction.&lt;br /&gt;
# Avoid unnecessarily broad bans.&lt;br /&gt;
# Preserve timestamps and relevant logs.&lt;br /&gt;
# Determine whether one or multiple sources are involved.&lt;br /&gt;
# Notify senior staff if the network or multiple channels are affected.&lt;br /&gt;
# Review the restriction after the incident.&lt;br /&gt;
# Document significant actions.&lt;br /&gt;
&lt;br /&gt;
Network-wide connection floods and attacks must be escalated immediately to operational staff.&lt;br /&gt;
&lt;br /&gt;
= 11. Harassment and Threats =&lt;br /&gt;
&lt;br /&gt;
Harassment may include:&lt;br /&gt;
&lt;br /&gt;
* Repeated unwanted contact.&lt;br /&gt;
* Targeted abusive messages.&lt;br /&gt;
* Coordinated intimidation.&lt;br /&gt;
* Threats.&lt;br /&gt;
* Stalking across channels.&lt;br /&gt;
* Repeatedly evading blocks or bans to contact someone.&lt;br /&gt;
* Publishing private information.&lt;br /&gt;
* Targeting a person through multiple accounts or relays.&lt;br /&gt;
&lt;br /&gt;
Staff should consider:&lt;br /&gt;
&lt;br /&gt;
* Severity.&lt;br /&gt;
* Repetition.&lt;br /&gt;
* Credibility of threats.&lt;br /&gt;
* Whether the target requested no further contact.&lt;br /&gt;
* Whether the conduct crosses multiple channels.&lt;br /&gt;
* Whether private information is involved.&lt;br /&gt;
* Whether immediate safety concerns exist.&lt;br /&gt;
&lt;br /&gt;
== Threats and Immediate Risk ==&lt;br /&gt;
&lt;br /&gt;
Credible threats, doxxing, compromised accounts, or immediate risks must be escalated promptly.&lt;br /&gt;
&lt;br /&gt;
Staff must not promise outcomes beyond DarkWorld’s authority. Network staff can take appropriate IRC action but are not law enforcement or emergency services.&lt;br /&gt;
&lt;br /&gt;
= 12. Impersonation =&lt;br /&gt;
&lt;br /&gt;
Impersonation occurs when a person intentionally attempts to deceive others into believing they are:&lt;br /&gt;
&lt;br /&gt;
* A DarkWorld staff member.&lt;br /&gt;
* Another user.&lt;br /&gt;
* An authorized project representative.&lt;br /&gt;
* An official service or bot.&lt;br /&gt;
* A verified organization or account.&lt;br /&gt;
&lt;br /&gt;
Similar nicknames alone do not always prove impersonation.&lt;br /&gt;
&lt;br /&gt;
Evidence may include:&lt;br /&gt;
&lt;br /&gt;
* False claims of authority.&lt;br /&gt;
* Attempts to obtain passwords.&lt;br /&gt;
* Copying identity details.&lt;br /&gt;
* Using a deceptive nickname.&lt;br /&gt;
* Giving fraudulent instructions.&lt;br /&gt;
* Pretending to represent an official project.&lt;br /&gt;
* Repeated behavior after being corrected.&lt;br /&gt;
&lt;br /&gt;
Possible phishing or credential theft must be treated as a serious security issue.&lt;br /&gt;
&lt;br /&gt;
= 13. Ban Evasion =&lt;br /&gt;
&lt;br /&gt;
Ban evasion occurs when a restricted user deliberately returns or changes identity to bypass an active restriction.&lt;br /&gt;
&lt;br /&gt;
Possible indicators include:&lt;br /&gt;
&lt;br /&gt;
* Rejoining immediately with another nickname.&lt;br /&gt;
* Using multiple accounts after a restriction.&lt;br /&gt;
* Repeating the same conduct from a different connection.&lt;br /&gt;
* Admitting to evasion.&lt;br /&gt;
* Using bots, relays, proxies, or other users to bypass restrictions.&lt;br /&gt;
&lt;br /&gt;
Shared hosts, VPNs, bouncers, gateways, or similar behavior do not alone prove that two users are the same person.&lt;br /&gt;
&lt;br /&gt;
Staff should rely on sufficient evidence and authorized information before applying broader restrictions.&lt;br /&gt;
&lt;br /&gt;
= 14. Bots, Automation, and Malicious Activity =&lt;br /&gt;
&lt;br /&gt;
Bots may be permitted for legitimate purposes, including:&lt;br /&gt;
&lt;br /&gt;
* Channel management.&lt;br /&gt;
* Games.&lt;br /&gt;
* Statistics.&lt;br /&gt;
* Relays.&lt;br /&gt;
* Support.&lt;br /&gt;
* Project services.&lt;br /&gt;
* Information delivery.&lt;br /&gt;
&lt;br /&gt;
A bot may become a policy problem when it:&lt;br /&gt;
&lt;br /&gt;
* Floods users or channels.&lt;br /&gt;
* Sends unsolicited advertisements.&lt;br /&gt;
* Impersonates an official service.&lt;br /&gt;
* Collects information deceptively.&lt;br /&gt;
* Evades restrictions.&lt;br /&gt;
* Distributes malware.&lt;br /&gt;
* Coordinates abuse.&lt;br /&gt;
* Uses excessive connections.&lt;br /&gt;
* Ignores authorized compliance instructions.&lt;br /&gt;
&lt;br /&gt;
Staff should distinguish a malfunctioning bot from intentionally malicious activity. Immediate containment may still be necessary in either case.&lt;br /&gt;
&lt;br /&gt;
= 15. Privacy and Personal Information =&lt;br /&gt;
&lt;br /&gt;
Staff may encounter:&lt;br /&gt;
&lt;br /&gt;
* IP addresses.&lt;br /&gt;
* Hostnames.&lt;br /&gt;
* Email addresses.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Private logs.&lt;br /&gt;
* Authentication information.&lt;br /&gt;
* Abuse reports.&lt;br /&gt;
* Staff discussions.&lt;br /&gt;
* Project application records.&lt;br /&gt;
* Security information.&lt;br /&gt;
&lt;br /&gt;
This information must be accessed and shared only for authorized purposes.&lt;br /&gt;
&lt;br /&gt;
Staff must not:&lt;br /&gt;
&lt;br /&gt;
* Publicly reveal hidden IP addresses.&lt;br /&gt;
* Share private logs unnecessarily.&lt;br /&gt;
* Request passwords.&lt;br /&gt;
* Copy confidential reports into public channels.&lt;br /&gt;
* Search user information out of curiosity.&lt;br /&gt;
* Retain personal information without a valid purpose.&lt;br /&gt;
* Share staff discussions with unauthorized users.&lt;br /&gt;
* Use private information for retaliation or personal advantage.&lt;br /&gt;
&lt;br /&gt;
= 16. Evidence Handling =&lt;br /&gt;
&lt;br /&gt;
Useful evidence may include:&lt;br /&gt;
&lt;br /&gt;
* Complete message context.&lt;br /&gt;
* Accurate timestamps.&lt;br /&gt;
* Channel name.&lt;br /&gt;
* Nickname and visible user mask.&lt;br /&gt;
* Registered account information, where authorized.&lt;br /&gt;
* Relevant server or Services logs.&lt;br /&gt;
* Screenshots.&lt;br /&gt;
* Reports from affected users.&lt;br /&gt;
* Previous related incidents.&lt;br /&gt;
* Relay or advertising registration records.&lt;br /&gt;
&lt;br /&gt;
== Evidence Quality ==&lt;br /&gt;
&lt;br /&gt;
Good evidence should be:&lt;br /&gt;
&lt;br /&gt;
* Relevant.&lt;br /&gt;
* Authentic.&lt;br /&gt;
* Complete enough to understand.&lt;br /&gt;
* Time-stamped where possible.&lt;br /&gt;
* Collected lawfully and according to policy.&lt;br /&gt;
* Shared only with authorized people.&lt;br /&gt;
&lt;br /&gt;
Screenshots can help, but editable images or partial captures may omit important context. Where possible, compare them with server, client, bot, or Services logs.&lt;br /&gt;
&lt;br /&gt;
== Evidence Preservation Rules ==&lt;br /&gt;
&lt;br /&gt;
# Preserve the original material where possible.&lt;br /&gt;
# Do not edit evidence to change its meaning.&lt;br /&gt;
# Avoid reposting sensitive material.&lt;br /&gt;
# Record who provided the evidence.&lt;br /&gt;
# Separate facts from interpretations.&lt;br /&gt;
# Restrict access appropriately.&lt;br /&gt;
# Follow retention and deletion requirements.&lt;br /&gt;
# Escalate evidence involving serious security issues.&lt;br /&gt;
&lt;br /&gt;
= 17. Proportionate Enforcement =&lt;br /&gt;
&lt;br /&gt;
The response should be proportionate to:&lt;br /&gt;
&lt;br /&gt;
* The severity of the conduct.&lt;br /&gt;
* The immediate risk.&lt;br /&gt;
* The number of users affected.&lt;br /&gt;
* Whether the conduct was intentional.&lt;br /&gt;
* Whether it continued after a warning.&lt;br /&gt;
* Relevant previous violations.&lt;br /&gt;
* The likelihood of recurrence.&lt;br /&gt;
* The effect of the proposed action on innocent users.&lt;br /&gt;
&lt;br /&gt;
Possible responses may include:&lt;br /&gt;
&lt;br /&gt;
# No staff action.&lt;br /&gt;
# Guidance.&lt;br /&gt;
# Informal correction.&lt;br /&gt;
# Formal warning.&lt;br /&gt;
# Channel-level moderation.&lt;br /&gt;
# Temporary restriction.&lt;br /&gt;
# Escalation for network-level action.&lt;br /&gt;
# Suspension of an approval.&lt;br /&gt;
# Permanent action authorized by senior staff.&lt;br /&gt;
&lt;br /&gt;
Not every violation requires every step. Severe or ongoing incidents may require immediate protective action.&lt;br /&gt;
&lt;br /&gt;
= 18. Warnings =&lt;br /&gt;
&lt;br /&gt;
A useful warning should state:&lt;br /&gt;
&lt;br /&gt;
* What conduct must stop.&lt;br /&gt;
* Which rule or policy applies.&lt;br /&gt;
* What corrective action is required.&lt;br /&gt;
* What may happen if the conduct continues.&lt;br /&gt;
* Where the user can find the official policy.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please stop sending unsolicited network invitations. This conduct may violate the DarkWorld IRC advertising and recruitment policy. Review the official policy at the provided documentation link. Continued violations may be escalated for further action.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Warnings must be:&lt;br /&gt;
&lt;br /&gt;
* Clear.&lt;br /&gt;
* Professional.&lt;br /&gt;
* Specific.&lt;br /&gt;
* Free from insults or threats.&lt;br /&gt;
* Documented when significant.&lt;br /&gt;
&lt;br /&gt;
Staff should not claim that a warning was issued if it was not successfully delivered.&lt;br /&gt;
&lt;br /&gt;
= 19. Enforcement Reasons =&lt;br /&gt;
&lt;br /&gt;
Enforcement reasons should be factual and understandable.&lt;br /&gt;
&lt;br /&gt;
Good examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Repeated channel flooding after warning&lt;br /&gt;
Unsolicited advertising across multiple channels&lt;br /&gt;
Ban evasion following temporary channel restriction&lt;br /&gt;
Unauthorized relay continued after compliance notice&lt;br /&gt;
Staff impersonation and attempted credential collection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Poor examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Annoying&lt;br /&gt;
Bad user&lt;br /&gt;
You know what you did&lt;br /&gt;
Because staff said so&lt;br /&gt;
Go away&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A reason should not reveal unnecessary private or security-sensitive information.&lt;br /&gt;
&lt;br /&gt;
= 20. Appeals and Complaints =&lt;br /&gt;
&lt;br /&gt;
Users should be able to request review through the approved process.&lt;br /&gt;
&lt;br /&gt;
When receiving an appeal:&lt;br /&gt;
&lt;br /&gt;
# Remain neutral.&lt;br /&gt;
# Confirm which action is being appealed.&lt;br /&gt;
# Obtain the relevant time, channel, and reason.&lt;br /&gt;
# Preserve the original enforcement record.&lt;br /&gt;
# Avoid arguing with the user.&lt;br /&gt;
# Do not review your own disputed action alone where independent review is required.&lt;br /&gt;
# Forward the matter to authorized staff.&lt;br /&gt;
# Record the review outcome.&lt;br /&gt;
# Correct mistakes when found.&lt;br /&gt;
&lt;br /&gt;
Criticizing or appealing a staff decision is not automatically abuse.&lt;br /&gt;
&lt;br /&gt;
Retaliation against a user for submitting a complaint is prohibited.&lt;br /&gt;
&lt;br /&gt;
= 21. Staff Conflicts of Interest =&lt;br /&gt;
&lt;br /&gt;
A conflict may exist when the staff member:&lt;br /&gt;
&lt;br /&gt;
* Is personally involved in the dispute.&lt;br /&gt;
* Has a close relationship with one party.&lt;br /&gt;
* Operates a competing project.&lt;br /&gt;
* Previously argued with the reported user.&lt;br /&gt;
* May personally benefit from the decision.&lt;br /&gt;
* Has already made public statements prejudging the case.&lt;br /&gt;
&lt;br /&gt;
When a meaningful conflict exists, the staff member should:&lt;br /&gt;
&lt;br /&gt;
# Protect users from immediate harm if necessary.&lt;br /&gt;
# Preserve relevant evidence.&lt;br /&gt;
# Disclose the conflict internally.&lt;br /&gt;
# Transfer the decision to another authorized staff member.&lt;br /&gt;
# Avoid influencing the review improperly.&lt;br /&gt;
&lt;br /&gt;
= 22. Policy Incident Report =&lt;br /&gt;
&lt;br /&gt;
Use the following format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Case reference:&lt;br /&gt;
Date and time:&lt;br /&gt;
Reporting staff member:&lt;br /&gt;
Channel or location:&lt;br /&gt;
Users involved:&lt;br /&gt;
Relevant accounts:&lt;br /&gt;
Policy involved:&lt;br /&gt;
Summary of incident:&lt;br /&gt;
Directly observed facts:&lt;br /&gt;
Information reported by others:&lt;br /&gt;
Evidence preserved:&lt;br /&gt;
Immediate action taken:&lt;br /&gt;
Reason for action:&lt;br /&gt;
Users or channels affected:&lt;br /&gt;
Warning issued:&lt;br /&gt;
Escalated to:&lt;br /&gt;
Current status:&lt;br /&gt;
Recommended follow-up:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not place passwords, private keys, tokens, or unnecessary personal information in an incident report.&lt;br /&gt;
&lt;br /&gt;
= 23. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Normal Mention ==&lt;br /&gt;
&lt;br /&gt;
A user asks where they can find documentation for a third-party IRC client. Another user provides a relevant official link once.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is not automatically prohibited advertising. Consider the context, relevance, and absence of unsolicited promotion.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Repeated Recruitment ==&lt;br /&gt;
&lt;br /&gt;
A user sends private messages to several DarkWorld users inviting them to join another IRC network and become staff there.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Preserve evidence, determine the scope, check the advertising and recruitment policy, stop ongoing abuse if authorized, and escalate for appropriate action.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Approved Advertisement Exceeds Scope ==&lt;br /&gt;
&lt;br /&gt;
A project has approval to announce one event in its official channel but posts the advertisement repeatedly across unrelated channels.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Approval is limited by its conditions. Record the conduct, verify the approval scope, stop ongoing disruption where authorized, and escalate for review or suspension.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Unregistered Relay ==&lt;br /&gt;
&lt;br /&gt;
A bot is relaying messages from another network into a DarkWorld channel, but no registration can be found.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verify that it is a relay, identify the channel and operator, record the discovery, provide registration information, and follow the relay-compliance procedure. Do not independently approve or permanently remove it.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
A banned user and an unrelated user appear from the same shared provider host.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not assume they are the same person. Review account information, behavior, timing, and other authorized evidence before widening the restriction.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Staff Dispute ==&lt;br /&gt;
&lt;br /&gt;
A staff member is personally involved in an argument and asks you to ban the other user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Address any immediate safety issue, preserve evidence, disclose the conflict, and refer the enforcement decision to a neutral authorized staff member.&lt;br /&gt;
&lt;br /&gt;
== Scenario 7: Private Threat Report ==&lt;br /&gt;
&lt;br /&gt;
A user reports a serious threat received by private message but asks staff not to post the logs publicly.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Protect confidentiality, preserve the evidence through the approved process, assess urgency, and escalate immediately where the threat may be credible.&lt;br /&gt;
&lt;br /&gt;
== Scenario 8: Channel Ban Appeal ==&lt;br /&gt;
&lt;br /&gt;
A user demands that network staff reverse a channel ban imposed for repeatedly disrupting a privately managed channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended analysis:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Determine whether a network policy or serious abuse issue is involved. Ordinary channel-management decisions generally remain with the channel’s management.&lt;br /&gt;
&lt;br /&gt;
= 24. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# Which sources should staff use to verify current policy?&lt;br /&gt;
# What should happen if training material conflicts with a current policy?&lt;br /&gt;
# What is the difference between a network rule and a channel rule?&lt;br /&gt;
# When may network staff intervene in a channel matter?&lt;br /&gt;
# What is the difference between a fact, allegation, and inference?&lt;br /&gt;
# Is every mention of another project automatically advertising?&lt;br /&gt;
# What factors help distinguish conversation from prohibited promotion?&lt;br /&gt;
# May a trainee approve an advertising application?&lt;br /&gt;
# What responsibilities do relay operators have?&lt;br /&gt;
# What should staff do when discovering an apparent unregistered relay?&lt;br /&gt;
# Does verified presence guarantee an external project’s services?&lt;br /&gt;
# What is spam?&lt;br /&gt;
# Name four forms of flooding.&lt;br /&gt;
# Why does a shared host not prove that users are the same person?&lt;br /&gt;
# What evidence may indicate impersonation?&lt;br /&gt;
# What should staff consider before applying a broad ban?&lt;br /&gt;
# What makes evidence reliable and useful?&lt;br /&gt;
# What is proportionate enforcement?&lt;br /&gt;
# When might an immediate restriction be necessary?&lt;br /&gt;
# What should a professional warning contain?&lt;br /&gt;
# Why should staff actions include clear reasons?&lt;br /&gt;
# How should an appeal be handled?&lt;br /&gt;
# What is a staff conflict of interest?&lt;br /&gt;
# Why should staff distinguish observed facts from reported claims?&lt;br /&gt;
# What information must never be placed in an incident report?&lt;br /&gt;
&lt;br /&gt;
= 25. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Prepare a policy analysis of approximately &#039;&#039;&#039;600–900 words&#039;&#039;&#039; for the following incident:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
A bot joins three DarkWorld channels and begins relaying messages from an external IRC network. Some relayed messages invite DarkWorld users to join the external network. The bot operator says the relay is harmless and that a channel operator gave permission. No relay registration can be located. One trainee wants to immediately ban the bot from the entire network.&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your analysis must explain:&lt;br /&gt;
&lt;br /&gt;
* Which policies may apply.&lt;br /&gt;
* What facts have been established.&lt;br /&gt;
* What information remains unknown.&lt;br /&gt;
* Whether channel permission is sufficient.&lt;br /&gt;
* What evidence should be preserved.&lt;br /&gt;
* What immediate action may be proportionate.&lt;br /&gt;
* Whether a network-wide ban is justified.&lt;br /&gt;
* Who should receive the escalation.&lt;br /&gt;
* What should be documented.&lt;br /&gt;
* How the bot operator should be informed.&lt;br /&gt;
&lt;br /&gt;
= 26. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the full lesson.&lt;br /&gt;
* Review the current official policy pages.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;19 of the 25&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written policy assignment.&lt;br /&gt;
* Complete all assigned case studies.&lt;br /&gt;
* Demonstrate safe evidence handling.&lt;br /&gt;
* Demonstrate proportionate decision-making.&lt;br /&gt;
* Receive trainer approval.&lt;br /&gt;
&lt;br /&gt;
= 27. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of policy sources&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
| Advertising and recruitment policy&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Relay and project compliance&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Abuse and conduct policies&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Evidence handling&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Proportionate enforcement&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Judgment and escalation&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The candidate must not pass if they demonstrate serious disregard for privacy, evidence integrity, conflicts of interest, or authority boundaries.&lt;br /&gt;
&lt;br /&gt;
= 28. Quick Policy Checklist =&lt;br /&gt;
&lt;br /&gt;
Before taking significant action, ask:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
1. What exactly happened?&lt;br /&gt;
2. Which current policy applies?&lt;br /&gt;
3. What did I directly observe?&lt;br /&gt;
4. What was reported by someone else?&lt;br /&gt;
5. Is the evidence reliable and complete?&lt;br /&gt;
6. Is anyone currently at risk?&lt;br /&gt;
7. Do I have authority to act?&lt;br /&gt;
8. What is the least severe effective response?&lt;br /&gt;
9. Could innocent users be affected?&lt;br /&gt;
10. Who must be notified?&lt;br /&gt;
11. What must be documented?&lt;br /&gt;
12. Does the action require independent review?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 29. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Policies]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Fundamentals&amp;diff=383</id>
		<title>DWIRC:Staff Training/IRC Fundamentals</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Fundamentals&amp;diff=383"/>
		<updated>2026-08-08T17:25:05Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/IRC Fundamentals&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 2 — IRC Fundamentals}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 2: IRC Fundamentals&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 2 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Beginner&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 2–3 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check and practical IRC exercises&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Network Introduction|Module 1 — DarkWorld IRC Network Introduction]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
This module teaches the fundamental concepts and commands required to use and understand the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
Before a candidate can assist users or perform moderation duties, they must understand:&lt;br /&gt;
&lt;br /&gt;
* How IRC works.&lt;br /&gt;
* The difference between an IRC network and an IRC server.&lt;br /&gt;
* How users connect securely.&lt;br /&gt;
* Nicknames, usernames, idents, hostnames, and account names.&lt;br /&gt;
* Channels and private conversations.&lt;br /&gt;
* IRC user masks.&lt;br /&gt;
* Common IRC commands.&lt;br /&gt;
* TLS and SASL.&lt;br /&gt;
* Lag, disconnections, reconnections, and netsplits.&lt;br /&gt;
* How to collect useful information without violating user privacy.&lt;br /&gt;
&lt;br /&gt;
Commands may appear differently depending on the IRC client. The underlying IRC functions remain generally the same.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain how an IRC network operates.&lt;br /&gt;
# Connect securely to DarkWorld IRC.&lt;br /&gt;
# Explain the difference between a nickname and a Services account.&lt;br /&gt;
# Identify the components of an IRC user mask.&lt;br /&gt;
# Use common IRC commands correctly.&lt;br /&gt;
# Obtain relevant information using WHOIS and related commands.&lt;br /&gt;
# Explain the purpose of TLS and SASL.&lt;br /&gt;
# Recognize lag, a normal disconnection, and a netsplit.&lt;br /&gt;
# Distinguish between channel messages, private messages, and notices.&lt;br /&gt;
# Collect troubleshooting information without exposing confidential data.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is IRC? =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Relay Chat&#039;&#039;&#039;, commonly called &#039;&#039;&#039;IRC&#039;&#039;&#039;, is a real-time communication system.&lt;br /&gt;
&lt;br /&gt;
Users connect through an IRC client to an IRC server. Multiple linked IRC servers together form an IRC network.&lt;br /&gt;
&lt;br /&gt;
Users can then:&lt;br /&gt;
&lt;br /&gt;
* Join public or private channels.&lt;br /&gt;
* Send channel messages.&lt;br /&gt;
* Send private messages.&lt;br /&gt;
* Register nicknames.&lt;br /&gt;
* Register and manage channels.&lt;br /&gt;
* Participate in project communities.&lt;br /&gt;
* Request support.&lt;br /&gt;
* Use approved bots and services.&lt;br /&gt;
&lt;br /&gt;
IRC is not a website. Although web-based IRC clients may exist, IRC itself is a separate communication protocol.&lt;br /&gt;
&lt;br /&gt;
= 2. IRC Network, Server, Client, and Services =&lt;br /&gt;
&lt;br /&gt;
== IRC Network ==&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC network&#039;&#039;&#039; is a group of connected IRC servers that share users, channels, and messages.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is the network.&lt;br /&gt;
&lt;br /&gt;
== IRC Server ==&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC server&#039;&#039;&#039; accepts user connections and communicates with other servers on the network.&lt;br /&gt;
&lt;br /&gt;
A user normally connects through the main network address instead of selecting an individual server.&lt;br /&gt;
&lt;br /&gt;
The standard DarkWorld IRC connection address is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
irc.darkworld.network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IRC Client ==&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC client&#039;&#039;&#039; is the application used to connect to IRC.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* DWIRC&lt;br /&gt;
* HexChat&lt;br /&gt;
* mIRC&lt;br /&gt;
* WeeChat&lt;br /&gt;
* irssi&lt;br /&gt;
* KiwiIRC&lt;br /&gt;
* The Lounge&lt;br /&gt;
* Revolution IRC&lt;br /&gt;
* Other compatible IRC applications&lt;br /&gt;
&lt;br /&gt;
Staff should avoid insisting that every user use the same client. Assistance should focus on the required settings and protocol behavior.&lt;br /&gt;
&lt;br /&gt;
== IRC Services ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IRC Services&#039;&#039;&#039; provide persistent account and channel-management features.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* NickServ&lt;br /&gt;
* ChanServ&lt;br /&gt;
* MemoServ&lt;br /&gt;
* HostServ&lt;br /&gt;
* BotServ&lt;br /&gt;
* OperServ&lt;br /&gt;
&lt;br /&gt;
Services are connected to the IRC network, but they are not ordinary users.&lt;br /&gt;
&lt;br /&gt;
= 3. Connecting to DarkWorld IRC =&lt;br /&gt;
&lt;br /&gt;
The recommended public connection settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended value&lt;br /&gt;
|-&lt;br /&gt;
| Network&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| Server&lt;br /&gt;
| irc.darkworld.network&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| 6697&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS/SSL enabled&lt;br /&gt;
|-&lt;br /&gt;
| Accept invalid certificates&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| SASL&lt;br /&gt;
| Recommended for registered accounts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A typical URI may appear as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ircs://irc.darkworld.network:6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The `ircs://` prefix indicates an encrypted IRC connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Security notice:&#039;&#039;&#039; Staff should direct users to the current secure connection settings. Do not recommend an unencrypted port merely to bypass a TLS or certificate problem. Investigate or escalate the underlying problem.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connection Example ==&lt;br /&gt;
&lt;br /&gt;
In clients that support the `/SERVER` command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/SERVER irc.darkworld.network 6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The client must also be configured to use TLS. The exact syntax varies between clients.&lt;br /&gt;
&lt;br /&gt;
== Information to Request During Connection Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
When a user cannot connect, ask for:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Server address.&lt;br /&gt;
* Port number.&lt;br /&gt;
* Whether TLS is enabled.&lt;br /&gt;
* The exact error message.&lt;br /&gt;
* Approximate time of the attempt.&lt;br /&gt;
* Whether the problem affects one device or multiple devices.&lt;br /&gt;
* Whether another network connection was tested.&lt;br /&gt;
&lt;br /&gt;
Do not ask users to publicly post:&lt;br /&gt;
&lt;br /&gt;
* Account passwords.&lt;br /&gt;
* SASL passwords.&lt;br /&gt;
* Private keys.&lt;br /&gt;
* Authentication tokens.&lt;br /&gt;
* Full configuration files containing secrets.&lt;br /&gt;
* Unnecessarily exposed IP addresses.&lt;br /&gt;
&lt;br /&gt;
= 4. TLS =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transport Layer Security&#039;&#039;&#039;, or &#039;&#039;&#039;TLS&#039;&#039;&#039;, encrypts the connection between the IRC client and the IRC server.&lt;br /&gt;
&lt;br /&gt;
TLS helps protect:&lt;br /&gt;
&lt;br /&gt;
* Passwords.&lt;br /&gt;
* SASL authentication.&lt;br /&gt;
* Private messages while travelling between the client and server.&lt;br /&gt;
* Channel messages while travelling between the client and server.&lt;br /&gt;
* Account and connection information.&lt;br /&gt;
&lt;br /&gt;
TLS does not make public channel messages private. Anyone present in a public channel may read and log its messages.&lt;br /&gt;
&lt;br /&gt;
TLS also does not guarantee that another IRC user will keep a private conversation confidential.&lt;br /&gt;
&lt;br /&gt;
== Certificate Warnings ==&lt;br /&gt;
&lt;br /&gt;
A certificate warning may indicate:&lt;br /&gt;
&lt;br /&gt;
* An incorrect server name.&lt;br /&gt;
* An expired certificate.&lt;br /&gt;
* A certificate-name mismatch.&lt;br /&gt;
* An incomplete certificate chain.&lt;br /&gt;
* A local system clock problem.&lt;br /&gt;
* A network interception problem.&lt;br /&gt;
* An actual server-side configuration problem.&lt;br /&gt;
&lt;br /&gt;
Staff should not automatically tell users to disable certificate verification.&lt;br /&gt;
&lt;br /&gt;
The correct procedure is:&lt;br /&gt;
&lt;br /&gt;
# Record the exact warning.&lt;br /&gt;
# Confirm the server hostname.&lt;br /&gt;
# Confirm the device date and time.&lt;br /&gt;
# Check whether other users are affected.&lt;br /&gt;
# Escalate possible server certificate problems.&lt;br /&gt;
# Use a temporary alternative only when authorized.&lt;br /&gt;
&lt;br /&gt;
= 5. Nicknames, Usernames, Idents, and Real Names =&lt;br /&gt;
&lt;br /&gt;
An IRC identity contains several separate elements.&lt;br /&gt;
&lt;br /&gt;
== Nickname ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;nickname&#039;&#039;&#039; is the visible name used on IRC.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A nickname can normally be changed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NICK NewNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A nickname is not necessarily registered and is not always proof of identity.&lt;br /&gt;
&lt;br /&gt;
== Username or Ident ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;username&#039;&#039;&#039;, commonly called the &#039;&#039;&#039;ident&#039;&#039;&#039;, is another part of the IRC connection identity.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
falcon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ident is different from the nickname.&lt;br /&gt;
&lt;br /&gt;
== Hostname ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;hostname&#039;&#039;&#039; identifies the connection’s host information. Networks may hide the original host using cloaks or virtual hosts.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user.example.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IRC staff must not expose a user’s hidden address or confidential host information without an authorized operational reason.&lt;br /&gt;
&lt;br /&gt;
== Real Name or GECOS ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;real name&#039;&#039;&#039; field is a user-configurable description sent during connection.&lt;br /&gt;
&lt;br /&gt;
It may contain a real name, nickname, project name, or other text. It should not be treated as verified identity.&lt;br /&gt;
&lt;br /&gt;
== Services Account ==&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;Services account&#039;&#039;&#039; is the registered account recognized by NickServ.&lt;br /&gt;
&lt;br /&gt;
The account name may be different from the user’s current nickname.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| Current nickname&lt;br /&gt;
| Falcon-Away&lt;br /&gt;
|-&lt;br /&gt;
| Ident&lt;br /&gt;
| falcon&lt;br /&gt;
|-&lt;br /&gt;
| Displayed host&lt;br /&gt;
| User.DarkWorld.Network&lt;br /&gt;
|-&lt;br /&gt;
| NickServ account&lt;br /&gt;
| Falcon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Staff should use verified account information where account ownership matters. A current nickname alone is not proof of account ownership.&lt;br /&gt;
&lt;br /&gt;
= 6. Understanding IRC User Masks =&lt;br /&gt;
&lt;br /&gt;
A common IRC user mask has this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nickname!ident@hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon!falcon@User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parts are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Example&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Nickname&lt;br /&gt;
| Falcon&lt;br /&gt;
| Current visible nickname&lt;br /&gt;
|-&lt;br /&gt;
| Separator&lt;br /&gt;
| !&lt;br /&gt;
| Separates nickname and ident&lt;br /&gt;
|-&lt;br /&gt;
| Ident&lt;br /&gt;
| falcon&lt;br /&gt;
| Connection username&lt;br /&gt;
|-&lt;br /&gt;
| Separator&lt;br /&gt;
| @&lt;br /&gt;
| Separates ident and hostname&lt;br /&gt;
|-&lt;br /&gt;
| Hostname&lt;br /&gt;
| User.DarkWorld.Network&lt;br /&gt;
| Displayed host or cloak&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wildcards ==&lt;br /&gt;
&lt;br /&gt;
IRC masks commonly use:&lt;br /&gt;
&lt;br /&gt;
* `*` to match any number of characters.&lt;br /&gt;
* `?` to match one character, where supported.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon!*@*&lt;br /&gt;
*!falcon@*&lt;br /&gt;
*!*@User.DarkWorld.Network&lt;br /&gt;
*!*@*.example.net&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These masks are not equally precise.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! General effect&lt;br /&gt;
! Risk&lt;br /&gt;
|-&lt;br /&gt;
| `Falcon!*@*`&lt;br /&gt;
| Matches the nickname regardless of ident or host&lt;br /&gt;
| The user may change nickname&lt;br /&gt;
|-&lt;br /&gt;
| `*!falcon@*`&lt;br /&gt;
| Matches connections using the ident&lt;br /&gt;
| Other users may use the same ident&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@User.DarkWorld.Network`&lt;br /&gt;
| Matches the displayed host&lt;br /&gt;
| May affect multiple users if the host is shared&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*.example.net`&lt;br /&gt;
| Matches a wider host range&lt;br /&gt;
| May affect many unrelated users&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Broad masks can affect innocent users. Selecting and applying bans will be covered in the moderation module.&lt;br /&gt;
&lt;br /&gt;
= 7. Registered Nicknames and Accounts =&lt;br /&gt;
&lt;br /&gt;
NickServ allows users to register and manage an account.&lt;br /&gt;
&lt;br /&gt;
Common user commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
/MSG NickServ REGISTER&lt;br /&gt;
/MSG NickServ IDENTIFY account password&lt;br /&gt;
/MSG NickServ INFO nickname&lt;br /&gt;
/MSG NickServ STATUS nickname&lt;br /&gt;
/MSG NickServ RECOVER nickname&lt;br /&gt;
/MSG NickServ RELEASE nickname&lt;br /&gt;
/MSG NickServ GROUP nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact command syntax must be confirmed through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP command&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users should enter passwords only in the correct Services query or configured SASL fields.&lt;br /&gt;
&lt;br /&gt;
They must never send a password:&lt;br /&gt;
&lt;br /&gt;
* To a channel.&lt;br /&gt;
* To another user.&lt;br /&gt;
* To a staff member.&lt;br /&gt;
* To an unofficial bot.&lt;br /&gt;
* In a public support request.&lt;br /&gt;
&lt;br /&gt;
Staff should never ask a user to reveal their password.&lt;br /&gt;
&lt;br /&gt;
= 8. SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Simple Authentication and Security Layer&#039;&#039;&#039;, or &#039;&#039;&#039;SASL&#039;&#039;&#039;, allows an IRC client to authenticate to the registered account during the connection process.&lt;br /&gt;
&lt;br /&gt;
Benefits include:&lt;br /&gt;
&lt;br /&gt;
* Authentication before joining channels.&lt;br /&gt;
* More reliable account recognition.&lt;br /&gt;
* Access to registered-user features immediately after connection.&lt;br /&gt;
* Reduced dependence on manually sending an IDENTIFY command.&lt;br /&gt;
* Improved security when used over TLS.&lt;br /&gt;
&lt;br /&gt;
Typical SASL settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Authentication method&lt;br /&gt;
| SASL&lt;br /&gt;
|-&lt;br /&gt;
| Mechanism&lt;br /&gt;
| PLAIN, when supported and used over TLS&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| Registered NickServ account&lt;br /&gt;
|-&lt;br /&gt;
| Password&lt;br /&gt;
| NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Despite its name, the SASL PLAIN mechanism is safe only when protected by a properly verified TLS connection. Staff should recommend TLS together with SASL.&lt;br /&gt;
&lt;br /&gt;
= 9. Channels =&lt;br /&gt;
&lt;br /&gt;
IRC channels are shared conversation spaces.&lt;br /&gt;
&lt;br /&gt;
Channel names normally begin with `#`.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#DarkWorld&lt;br /&gt;
#Help&lt;br /&gt;
#Support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joining a Channel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To join multiple channels where supported:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #DarkWorld,#Help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Leaving a Channel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/PART #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With a reason:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/PART #DarkWorld Leaving for now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Viewing Channel Users ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NAMES #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Viewing or Changing a Topic ==&lt;br /&gt;
&lt;br /&gt;
View the topic:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/TOPIC #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the topic, when authorized:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/TOPIC #DarkWorld New topic text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Having technical ability to change a topic does not mean the change is authorized.&lt;br /&gt;
&lt;br /&gt;
== Inviting a User ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/INVITE nickname #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may require channel privileges depending on the channel configuration.&lt;br /&gt;
&lt;br /&gt;
== Kicking a User ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #channel nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #Training ExampleUser Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kicks must include a clear and professional reason. Moderation actions will be covered in a later module.&lt;br /&gt;
&lt;br /&gt;
= 10. Channel Messages, Private Messages, and Notices =&lt;br /&gt;
&lt;br /&gt;
== Channel Message ==&lt;br /&gt;
&lt;br /&gt;
A normal message sent while a channel is active is visible to users in that channel.&lt;br /&gt;
&lt;br /&gt;
Depending on the client, the raw command may be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG #channel message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Private Message ==&lt;br /&gt;
&lt;br /&gt;
A private message is sent directly to another nickname:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG nickname message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opening a private conversation may also use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/QUERY nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Private messages may still be logged by the recipient, IRC client, bouncer, bot, or an authorized system. Staff should not promise absolute privacy.&lt;br /&gt;
&lt;br /&gt;
== Notice ==&lt;br /&gt;
&lt;br /&gt;
A notice is generally intended for information that does not require an automatic reply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NOTICE nickname message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notices should not be used to bypass a user’s communication preferences or harass them.&lt;br /&gt;
&lt;br /&gt;
== Action Message ==&lt;br /&gt;
&lt;br /&gt;
An action is commonly sent using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ME performs an action&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a channel, users may see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Falcon performs an action&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 11. Essential IRC Commands =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| `/JOIN #channel`&lt;br /&gt;
| Join a channel&lt;br /&gt;
|-&lt;br /&gt;
| `/PART #channel reason`&lt;br /&gt;
| Leave a channel&lt;br /&gt;
|-&lt;br /&gt;
| `/NICK newnick`&lt;br /&gt;
| Change nickname&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
| View information about a connected user&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOWAS nickname`&lt;br /&gt;
| View limited information about a recently disconnected nickname&lt;br /&gt;
|-&lt;br /&gt;
| `/USERHOST nickname`&lt;br /&gt;
| Request basic user and host information&lt;br /&gt;
|-&lt;br /&gt;
| `/WHO #channel`&lt;br /&gt;
| View information about users in a channel&lt;br /&gt;
|-&lt;br /&gt;
| `/NAMES #channel`&lt;br /&gt;
| View the channel nickname list&lt;br /&gt;
|-&lt;br /&gt;
| `/MODE nickname`&lt;br /&gt;
| View user modes&lt;br /&gt;
|-&lt;br /&gt;
| `/MODE #channel`&lt;br /&gt;
| View channel modes&lt;br /&gt;
|-&lt;br /&gt;
| `/TOPIC #channel`&lt;br /&gt;
| View a channel topic&lt;br /&gt;
|-&lt;br /&gt;
| `/LIST`&lt;br /&gt;
| Request the visible channel list&lt;br /&gt;
|-&lt;br /&gt;
| `/MOTD`&lt;br /&gt;
| View the network Message of the Day&lt;br /&gt;
|-&lt;br /&gt;
| `/RULES`&lt;br /&gt;
| View network rules, where supported&lt;br /&gt;
|-&lt;br /&gt;
| `/VERSION`&lt;br /&gt;
| View server software information&lt;br /&gt;
|-&lt;br /&gt;
| `/ADMIN`&lt;br /&gt;
| View server administration information&lt;br /&gt;
|-&lt;br /&gt;
| `/LINKS`&lt;br /&gt;
| View linked IRC servers, where permitted&lt;br /&gt;
|-&lt;br /&gt;
| `/LUSERS`&lt;br /&gt;
| View network user and server statistics&lt;br /&gt;
|-&lt;br /&gt;
| `/TIME`&lt;br /&gt;
| View server time&lt;br /&gt;
|-&lt;br /&gt;
| `/PING value`&lt;br /&gt;
| Test responsiveness at the protocol level&lt;br /&gt;
|-&lt;br /&gt;
| `/QUIT reason`&lt;br /&gt;
| Disconnect from IRC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands that reveal additional information to IRC operators will be covered in the IRC Operator Fundamentals module.&lt;br /&gt;
&lt;br /&gt;
= 12. Using WHOIS Correctly =&lt;br /&gt;
&lt;br /&gt;
The `WHOIS` command provides information about a connected user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on permissions and network configuration, it may show:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Displayed hostname.&lt;br /&gt;
* Real-name field.&lt;br /&gt;
* Connected server.&lt;br /&gt;
* Channels.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* User modes or status.&lt;br /&gt;
* Secure connection status.&lt;br /&gt;
* Idle time.&lt;br /&gt;
* Operator status.&lt;br /&gt;
* Virtual host or cloak information.&lt;br /&gt;
&lt;br /&gt;
A more complete query may be available using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS nickname nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Results vary by server and client.&lt;br /&gt;
&lt;br /&gt;
== WHOIS Limitations ==&lt;br /&gt;
&lt;br /&gt;
WHOIS does not automatically prove:&lt;br /&gt;
&lt;br /&gt;
* The user’s legal identity.&lt;br /&gt;
* Ownership of an external social account.&lt;br /&gt;
* That the real-name field is accurate.&lt;br /&gt;
* That two similar nicknames are the same person.&lt;br /&gt;
* That every person on a shared connection is responsible for an incident.&lt;br /&gt;
&lt;br /&gt;
Staff must distinguish between displayed information, registered-account information, and verified evidence.&lt;br /&gt;
&lt;br /&gt;
= 13. User Modes and Channel Modes =&lt;br /&gt;
&lt;br /&gt;
The `/MODE` command is used for both users and channels.&lt;br /&gt;
&lt;br /&gt;
View your own user modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View channel modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View a channel ban list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View ban exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View invite exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes and their correct use will be covered fully in:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 14. Lag =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lag&#039;&#039;&#039; is a delay between sending an IRC command or message and receiving the resulting response.&lt;br /&gt;
&lt;br /&gt;
Possible causes include:&lt;br /&gt;
&lt;br /&gt;
* A slow user connection.&lt;br /&gt;
* High latency between the user and server.&lt;br /&gt;
* IRC server load.&lt;br /&gt;
* Network congestion.&lt;br /&gt;
* A temporary routing issue.&lt;br /&gt;
* Client or bouncer performance.&lt;br /&gt;
* Flood protection delaying commands.&lt;br /&gt;
&lt;br /&gt;
Signs of lag include:&lt;br /&gt;
&lt;br /&gt;
* Delayed messages.&lt;br /&gt;
* Slow command responses.&lt;br /&gt;
* Ping timeouts.&lt;br /&gt;
* Nickname changes appearing late.&lt;br /&gt;
* The client showing old channel information.&lt;br /&gt;
&lt;br /&gt;
Staff should determine whether lag affects:&lt;br /&gt;
&lt;br /&gt;
* One user.&lt;br /&gt;
* Users connected to one server.&lt;br /&gt;
* One geographic region.&lt;br /&gt;
* Multiple servers.&lt;br /&gt;
* The entire network.&lt;br /&gt;
&lt;br /&gt;
= 15. Ping Timeout =&lt;br /&gt;
&lt;br /&gt;
IRC servers send periodic checks to determine whether clients and linked servers remain responsive.&lt;br /&gt;
&lt;br /&gt;
A user may disconnect with a reason similar to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ping timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may happen because:&lt;br /&gt;
&lt;br /&gt;
* The user’s internet connection failed.&lt;br /&gt;
* The device slept or changed networks.&lt;br /&gt;
* A firewall interrupted the connection.&lt;br /&gt;
* The client stopped responding.&lt;br /&gt;
* Network latency became too high.&lt;br /&gt;
* A route between the user and server failed.&lt;br /&gt;
&lt;br /&gt;
A ping timeout does not, by itself, prove that the IRC server is malfunctioning.&lt;br /&gt;
&lt;br /&gt;
= 16. Netsplits =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;netsplit&#039;&#039;&#039; occurs when the connection between two linked IRC servers is lost.&lt;br /&gt;
&lt;br /&gt;
During a netsplit:&lt;br /&gt;
&lt;br /&gt;
* Users on one server may appear to quit together.&lt;br /&gt;
* Channels may temporarily appear to lose users.&lt;br /&gt;
* Users may continue chatting on separate sides of the network.&lt;br /&gt;
* Nickname or channel state may require synchronization.&lt;br /&gt;
* Servers may reconnect automatically.&lt;br /&gt;
* Users may return in a large group when the link is restored.&lt;br /&gt;
&lt;br /&gt;
A netsplit is different from a normal user disconnection.&lt;br /&gt;
&lt;br /&gt;
== Staff Response to a Netsplit ==&lt;br /&gt;
&lt;br /&gt;
Trainees should:&lt;br /&gt;
&lt;br /&gt;
# Avoid panic.&lt;br /&gt;
# Observe which servers and users are affected.&lt;br /&gt;
# Record the approximate time.&lt;br /&gt;
# Avoid unnecessary channel-mode changes.&lt;br /&gt;
# Do not assume departing users were banned.&lt;br /&gt;
# Check official server notices where authorized.&lt;br /&gt;
# Notify operational staff if the split persists.&lt;br /&gt;
# Reassure users without making unsupported claims.&lt;br /&gt;
# Allow synchronization to complete after reconnection.&lt;br /&gt;
&lt;br /&gt;
A trainee should not manually recreate access lists or issue broad corrective actions during an active netsplit unless directed by senior staff.&lt;br /&gt;
&lt;br /&gt;
= 17. Server Notices =&lt;br /&gt;
&lt;br /&gt;
Servers may send informational or operational messages called &#039;&#039;&#039;server notices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
They may report:&lt;br /&gt;
&lt;br /&gt;
* Connections.&lt;br /&gt;
* Disconnections.&lt;br /&gt;
* Authentication failures.&lt;br /&gt;
* Flood activity.&lt;br /&gt;
* Server links.&lt;br /&gt;
* Netsplits.&lt;br /&gt;
* Operator actions.&lt;br /&gt;
* Security events.&lt;br /&gt;
* Configuration or Services issues.&lt;br /&gt;
&lt;br /&gt;
Many notices are visible only to users with specific modes or privileges.&lt;br /&gt;
&lt;br /&gt;
Staff must not copy confidential server notices into public channels unless specifically authorized.&lt;br /&gt;
&lt;br /&gt;
= 18. Common Connection Errors =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Error&lt;br /&gt;
! Possible meaning&lt;br /&gt;
! First response&lt;br /&gt;
|-&lt;br /&gt;
| Connection refused&lt;br /&gt;
| Nothing is accepting the connection on that address or port&lt;br /&gt;
| Confirm server, port, and current service status&lt;br /&gt;
|-&lt;br /&gt;
| Connection timed out&lt;br /&gt;
| The server could not be reached&lt;br /&gt;
| Check internet, firewall, DNS, and route&lt;br /&gt;
|-&lt;br /&gt;
| TLS certificate error&lt;br /&gt;
| Certificate validation failed&lt;br /&gt;
| Record exact error and verify hostname and system time&lt;br /&gt;
|-&lt;br /&gt;
| Nickname already in use&lt;br /&gt;
| Another connection is using the nickname&lt;br /&gt;
| Use another nickname or recover the registered nickname&lt;br /&gt;
|-&lt;br /&gt;
| Password incorrect&lt;br /&gt;
| Authentication failed&lt;br /&gt;
| Verify account name and use the approved recovery procedure&lt;br /&gt;
|-&lt;br /&gt;
| SASL authentication failed&lt;br /&gt;
| Invalid credentials or SASL configuration&lt;br /&gt;
| Check account, password, mechanism, TLS, and client settings&lt;br /&gt;
|-&lt;br /&gt;
| You are banned&lt;br /&gt;
| A channel or network restriction applies&lt;br /&gt;
| Determine whether it is a channel ban or network restriction&lt;br /&gt;
|-&lt;br /&gt;
| Registration timeout&lt;br /&gt;
| Client did not complete connection registration&lt;br /&gt;
| Check client configuration, network, and authentication&lt;br /&gt;
|-&lt;br /&gt;
| Ping timeout&lt;br /&gt;
| Connection stopped responding&lt;br /&gt;
| Check connection stability and whether others are affected&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Staff should obtain the exact error instead of relying only on descriptions such as “IRC is not working.”&lt;br /&gt;
&lt;br /&gt;
= 19. Safe Troubleshooting Procedure =&lt;br /&gt;
&lt;br /&gt;
Use the following process:&lt;br /&gt;
&lt;br /&gt;
# Ask the user what they were trying to do.&lt;br /&gt;
# Ask for the exact error message.&lt;br /&gt;
# Confirm the server and port.&lt;br /&gt;
# Confirm whether TLS is enabled.&lt;br /&gt;
# Confirm the IRC client and version.&lt;br /&gt;
# Determine whether the problem affects other users.&lt;br /&gt;
# Check official service information.&lt;br /&gt;
# Provide one safe troubleshooting step at a time.&lt;br /&gt;
# Confirm the result.&lt;br /&gt;
# Escalate if the problem appears network-wide or security-related.&lt;br /&gt;
# Record the incident if required.&lt;br /&gt;
&lt;br /&gt;
Avoid requesting more personal information than necessary.&lt;br /&gt;
&lt;br /&gt;
= 20. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
These exercises should be performed in an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Secure Connection ==&lt;br /&gt;
&lt;br /&gt;
Configure an IRC client with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Server: irc.darkworld.network&lt;br /&gt;
Port: 6697&lt;br /&gt;
TLS: Enabled&lt;br /&gt;
Certificate verification: Enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record:&lt;br /&gt;
&lt;br /&gt;
* Client name and version.&lt;br /&gt;
* Connection time.&lt;br /&gt;
* Whether TLS was successfully established.&lt;br /&gt;
* Any error received.&lt;br /&gt;
&lt;br /&gt;
Do not submit account passwords.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Identity Information ==&lt;br /&gt;
&lt;br /&gt;
Using your own training identity:&lt;br /&gt;
&lt;br /&gt;
# Record your nickname.&lt;br /&gt;
# Record your ident.&lt;br /&gt;
# Record your displayed hostname.&lt;br /&gt;
# Record your registered account name.&lt;br /&gt;
# Explain how each value differs.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: User Mask ==&lt;br /&gt;
&lt;br /&gt;
Given:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trainee!student@Training.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Identify:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Hostname.&lt;br /&gt;
* Full user mask.&lt;br /&gt;
&lt;br /&gt;
Then explain what these masks would generally match:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trainee!*@*&lt;br /&gt;
*!student@*&lt;br /&gt;
*!*@Training.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Essential Commands ==&lt;br /&gt;
&lt;br /&gt;
Safely demonstrate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #ApprovedTrainingChannel&lt;br /&gt;
/NAMES #ApprovedTrainingChannel&lt;br /&gt;
/TOPIC #ApprovedTrainingChannel&lt;br /&gt;
/WHOIS YourNickname&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/PART #ApprovedTrainingChannel Exercise completed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not change channel modes or topics unless authorized.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Services Help ==&lt;br /&gt;
&lt;br /&gt;
Request official help using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
/MSG ChanServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Locate the correct help entry for:&lt;br /&gt;
&lt;br /&gt;
* Account identification.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Channel information.&lt;br /&gt;
* Channel access.&lt;br /&gt;
&lt;br /&gt;
Do not register test accounts or channels without permission.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Prepare a response to this report:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
“I cannot connect to DarkWorld. It just gives an error.”&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your response should ask for the information required to diagnose the problem without requesting passwords or unnecessary private data.&lt;br /&gt;
&lt;br /&gt;
= 21. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Password Posted Publicly ==&lt;br /&gt;
&lt;br /&gt;
A user posts their NickServ password in `#Help`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tell the user to change the password immediately through the official NickServ procedure. Avoid repeating or quoting the password. If possible and authorized, remove exposure from relevant logs or systems, and escalate if the account may have been compromised.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Certificate Warning ==&lt;br /&gt;
&lt;br /&gt;
A user receives a certificate-name mismatch and asks whether they should disable verification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not immediately recommend disabling verification. Confirm the server hostname, exact error, device time, and whether others are affected. Escalate a possible certificate problem.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Nickname Dispute ==&lt;br /&gt;
&lt;br /&gt;
A user is using a nickname that resembles another person’s nickname.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check registered-account information and the applicable policy. Similarity alone does not always establish impersonation. Collect facts and escalate where necessary.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Mass Quit ==&lt;br /&gt;
&lt;br /&gt;
Many users connected through the same server appear to quit simultaneously.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Consider a server disconnect or netsplit. Check which server was affected and review authorized notices. Do not assume every user intentionally left or was banned.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
Several users have the same displayed hostname.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not automatically assume they are the same person. They may use a shared provider, cloak, gateway, bouncer, VPN, or relay. Use additional authorized information and evidence.&lt;br /&gt;
&lt;br /&gt;
= 22. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the difference between an IRC network and an IRC server?&lt;br /&gt;
# What is the recommended DarkWorld IRC server address and secure port?&lt;br /&gt;
# What does TLS protect?&lt;br /&gt;
# Why should certificate verification not be disabled casually?&lt;br /&gt;
# What is the difference between a nickname and a NickServ account?&lt;br /&gt;
# Identify the three main components of `nickname!ident@hostname`.&lt;br /&gt;
# What does the `*` wildcard normally represent in an IRC mask?&lt;br /&gt;
# Why can a broad hostname ban affect innocent users?&lt;br /&gt;
# What is SASL?&lt;br /&gt;
# Why should SASL be used with TLS?&lt;br /&gt;
# What information can WHOIS provide?&lt;br /&gt;
# What information does WHOIS not prove?&lt;br /&gt;
# What is the difference between a private message and a notice?&lt;br /&gt;
# What is a ping timeout?&lt;br /&gt;
# What is a netsplit?&lt;br /&gt;
# What should a trainee do during a persistent netsplit?&lt;br /&gt;
# What information should staff request when troubleshooting a connection?&lt;br /&gt;
# What confidential information must staff never request in a public channel?&lt;br /&gt;
# Why should staff obtain the exact error message?&lt;br /&gt;
# What should happen when an apparent connection problem affects many users?&lt;br /&gt;
&lt;br /&gt;
= 23. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;400–600 words&#039;&#039;&#039; explaining how you would help a new user who:&lt;br /&gt;
&lt;br /&gt;
* Has never used IRC.&lt;br /&gt;
* Wants to connect securely to DarkWorld IRC.&lt;br /&gt;
* Wants to register an account.&lt;br /&gt;
* Wants automatic authentication.&lt;br /&gt;
* Does not understand the difference between a nickname and an account.&lt;br /&gt;
* Receives a “nickname already in use” message.&lt;br /&gt;
&lt;br /&gt;
Your answer must:&lt;br /&gt;
&lt;br /&gt;
* Recommend the correct secure connection settings.&lt;br /&gt;
* Explain TLS.&lt;br /&gt;
* Explain SASL.&lt;br /&gt;
* Avoid requesting or exposing the user’s password.&lt;br /&gt;
* Use clear and friendly language.&lt;br /&gt;
* Include appropriate escalation if account recovery fails.&lt;br /&gt;
&lt;br /&gt;
= 24. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Connect securely to DarkWorld IRC.&lt;br /&gt;
* Complete all authorized practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;15 of the 20&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate safe handling of passwords and connection information.&lt;br /&gt;
* Receive approval from the assigned trainer.&lt;br /&gt;
&lt;br /&gt;
= 25. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of IRC structure&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Secure connection and TLS knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Identity and user-mask knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Command usage&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Troubleshooting&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Privacy and security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The trainer should record:&lt;br /&gt;
&lt;br /&gt;
* Candidate’s score.&lt;br /&gt;
* Practical exercises completed.&lt;br /&gt;
* Security or privacy mistakes.&lt;br /&gt;
* Topics requiring review.&lt;br /&gt;
* Completion date.&lt;br /&gt;
* Trainer’s name.&lt;br /&gt;
* Result: Pass, Revision Required, or Fail.&lt;br /&gt;
&lt;br /&gt;
= 26. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command or setting&lt;br /&gt;
|-&lt;br /&gt;
| Secure server&lt;br /&gt;
| `irc.darkworld.network`&lt;br /&gt;
|-&lt;br /&gt;
| Secure port&lt;br /&gt;
| `6697`&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS enabled and certificate verified&lt;br /&gt;
|-&lt;br /&gt;
| Join a channel&lt;br /&gt;
| `/JOIN #channel`&lt;br /&gt;
|-&lt;br /&gt;
| Leave a channel&lt;br /&gt;
| `/PART #channel reason`&lt;br /&gt;
|-&lt;br /&gt;
| Change nickname&lt;br /&gt;
| `/NICK newnickname`&lt;br /&gt;
|-&lt;br /&gt;
| Check a user&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
|-&lt;br /&gt;
| View channel users&lt;br /&gt;
| `/NAMES #channel`&lt;br /&gt;
|-&lt;br /&gt;
| View channel modes&lt;br /&gt;
| `/MODE #channel`&lt;br /&gt;
|-&lt;br /&gt;
| View own user modes&lt;br /&gt;
| `/MODE YourNickname`&lt;br /&gt;
|-&lt;br /&gt;
| NickServ help&lt;br /&gt;
| `/MSG NickServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| ChanServ help&lt;br /&gt;
| `/MSG ChanServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Disconnect&lt;br /&gt;
| `/QUIT reason`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 27. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|Module 1 — DarkWorld IRC Network Introduction]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Fundamentals&amp;diff=382</id>
		<title>DWIRC:Staff Training/IRC Fundamentals</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/IRC_Fundamentals&amp;diff=382"/>
		<updated>2026-08-08T17:23:51Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 2 — IRC Fundamentals}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 2: IRC Fundamentals&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 2 of 10 |- ! Difficulty | Beginner |- ! Estima...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 2 — IRC Fundamentals}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 2: IRC Fundamentals&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 2 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Beginner&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 2–3 hours&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check and practical IRC exercises&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| [[DWIRC:Staff Training/Network Introduction|Module 1 — DarkWorld IRC Network Introduction]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
This module teaches the fundamental concepts and commands required to use and understand the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
Before a candidate can assist users or perform moderation duties, they must understand:&lt;br /&gt;
&lt;br /&gt;
* How IRC works.&lt;br /&gt;
* The difference between an IRC network and an IRC server.&lt;br /&gt;
* How users connect securely.&lt;br /&gt;
* Nicknames, usernames, idents, hostnames, and account names.&lt;br /&gt;
* Channels and private conversations.&lt;br /&gt;
* IRC user masks.&lt;br /&gt;
* Common IRC commands.&lt;br /&gt;
* TLS and SASL.&lt;br /&gt;
* Lag, disconnections, reconnections, and netsplits.&lt;br /&gt;
* How to collect useful information without violating user privacy.&lt;br /&gt;
&lt;br /&gt;
Commands may appear differently depending on the IRC client. The underlying IRC functions remain generally the same.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain how an IRC network operates.&lt;br /&gt;
# Connect securely to DarkWorld IRC.&lt;br /&gt;
# Explain the difference between a nickname and a Services account.&lt;br /&gt;
# Identify the components of an IRC user mask.&lt;br /&gt;
# Use common IRC commands correctly.&lt;br /&gt;
# Obtain relevant information using WHOIS and related commands.&lt;br /&gt;
# Explain the purpose of TLS and SASL.&lt;br /&gt;
# Recognize lag, a normal disconnection, and a netsplit.&lt;br /&gt;
# Distinguish between channel messages, private messages, and notices.&lt;br /&gt;
# Collect troubleshooting information without exposing confidential data.&lt;br /&gt;
&lt;br /&gt;
= 1. What Is IRC? =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Internet Relay Chat&#039;&#039;&#039;, commonly called &#039;&#039;&#039;IRC&#039;&#039;&#039;, is a real-time communication system.&lt;br /&gt;
&lt;br /&gt;
Users connect through an IRC client to an IRC server. Multiple linked IRC servers together form an IRC network.&lt;br /&gt;
&lt;br /&gt;
Users can then:&lt;br /&gt;
&lt;br /&gt;
* Join public or private channels.&lt;br /&gt;
* Send channel messages.&lt;br /&gt;
* Send private messages.&lt;br /&gt;
* Register nicknames.&lt;br /&gt;
* Register and manage channels.&lt;br /&gt;
* Participate in project communities.&lt;br /&gt;
* Request support.&lt;br /&gt;
* Use approved bots and services.&lt;br /&gt;
&lt;br /&gt;
IRC is not a website. Although web-based IRC clients may exist, IRC itself is a separate communication protocol.&lt;br /&gt;
&lt;br /&gt;
= 2. IRC Network, Server, Client, and Services =&lt;br /&gt;
&lt;br /&gt;
== IRC Network ==&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC network&#039;&#039;&#039; is a group of connected IRC servers that share users, channels, and messages.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is the network.&lt;br /&gt;
&lt;br /&gt;
== IRC Server ==&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC server&#039;&#039;&#039; accepts user connections and communicates with other servers on the network.&lt;br /&gt;
&lt;br /&gt;
A user normally connects through the main network address instead of selecting an individual server.&lt;br /&gt;
&lt;br /&gt;
The standard DarkWorld IRC connection address is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
irc.darkworld.network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== IRC Client ==&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;IRC client&#039;&#039;&#039; is the application used to connect to IRC.&lt;br /&gt;
&lt;br /&gt;
Examples may include:&lt;br /&gt;
&lt;br /&gt;
* DWIRC&lt;br /&gt;
* HexChat&lt;br /&gt;
* mIRC&lt;br /&gt;
* WeeChat&lt;br /&gt;
* irssi&lt;br /&gt;
* KiwiIRC&lt;br /&gt;
* The Lounge&lt;br /&gt;
* Revolution IRC&lt;br /&gt;
* Other compatible IRC applications&lt;br /&gt;
&lt;br /&gt;
Staff should avoid insisting that every user use the same client. Assistance should focus on the required settings and protocol behavior.&lt;br /&gt;
&lt;br /&gt;
== IRC Services ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IRC Services&#039;&#039;&#039; provide persistent account and channel-management features.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* NickServ&lt;br /&gt;
* ChanServ&lt;br /&gt;
* MemoServ&lt;br /&gt;
* HostServ&lt;br /&gt;
* BotServ&lt;br /&gt;
* OperServ&lt;br /&gt;
&lt;br /&gt;
Services are connected to the IRC network, but they are not ordinary users.&lt;br /&gt;
&lt;br /&gt;
= 3. Connecting to DarkWorld IRC =&lt;br /&gt;
&lt;br /&gt;
The recommended public connection settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Recommended value&lt;br /&gt;
|-&lt;br /&gt;
| Network&lt;br /&gt;
| DarkWorld IRC&lt;br /&gt;
|-&lt;br /&gt;
| Server&lt;br /&gt;
| irc.darkworld.network&lt;br /&gt;
|-&lt;br /&gt;
| Port&lt;br /&gt;
| 6697&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS/SSL enabled&lt;br /&gt;
|-&lt;br /&gt;
| Accept invalid certificates&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| SASL&lt;br /&gt;
| Recommended for registered accounts&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
A typical URI may appear as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ircs://irc.darkworld.network:6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The `ircs://` prefix indicates an encrypted IRC connection.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Security notice:&#039;&#039;&#039; Staff should direct users to the current secure connection settings. Do not recommend an unencrypted port merely to bypass a TLS or certificate problem. Investigate or escalate the underlying problem.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connection Example ==&lt;br /&gt;
&lt;br /&gt;
In clients that support the `/SERVER` command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/SERVER irc.darkworld.network 6697&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The client must also be configured to use TLS. The exact syntax varies between clients.&lt;br /&gt;
&lt;br /&gt;
== Information to Request During Connection Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
When a user cannot connect, ask for:&lt;br /&gt;
&lt;br /&gt;
* IRC client name and version.&lt;br /&gt;
* Server address.&lt;br /&gt;
* Port number.&lt;br /&gt;
* Whether TLS is enabled.&lt;br /&gt;
* The exact error message.&lt;br /&gt;
* Approximate time of the attempt.&lt;br /&gt;
* Whether the problem affects one device or multiple devices.&lt;br /&gt;
* Whether another network connection was tested.&lt;br /&gt;
&lt;br /&gt;
Do not ask users to publicly post:&lt;br /&gt;
&lt;br /&gt;
* Account passwords.&lt;br /&gt;
* SASL passwords.&lt;br /&gt;
* Private keys.&lt;br /&gt;
* Authentication tokens.&lt;br /&gt;
* Full configuration files containing secrets.&lt;br /&gt;
* Unnecessarily exposed IP addresses.&lt;br /&gt;
&lt;br /&gt;
= 4. TLS =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Transport Layer Security&#039;&#039;&#039;, or &#039;&#039;&#039;TLS&#039;&#039;&#039;, encrypts the connection between the IRC client and the IRC server.&lt;br /&gt;
&lt;br /&gt;
TLS helps protect:&lt;br /&gt;
&lt;br /&gt;
* Passwords.&lt;br /&gt;
* SASL authentication.&lt;br /&gt;
* Private messages while travelling between the client and server.&lt;br /&gt;
* Channel messages while travelling between the client and server.&lt;br /&gt;
* Account and connection information.&lt;br /&gt;
&lt;br /&gt;
TLS does not make public channel messages private. Anyone present in a public channel may read and log its messages.&lt;br /&gt;
&lt;br /&gt;
TLS also does not guarantee that another IRC user will keep a private conversation confidential.&lt;br /&gt;
&lt;br /&gt;
== Certificate Warnings ==&lt;br /&gt;
&lt;br /&gt;
A certificate warning may indicate:&lt;br /&gt;
&lt;br /&gt;
* An incorrect server name.&lt;br /&gt;
* An expired certificate.&lt;br /&gt;
* A certificate-name mismatch.&lt;br /&gt;
* An incomplete certificate chain.&lt;br /&gt;
* A local system clock problem.&lt;br /&gt;
* A network interception problem.&lt;br /&gt;
* An actual server-side configuration problem.&lt;br /&gt;
&lt;br /&gt;
Staff should not automatically tell users to disable certificate verification.&lt;br /&gt;
&lt;br /&gt;
The correct procedure is:&lt;br /&gt;
&lt;br /&gt;
# Record the exact warning.&lt;br /&gt;
# Confirm the server hostname.&lt;br /&gt;
# Confirm the device date and time.&lt;br /&gt;
# Check whether other users are affected.&lt;br /&gt;
# Escalate possible server certificate problems.&lt;br /&gt;
# Use a temporary alternative only when authorized.&lt;br /&gt;
&lt;br /&gt;
= 5. Nicknames, Usernames, Idents, and Real Names =&lt;br /&gt;
&lt;br /&gt;
An IRC identity contains several separate elements.&lt;br /&gt;
&lt;br /&gt;
== Nickname ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;nickname&#039;&#039;&#039; is the visible name used on IRC.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A nickname can normally be changed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NICK NewNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A nickname is not necessarily registered and is not always proof of identity.&lt;br /&gt;
&lt;br /&gt;
== Username or Ident ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;username&#039;&#039;&#039;, commonly called the &#039;&#039;&#039;ident&#039;&#039;&#039;, is another part of the IRC connection identity.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
falcon&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ident is different from the nickname.&lt;br /&gt;
&lt;br /&gt;
== Hostname ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;hostname&#039;&#039;&#039; identifies the connection’s host information. Networks may hide the original host using cloaks or virtual hosts.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
user.example.host&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
IRC staff must not expose a user’s hidden address or confidential host information without an authorized operational reason.&lt;br /&gt;
&lt;br /&gt;
== Real Name or GECOS ==&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;real name&#039;&#039;&#039; field is a user-configurable description sent during connection.&lt;br /&gt;
&lt;br /&gt;
It may contain a real name, nickname, project name, or other text. It should not be treated as verified identity.&lt;br /&gt;
&lt;br /&gt;
== Services Account ==&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;Services account&#039;&#039;&#039; is the registered account recognized by NickServ.&lt;br /&gt;
&lt;br /&gt;
The account name may be different from the user’s current nickname.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Field&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| Current nickname&lt;br /&gt;
| Falcon-Away&lt;br /&gt;
|-&lt;br /&gt;
| Ident&lt;br /&gt;
| falcon&lt;br /&gt;
|-&lt;br /&gt;
| Displayed host&lt;br /&gt;
| User.DarkWorld.Network&lt;br /&gt;
|-&lt;br /&gt;
| NickServ account&lt;br /&gt;
| Falcon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Staff should use verified account information where account ownership matters. A current nickname alone is not proof of account ownership.&lt;br /&gt;
&lt;br /&gt;
= 6. Understanding IRC User Masks =&lt;br /&gt;
&lt;br /&gt;
A common IRC user mask has this form:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nickname!ident@hostname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon!falcon@User.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The parts are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Component&lt;br /&gt;
! Example&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Nickname&lt;br /&gt;
| Falcon&lt;br /&gt;
| Current visible nickname&lt;br /&gt;
|-&lt;br /&gt;
| Separator&lt;br /&gt;
| !&lt;br /&gt;
| Separates nickname and ident&lt;br /&gt;
|-&lt;br /&gt;
| Ident&lt;br /&gt;
| falcon&lt;br /&gt;
| Connection username&lt;br /&gt;
|-&lt;br /&gt;
| Separator&lt;br /&gt;
| @&lt;br /&gt;
| Separates ident and hostname&lt;br /&gt;
|-&lt;br /&gt;
| Hostname&lt;br /&gt;
| User.DarkWorld.Network&lt;br /&gt;
| Displayed host or cloak&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wildcards ==&lt;br /&gt;
&lt;br /&gt;
IRC masks commonly use:&lt;br /&gt;
&lt;br /&gt;
* `*` to match any number of characters.&lt;br /&gt;
* `?` to match one character, where supported.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Falcon!*@*&lt;br /&gt;
*!falcon@*&lt;br /&gt;
*!*@User.DarkWorld.Network&lt;br /&gt;
*!*@*.example.net&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These masks are not equally precise.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Mask&lt;br /&gt;
! General effect&lt;br /&gt;
! Risk&lt;br /&gt;
|-&lt;br /&gt;
| `Falcon!*@*`&lt;br /&gt;
| Matches the nickname regardless of ident or host&lt;br /&gt;
| The user may change nickname&lt;br /&gt;
|-&lt;br /&gt;
| `*!falcon@*`&lt;br /&gt;
| Matches connections using the ident&lt;br /&gt;
| Other users may use the same ident&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@User.DarkWorld.Network`&lt;br /&gt;
| Matches the displayed host&lt;br /&gt;
| May affect multiple users if the host is shared&lt;br /&gt;
|-&lt;br /&gt;
| `*!*@*.example.net`&lt;br /&gt;
| Matches a wider host range&lt;br /&gt;
| May affect many unrelated users&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Broad masks can affect innocent users. Selecting and applying bans will be covered in the moderation module.&lt;br /&gt;
&lt;br /&gt;
= 7. Registered Nicknames and Accounts =&lt;br /&gt;
&lt;br /&gt;
NickServ allows users to register and manage an account.&lt;br /&gt;
&lt;br /&gt;
Common user commands may include:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
/MSG NickServ REGISTER&lt;br /&gt;
/MSG NickServ IDENTIFY account password&lt;br /&gt;
/MSG NickServ INFO nickname&lt;br /&gt;
/MSG NickServ STATUS nickname&lt;br /&gt;
/MSG NickServ RECOVER nickname&lt;br /&gt;
/MSG NickServ RELEASE nickname&lt;br /&gt;
/MSG NickServ GROUP nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact command syntax must be confirmed through:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP command&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Users should enter passwords only in the correct Services query or configured SASL fields.&lt;br /&gt;
&lt;br /&gt;
They must never send a password:&lt;br /&gt;
&lt;br /&gt;
* To a channel.&lt;br /&gt;
* To another user.&lt;br /&gt;
* To a staff member.&lt;br /&gt;
* To an unofficial bot.&lt;br /&gt;
* In a public support request.&lt;br /&gt;
&lt;br /&gt;
Staff should never ask a user to reveal their password.&lt;br /&gt;
&lt;br /&gt;
= 8. SASL Authentication =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Simple Authentication and Security Layer&#039;&#039;&#039;, or &#039;&#039;&#039;SASL&#039;&#039;&#039;, allows an IRC client to authenticate to the registered account during the connection process.&lt;br /&gt;
&lt;br /&gt;
Benefits include:&lt;br /&gt;
&lt;br /&gt;
* Authentication before joining channels.&lt;br /&gt;
* More reliable account recognition.&lt;br /&gt;
* Access to registered-user features immediately after connection.&lt;br /&gt;
* Reduced dependence on manually sending an IDENTIFY command.&lt;br /&gt;
* Improved security when used over TLS.&lt;br /&gt;
&lt;br /&gt;
Typical SASL settings are:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting&lt;br /&gt;
! Value&lt;br /&gt;
|-&lt;br /&gt;
| Authentication method&lt;br /&gt;
| SASL&lt;br /&gt;
|-&lt;br /&gt;
| Mechanism&lt;br /&gt;
| PLAIN, when supported and used over TLS&lt;br /&gt;
|-&lt;br /&gt;
| Account&lt;br /&gt;
| Registered NickServ account&lt;br /&gt;
|-&lt;br /&gt;
| Password&lt;br /&gt;
| NickServ account password&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Despite its name, the SASL PLAIN mechanism is safe only when protected by a properly verified TLS connection. Staff should recommend TLS together with SASL.&lt;br /&gt;
&lt;br /&gt;
= 9. Channels =&lt;br /&gt;
&lt;br /&gt;
IRC channels are shared conversation spaces.&lt;br /&gt;
&lt;br /&gt;
Channel names normally begin with `#`.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#DarkWorld&lt;br /&gt;
#Help&lt;br /&gt;
#Support&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Joining a Channel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To join multiple channels where supported:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #DarkWorld,#Help&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Leaving a Channel ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/PART #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With a reason:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/PART #DarkWorld Leaving for now&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Viewing Channel Users ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NAMES #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Viewing or Changing a Topic ==&lt;br /&gt;
&lt;br /&gt;
View the topic:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/TOPIC #DarkWorld&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Change the topic, when authorized:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/TOPIC #DarkWorld New topic text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Having technical ability to change a topic does not mean the change is authorized.&lt;br /&gt;
&lt;br /&gt;
== Inviting a User ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/INVITE nickname #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may require channel privileges depending on the channel configuration.&lt;br /&gt;
&lt;br /&gt;
== Kicking a User ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #channel nickname reason&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/KICK #Training ExampleUser Repeated flooding after warning&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kicks must include a clear and professional reason. Moderation actions will be covered in a later module.&lt;br /&gt;
&lt;br /&gt;
= 10. Channel Messages, Private Messages, and Notices =&lt;br /&gt;
&lt;br /&gt;
== Channel Message ==&lt;br /&gt;
&lt;br /&gt;
A normal message sent while a channel is active is visible to users in that channel.&lt;br /&gt;
&lt;br /&gt;
Depending on the client, the raw command may be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG #channel message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Private Message ==&lt;br /&gt;
&lt;br /&gt;
A private message is sent directly to another nickname:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG nickname message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Opening a private conversation may also use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/QUERY nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Private messages may still be logged by the recipient, IRC client, bouncer, bot, or an authorized system. Staff should not promise absolute privacy.&lt;br /&gt;
&lt;br /&gt;
== Notice ==&lt;br /&gt;
&lt;br /&gt;
A notice is generally intended for information that does not require an automatic reply:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/NOTICE nickname message&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Notices should not be used to bypass a user’s communication preferences or harass them.&lt;br /&gt;
&lt;br /&gt;
== Action Message ==&lt;br /&gt;
&lt;br /&gt;
An action is commonly sent using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/ME performs an action&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In a channel, users may see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Falcon performs an action&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 11. Essential IRC Commands =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Command&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| `/JOIN #channel`&lt;br /&gt;
| Join a channel&lt;br /&gt;
|-&lt;br /&gt;
| `/PART #channel reason`&lt;br /&gt;
| Leave a channel&lt;br /&gt;
|-&lt;br /&gt;
| `/NICK newnick`&lt;br /&gt;
| Change nickname&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
| View information about a connected user&lt;br /&gt;
|-&lt;br /&gt;
| `/WHOWAS nickname`&lt;br /&gt;
| View limited information about a recently disconnected nickname&lt;br /&gt;
|-&lt;br /&gt;
| `/USERHOST nickname`&lt;br /&gt;
| Request basic user and host information&lt;br /&gt;
|-&lt;br /&gt;
| `/WHO #channel`&lt;br /&gt;
| View information about users in a channel&lt;br /&gt;
|-&lt;br /&gt;
| `/NAMES #channel`&lt;br /&gt;
| View the channel nickname list&lt;br /&gt;
|-&lt;br /&gt;
| `/MODE nickname`&lt;br /&gt;
| View user modes&lt;br /&gt;
|-&lt;br /&gt;
| `/MODE #channel`&lt;br /&gt;
| View channel modes&lt;br /&gt;
|-&lt;br /&gt;
| `/TOPIC #channel`&lt;br /&gt;
| View a channel topic&lt;br /&gt;
|-&lt;br /&gt;
| `/LIST`&lt;br /&gt;
| Request the visible channel list&lt;br /&gt;
|-&lt;br /&gt;
| `/MOTD`&lt;br /&gt;
| View the network Message of the Day&lt;br /&gt;
|-&lt;br /&gt;
| `/RULES`&lt;br /&gt;
| View network rules, where supported&lt;br /&gt;
|-&lt;br /&gt;
| `/VERSION`&lt;br /&gt;
| View server software information&lt;br /&gt;
|-&lt;br /&gt;
| `/ADMIN`&lt;br /&gt;
| View server administration information&lt;br /&gt;
|-&lt;br /&gt;
| `/LINKS`&lt;br /&gt;
| View linked IRC servers, where permitted&lt;br /&gt;
|-&lt;br /&gt;
| `/LUSERS`&lt;br /&gt;
| View network user and server statistics&lt;br /&gt;
|-&lt;br /&gt;
| `/TIME`&lt;br /&gt;
| View server time&lt;br /&gt;
|-&lt;br /&gt;
| `/PING value`&lt;br /&gt;
| Test responsiveness at the protocol level&lt;br /&gt;
|-&lt;br /&gt;
| `/QUIT reason`&lt;br /&gt;
| Disconnect from IRC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Commands that reveal additional information to IRC operators will be covered in the IRC Operator Fundamentals module.&lt;br /&gt;
&lt;br /&gt;
= 12. Using WHOIS Correctly =&lt;br /&gt;
&lt;br /&gt;
The `WHOIS` command provides information about a connected user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending on permissions and network configuration, it may show:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Displayed hostname.&lt;br /&gt;
* Real-name field.&lt;br /&gt;
* Connected server.&lt;br /&gt;
* Channels.&lt;br /&gt;
* Registered account.&lt;br /&gt;
* User modes or status.&lt;br /&gt;
* Secure connection status.&lt;br /&gt;
* Idle time.&lt;br /&gt;
* Operator status.&lt;br /&gt;
* Virtual host or cloak information.&lt;br /&gt;
&lt;br /&gt;
A more complete query may be available using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/WHOIS nickname nickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Results vary by server and client.&lt;br /&gt;
&lt;br /&gt;
== WHOIS Limitations ==&lt;br /&gt;
&lt;br /&gt;
WHOIS does not automatically prove:&lt;br /&gt;
&lt;br /&gt;
* The user’s legal identity.&lt;br /&gt;
* Ownership of an external social account.&lt;br /&gt;
* That the real-name field is accurate.&lt;br /&gt;
* That two similar nicknames are the same person.&lt;br /&gt;
* That every person on a shared connection is responsible for an incident.&lt;br /&gt;
&lt;br /&gt;
Staff must distinguish between displayed information, registered-account information, and verified evidence.&lt;br /&gt;
&lt;br /&gt;
= 13. User Modes and Channel Modes =&lt;br /&gt;
&lt;br /&gt;
The `/MODE` command is used for both users and channels.&lt;br /&gt;
&lt;br /&gt;
View your own user modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View channel modes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View a channel ban list:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +b&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View ban exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
View invite exceptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MODE #channel +I&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Modes and their correct use will be covered fully in:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/User and Channel Modes|Module 4 — User and Channel Modes]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= 14. Lag =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lag&#039;&#039;&#039; is a delay between sending an IRC command or message and receiving the resulting response.&lt;br /&gt;
&lt;br /&gt;
Possible causes include:&lt;br /&gt;
&lt;br /&gt;
* A slow user connection.&lt;br /&gt;
* High latency between the user and server.&lt;br /&gt;
* IRC server load.&lt;br /&gt;
* Network congestion.&lt;br /&gt;
* A temporary routing issue.&lt;br /&gt;
* Client or bouncer performance.&lt;br /&gt;
* Flood protection delaying commands.&lt;br /&gt;
&lt;br /&gt;
Signs of lag include:&lt;br /&gt;
&lt;br /&gt;
* Delayed messages.&lt;br /&gt;
* Slow command responses.&lt;br /&gt;
* Ping timeouts.&lt;br /&gt;
* Nickname changes appearing late.&lt;br /&gt;
* The client showing old channel information.&lt;br /&gt;
&lt;br /&gt;
Staff should determine whether lag affects:&lt;br /&gt;
&lt;br /&gt;
* One user.&lt;br /&gt;
* Users connected to one server.&lt;br /&gt;
* One geographic region.&lt;br /&gt;
* Multiple servers.&lt;br /&gt;
* The entire network.&lt;br /&gt;
&lt;br /&gt;
= 15. Ping Timeout =&lt;br /&gt;
&lt;br /&gt;
IRC servers send periodic checks to determine whether clients and linked servers remain responsive.&lt;br /&gt;
&lt;br /&gt;
A user may disconnect with a reason similar to:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Ping timeout&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This may happen because:&lt;br /&gt;
&lt;br /&gt;
* The user’s internet connection failed.&lt;br /&gt;
* The device slept or changed networks.&lt;br /&gt;
* A firewall interrupted the connection.&lt;br /&gt;
* The client stopped responding.&lt;br /&gt;
* Network latency became too high.&lt;br /&gt;
* A route between the user and server failed.&lt;br /&gt;
&lt;br /&gt;
A ping timeout does not, by itself, prove that the IRC server is malfunctioning.&lt;br /&gt;
&lt;br /&gt;
= 16. Netsplits =&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;netsplit&#039;&#039;&#039; occurs when the connection between two linked IRC servers is lost.&lt;br /&gt;
&lt;br /&gt;
During a netsplit:&lt;br /&gt;
&lt;br /&gt;
* Users on one server may appear to quit together.&lt;br /&gt;
* Channels may temporarily appear to lose users.&lt;br /&gt;
* Users may continue chatting on separate sides of the network.&lt;br /&gt;
* Nickname or channel state may require synchronization.&lt;br /&gt;
* Servers may reconnect automatically.&lt;br /&gt;
* Users may return in a large group when the link is restored.&lt;br /&gt;
&lt;br /&gt;
A netsplit is different from a normal user disconnection.&lt;br /&gt;
&lt;br /&gt;
== Staff Response to a Netsplit ==&lt;br /&gt;
&lt;br /&gt;
Trainees should:&lt;br /&gt;
&lt;br /&gt;
# Avoid panic.&lt;br /&gt;
# Observe which servers and users are affected.&lt;br /&gt;
# Record the approximate time.&lt;br /&gt;
# Avoid unnecessary channel-mode changes.&lt;br /&gt;
# Do not assume departing users were banned.&lt;br /&gt;
# Check official server notices where authorized.&lt;br /&gt;
# Notify operational staff if the split persists.&lt;br /&gt;
# Reassure users without making unsupported claims.&lt;br /&gt;
# Allow synchronization to complete after reconnection.&lt;br /&gt;
&lt;br /&gt;
A trainee should not manually recreate access lists or issue broad corrective actions during an active netsplit unless directed by senior staff.&lt;br /&gt;
&lt;br /&gt;
= 17. Server Notices =&lt;br /&gt;
&lt;br /&gt;
Servers may send informational or operational messages called &#039;&#039;&#039;server notices&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
They may report:&lt;br /&gt;
&lt;br /&gt;
* Connections.&lt;br /&gt;
* Disconnections.&lt;br /&gt;
* Authentication failures.&lt;br /&gt;
* Flood activity.&lt;br /&gt;
* Server links.&lt;br /&gt;
* Netsplits.&lt;br /&gt;
* Operator actions.&lt;br /&gt;
* Security events.&lt;br /&gt;
* Configuration or Services issues.&lt;br /&gt;
&lt;br /&gt;
Many notices are visible only to users with specific modes or privileges.&lt;br /&gt;
&lt;br /&gt;
Staff must not copy confidential server notices into public channels unless specifically authorized.&lt;br /&gt;
&lt;br /&gt;
= 18. Common Connection Errors =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Error&lt;br /&gt;
! Possible meaning&lt;br /&gt;
! First response&lt;br /&gt;
|-&lt;br /&gt;
| Connection refused&lt;br /&gt;
| Nothing is accepting the connection on that address or port&lt;br /&gt;
| Confirm server, port, and current service status&lt;br /&gt;
|-&lt;br /&gt;
| Connection timed out&lt;br /&gt;
| The server could not be reached&lt;br /&gt;
| Check internet, firewall, DNS, and route&lt;br /&gt;
|-&lt;br /&gt;
| TLS certificate error&lt;br /&gt;
| Certificate validation failed&lt;br /&gt;
| Record exact error and verify hostname and system time&lt;br /&gt;
|-&lt;br /&gt;
| Nickname already in use&lt;br /&gt;
| Another connection is using the nickname&lt;br /&gt;
| Use another nickname or recover the registered nickname&lt;br /&gt;
|-&lt;br /&gt;
| Password incorrect&lt;br /&gt;
| Authentication failed&lt;br /&gt;
| Verify account name and use the approved recovery procedure&lt;br /&gt;
|-&lt;br /&gt;
| SASL authentication failed&lt;br /&gt;
| Invalid credentials or SASL configuration&lt;br /&gt;
| Check account, password, mechanism, TLS, and client settings&lt;br /&gt;
|-&lt;br /&gt;
| You are banned&lt;br /&gt;
| A channel or network restriction applies&lt;br /&gt;
| Determine whether it is a channel ban or network restriction&lt;br /&gt;
|-&lt;br /&gt;
| Registration timeout&lt;br /&gt;
| Client did not complete connection registration&lt;br /&gt;
| Check client configuration, network, and authentication&lt;br /&gt;
|-&lt;br /&gt;
| Ping timeout&lt;br /&gt;
| Connection stopped responding&lt;br /&gt;
| Check connection stability and whether others are affected&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Staff should obtain the exact error instead of relying only on descriptions such as “IRC is not working.”&lt;br /&gt;
&lt;br /&gt;
= 19. Safe Troubleshooting Procedure =&lt;br /&gt;
&lt;br /&gt;
Use the following process:&lt;br /&gt;
&lt;br /&gt;
# Ask the user what they were trying to do.&lt;br /&gt;
# Ask for the exact error message.&lt;br /&gt;
# Confirm the server and port.&lt;br /&gt;
# Confirm whether TLS is enabled.&lt;br /&gt;
# Confirm the IRC client and version.&lt;br /&gt;
# Determine whether the problem affects other users.&lt;br /&gt;
# Check official service information.&lt;br /&gt;
# Provide one safe troubleshooting step at a time.&lt;br /&gt;
# Confirm the result.&lt;br /&gt;
# Escalate if the problem appears network-wide or security-related.&lt;br /&gt;
# Record the incident if required.&lt;br /&gt;
&lt;br /&gt;
Avoid requesting more personal information than necessary.&lt;br /&gt;
&lt;br /&gt;
= 20. Practical Exercises =&lt;br /&gt;
&lt;br /&gt;
These exercises should be performed in an approved training channel.&lt;br /&gt;
&lt;br /&gt;
== Exercise 1: Secure Connection ==&lt;br /&gt;
&lt;br /&gt;
Configure an IRC client with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Server: irc.darkworld.network&lt;br /&gt;
Port: 6697&lt;br /&gt;
TLS: Enabled&lt;br /&gt;
Certificate verification: Enabled&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Record:&lt;br /&gt;
&lt;br /&gt;
* Client name and version.&lt;br /&gt;
* Connection time.&lt;br /&gt;
* Whether TLS was successfully established.&lt;br /&gt;
* Any error received.&lt;br /&gt;
&lt;br /&gt;
Do not submit account passwords.&lt;br /&gt;
&lt;br /&gt;
== Exercise 2: Identity Information ==&lt;br /&gt;
&lt;br /&gt;
Using your own training identity:&lt;br /&gt;
&lt;br /&gt;
# Record your nickname.&lt;br /&gt;
# Record your ident.&lt;br /&gt;
# Record your displayed hostname.&lt;br /&gt;
# Record your registered account name.&lt;br /&gt;
# Explain how each value differs.&lt;br /&gt;
&lt;br /&gt;
== Exercise 3: User Mask ==&lt;br /&gt;
&lt;br /&gt;
Given:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trainee!student@Training.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Identify:&lt;br /&gt;
&lt;br /&gt;
* Nickname.&lt;br /&gt;
* Ident.&lt;br /&gt;
* Hostname.&lt;br /&gt;
* Full user mask.&lt;br /&gt;
&lt;br /&gt;
Then explain what these masks would generally match:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trainee!*@*&lt;br /&gt;
*!student@*&lt;br /&gt;
*!*@Training.DarkWorld.Network&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exercise 4: Essential Commands ==&lt;br /&gt;
&lt;br /&gt;
Safely demonstrate:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/JOIN #ApprovedTrainingChannel&lt;br /&gt;
/NAMES #ApprovedTrainingChannel&lt;br /&gt;
/TOPIC #ApprovedTrainingChannel&lt;br /&gt;
/WHOIS YourNickname&lt;br /&gt;
/MODE YourNickname&lt;br /&gt;
/MODE #ApprovedTrainingChannel&lt;br /&gt;
/PART #ApprovedTrainingChannel Exercise completed&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Do not change channel modes or topics unless authorized.&lt;br /&gt;
&lt;br /&gt;
== Exercise 5: Services Help ==&lt;br /&gt;
&lt;br /&gt;
Request official help using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/MSG NickServ HELP&lt;br /&gt;
/MSG ChanServ HELP&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Locate the correct help entry for:&lt;br /&gt;
&lt;br /&gt;
* Account identification.&lt;br /&gt;
* Account information.&lt;br /&gt;
* Channel information.&lt;br /&gt;
* Channel access.&lt;br /&gt;
&lt;br /&gt;
Do not register test accounts or channels without permission.&lt;br /&gt;
&lt;br /&gt;
== Exercise 6: Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
Prepare a response to this report:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
“I cannot connect to DarkWorld. It just gives an error.”&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Your response should ask for the information required to diagnose the problem without requesting passwords or unnecessary private data.&lt;br /&gt;
&lt;br /&gt;
= 21. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Password Posted Publicly ==&lt;br /&gt;
&lt;br /&gt;
A user posts their NickServ password in `#Help`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Tell the user to change the password immediately through the official NickServ procedure. Avoid repeating or quoting the password. If possible and authorized, remove exposure from relevant logs or systems, and escalate if the account may have been compromised.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Certificate Warning ==&lt;br /&gt;
&lt;br /&gt;
A user receives a certificate-name mismatch and asks whether they should disable verification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not immediately recommend disabling verification. Confirm the server hostname, exact error, device time, and whether others are affected. Escalate a possible certificate problem.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Nickname Dispute ==&lt;br /&gt;
&lt;br /&gt;
A user is using a nickname that resembles another person’s nickname.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check registered-account information and the applicable policy. Similarity alone does not always establish impersonation. Collect facts and escalate where necessary.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Mass Quit ==&lt;br /&gt;
&lt;br /&gt;
Many users connected through the same server appear to quit simultaneously.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Consider a server disconnect or netsplit. Check which server was affected and review authorized notices. Do not assume every user intentionally left or was banned.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Shared Host ==&lt;br /&gt;
&lt;br /&gt;
Several users have the same displayed hostname.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not automatically assume they are the same person. They may use a shared provider, cloak, gateway, bouncer, VPN, or relay. Use additional authorized information and evidence.&lt;br /&gt;
&lt;br /&gt;
= 22. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words:&lt;br /&gt;
&lt;br /&gt;
# What is the difference between an IRC network and an IRC server?&lt;br /&gt;
# What is the recommended DarkWorld IRC server address and secure port?&lt;br /&gt;
# What does TLS protect?&lt;br /&gt;
# Why should certificate verification not be disabled casually?&lt;br /&gt;
# What is the difference between a nickname and a NickServ account?&lt;br /&gt;
# Identify the three main components of `nickname!ident@hostname`.&lt;br /&gt;
# What does the `*` wildcard normally represent in an IRC mask?&lt;br /&gt;
# Why can a broad hostname ban affect innocent users?&lt;br /&gt;
# What is SASL?&lt;br /&gt;
# Why should SASL be used with TLS?&lt;br /&gt;
# What information can WHOIS provide?&lt;br /&gt;
# What information does WHOIS not prove?&lt;br /&gt;
# What is the difference between a private message and a notice?&lt;br /&gt;
# What is a ping timeout?&lt;br /&gt;
# What is a netsplit?&lt;br /&gt;
# What should a trainee do during a persistent netsplit?&lt;br /&gt;
# What information should staff request when troubleshooting a connection?&lt;br /&gt;
# What confidential information must staff never request in a public channel?&lt;br /&gt;
# Why should staff obtain the exact error message?&lt;br /&gt;
# What should happen when an apparent connection problem affects many users?&lt;br /&gt;
&lt;br /&gt;
= 23. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write approximately &#039;&#039;&#039;400–600 words&#039;&#039;&#039; explaining how you would help a new user who:&lt;br /&gt;
&lt;br /&gt;
* Has never used IRC.&lt;br /&gt;
* Wants to connect securely to DarkWorld IRC.&lt;br /&gt;
* Wants to register an account.&lt;br /&gt;
* Wants automatic authentication.&lt;br /&gt;
* Does not understand the difference between a nickname and an account.&lt;br /&gt;
* Receives a “nickname already in use” message.&lt;br /&gt;
&lt;br /&gt;
Your answer must:&lt;br /&gt;
&lt;br /&gt;
* Recommend the correct secure connection settings.&lt;br /&gt;
* Explain TLS.&lt;br /&gt;
* Explain SASL.&lt;br /&gt;
* Avoid requesting or exposing the user’s password.&lt;br /&gt;
* Use clear and friendly language.&lt;br /&gt;
* Include appropriate escalation if account recovery fails.&lt;br /&gt;
&lt;br /&gt;
= 24. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Connect securely to DarkWorld IRC.&lt;br /&gt;
* Complete all authorized practical exercises.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;15 of the 20&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate safe handling of passwords and connection information.&lt;br /&gt;
* Receive approval from the assigned trainer.&lt;br /&gt;
&lt;br /&gt;
= 25. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of IRC structure&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Secure connection and TLS knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Identity and user-mask knowledge&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Command usage&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Troubleshooting&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
| Privacy and security&lt;br /&gt;
| 15&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The trainer should record:&lt;br /&gt;
&lt;br /&gt;
* Candidate’s score.&lt;br /&gt;
* Practical exercises completed.&lt;br /&gt;
* Security or privacy mistakes.&lt;br /&gt;
* Topics requiring review.&lt;br /&gt;
* Completion date.&lt;br /&gt;
* Trainer’s name.&lt;br /&gt;
* Result: Pass, Revision Required, or Fail.&lt;br /&gt;
&lt;br /&gt;
= 26. Quick Reference =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Task&lt;br /&gt;
! Command or setting&lt;br /&gt;
|-&lt;br /&gt;
| Secure server&lt;br /&gt;
| `irc.darkworld.network`&lt;br /&gt;
|-&lt;br /&gt;
| Secure port&lt;br /&gt;
| `6697`&lt;br /&gt;
|-&lt;br /&gt;
| Encryption&lt;br /&gt;
| TLS enabled and certificate verified&lt;br /&gt;
|-&lt;br /&gt;
| Join a channel&lt;br /&gt;
| `/JOIN #channel`&lt;br /&gt;
|-&lt;br /&gt;
| Leave a channel&lt;br /&gt;
| `/PART #channel reason`&lt;br /&gt;
|-&lt;br /&gt;
| Change nickname&lt;br /&gt;
| `/NICK newnickname`&lt;br /&gt;
|-&lt;br /&gt;
| Check a user&lt;br /&gt;
| `/WHOIS nickname`&lt;br /&gt;
|-&lt;br /&gt;
| View channel users&lt;br /&gt;
| `/NAMES #channel`&lt;br /&gt;
|-&lt;br /&gt;
| View channel modes&lt;br /&gt;
| `/MODE #channel`&lt;br /&gt;
|-&lt;br /&gt;
| View own user modes&lt;br /&gt;
| `/MODE YourNickname`&lt;br /&gt;
|-&lt;br /&gt;
| NickServ help&lt;br /&gt;
| `/MSG NickServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| ChanServ help&lt;br /&gt;
| `/MSG ChanServ HELP`&lt;br /&gt;
|-&lt;br /&gt;
| Disconnect&lt;br /&gt;
| `/QUIT reason`&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= 27. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|Module 1 — DarkWorld IRC Network Introduction]]  &lt;br /&gt;
&#039;&#039;&#039;Program:&#039;&#039;&#039; [[DWIRC:Staff Training Program|DarkWorld IRC Staff Training Program]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|Module 3 — DarkWorld IRC Rules and Policies]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Network_Introduction&amp;diff=381</id>
		<title>DWIRC:Staff Training/Network Introduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Network_Introduction&amp;diff=381"/>
		<updated>2026-08-08T17:21:24Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training/Network Introduction&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 1 — DarkWorld IRC Network Introduction}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 1: DarkWorld IRC Network Introduction&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 1 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Beginner&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 60–90 minutes&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check and written assignment&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| Acceptance into the training program&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
This module introduces candidates to the &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;, its position within the wider DarkWorld Network, its purpose, community structure, official resources, and staff responsibilities.&lt;br /&gt;
&lt;br /&gt;
Before learning moderation commands or receiving access, every candidate must understand:&lt;br /&gt;
&lt;br /&gt;
* What DarkWorld Network is.&lt;br /&gt;
* What the DarkWorld IRC Network is.&lt;br /&gt;
* How DWIRC relates to other DarkWorld projects.&lt;br /&gt;
* What IRC staff members are expected to do.&lt;br /&gt;
* The limits of IRC staff authority.&lt;br /&gt;
* How staff decisions should be escalated.&lt;br /&gt;
* Why trust, restraint, and accountability are essential.&lt;br /&gt;
&lt;br /&gt;
This module does not provide IRC operator access or authorize a candidate to represent themselves as a DarkWorld staff member.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the difference between DarkWorld Network and DarkWorld IRC.&lt;br /&gt;
# Describe the purpose of the DarkWorld IRC Network.&lt;br /&gt;
# Identify the main responsibilities of IRC staff.&lt;br /&gt;
# Explain the difference between IRC staff and project staff.&lt;br /&gt;
# Identify the limits of a trainee&#039;s authority.&lt;br /&gt;
# Recognize when a matter should be escalated.&lt;br /&gt;
# Identify official sources of DarkWorld IRC information.&lt;br /&gt;
# Explain why staff access must follow the principle of least privilege.&lt;br /&gt;
&lt;br /&gt;
= 1. DarkWorld Network =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DarkWorld Network&#039;&#039;&#039; is the wider organization and community umbrella under which multiple projects and services operate.&lt;br /&gt;
&lt;br /&gt;
These projects may include:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld IRC Network&lt;br /&gt;
* DWShells&lt;br /&gt;
* DWBouncers&lt;br /&gt;
* DWBots&lt;br /&gt;
* DWGames&lt;br /&gt;
* DWStats&lt;br /&gt;
* DWPaste&lt;br /&gt;
* DWVPN&lt;br /&gt;
* DWTutorials&lt;br /&gt;
* Other current or future DarkWorld projects&lt;br /&gt;
&lt;br /&gt;
Each project may have its own:&lt;br /&gt;
&lt;br /&gt;
* Purpose&lt;br /&gt;
* Management&lt;br /&gt;
* Staff team&lt;br /&gt;
* Rules and policies&lt;br /&gt;
* Support procedures&lt;br /&gt;
* Technical systems&lt;br /&gt;
* Access requirements&lt;br /&gt;
* Training program&lt;br /&gt;
&lt;br /&gt;
A person may hold a role in one DarkWorld project without holding authority in another.&lt;br /&gt;
&lt;br /&gt;
For example, a DarkWorld IRC operator does not automatically have authority to:&lt;br /&gt;
&lt;br /&gt;
* Create or suspend DWShells accounts.&lt;br /&gt;
* Administer DWBouncers users.&lt;br /&gt;
* Access a project server.&lt;br /&gt;
* Change a website.&lt;br /&gt;
* Modify a project database.&lt;br /&gt;
* Represent another project’s management.&lt;br /&gt;
* Override another project’s policies.&lt;br /&gt;
&lt;br /&gt;
Similarly, staff members from other DarkWorld projects do not automatically receive IRC operator authority.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; DarkWorld Network is the umbrella. DarkWorld IRC Network is one project operating under that umbrella.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. DarkWorld IRC Network =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;, also called &#039;&#039;&#039;DWIRC&#039;&#039;&#039;, provides an Internet Relay Chat environment where users can communicate in public channels, private messages, project channels, support channels, and community spaces.&lt;br /&gt;
&lt;br /&gt;
The IRC network is responsible for:&lt;br /&gt;
&lt;br /&gt;
* Maintaining stable IRC connectivity.&lt;br /&gt;
* Providing secure TLS connections.&lt;br /&gt;
* Operating IRC servers and Services.&lt;br /&gt;
* Protecting users and channels from serious abuse.&lt;br /&gt;
* Maintaining network-wide rules and policies.&lt;br /&gt;
* Supporting registered nicknames and channels.&lt;br /&gt;
* Providing official help and support.&lt;br /&gt;
* Managing approved relays and bridges.&lt;br /&gt;
* Supporting registered projects and communities.&lt;br /&gt;
* Maintaining a safe and welcoming environment.&lt;br /&gt;
* Responding to technical and security incidents.&lt;br /&gt;
&lt;br /&gt;
The IRC network should be managed fairly and consistently. Staff authority exists to serve and protect the network, not to give individual staff members personal power over users.&lt;br /&gt;
&lt;br /&gt;
= 3. Purpose of IRC Staff =&lt;br /&gt;
&lt;br /&gt;
The purpose of DarkWorld IRC staff is to:&lt;br /&gt;
&lt;br /&gt;
* Assist users.&lt;br /&gt;
* Protect the network.&lt;br /&gt;
* Apply network policies fairly.&lt;br /&gt;
* Resolve or escalate incidents.&lt;br /&gt;
* Maintain IRC services and infrastructure where authorized.&lt;br /&gt;
* Support channels and registered projects.&lt;br /&gt;
* Document important actions.&lt;br /&gt;
* Communicate professionally.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Work together as a team.&lt;br /&gt;
&lt;br /&gt;
Staff members should not interfere unnecessarily with normal conversations or channel management.&lt;br /&gt;
&lt;br /&gt;
Channel founders and their appointed channel operators are generally responsible for managing their own channels, provided they follow network policies.&lt;br /&gt;
&lt;br /&gt;
Network staff should normally become involved when:&lt;br /&gt;
&lt;br /&gt;
* A network-wide policy is violated.&lt;br /&gt;
* Serious abuse affects users or multiple channels.&lt;br /&gt;
* A user requests official assistance.&lt;br /&gt;
* A channel problem cannot be resolved by its management.&lt;br /&gt;
* An IRC server or Services problem occurs.&lt;br /&gt;
* A security incident affects the network.&lt;br /&gt;
* Staff intervention is required to prevent immediate harm.&lt;br /&gt;
* An authorized senior staff member assigns a task.&lt;br /&gt;
&lt;br /&gt;
= 4. Community Moderation and Network Enforcement =&lt;br /&gt;
&lt;br /&gt;
Candidates must understand the difference between channel-level moderation and network-level enforcement.&lt;br /&gt;
&lt;br /&gt;
== Channel-Level Moderation ==&lt;br /&gt;
&lt;br /&gt;
Channel founders and channel operators may manage their channels by:&lt;br /&gt;
&lt;br /&gt;
* Setting channel rules.&lt;br /&gt;
* Assigning channel access.&lt;br /&gt;
* Giving voice or operator status.&lt;br /&gt;
* Removing disruptive users.&lt;br /&gt;
* Setting appropriate channel bans.&lt;br /&gt;
* Managing topics and channel settings.&lt;br /&gt;
&lt;br /&gt;
A disagreement with a channel operator does not automatically become a network-level issue.&lt;br /&gt;
&lt;br /&gt;
== Network-Level Enforcement ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff may become involved when conduct:&lt;br /&gt;
&lt;br /&gt;
* Violates a network-wide policy.&lt;br /&gt;
* Involves serious harassment or threats.&lt;br /&gt;
* Involves network-wide spam or advertising.&lt;br /&gt;
* Includes repeated ban evasion across channels.&lt;br /&gt;
* Targets network infrastructure.&lt;br /&gt;
* Involves malicious bots, attacks, or exploitation.&lt;br /&gt;
* Involves staff impersonation.&lt;br /&gt;
* Endangers users or the network.&lt;br /&gt;
* Requires Services or IRC operator intervention.&lt;br /&gt;
&lt;br /&gt;
Staff should avoid overriding legitimate channel-management decisions unless a network policy, serious abuse issue, or authorized appeal requires intervention.&lt;br /&gt;
&lt;br /&gt;
= 5. Staff Roles and Responsibilities =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may maintain different staff levels according to operational needs.&lt;br /&gt;
&lt;br /&gt;
Exact titles and permissions may change, but the general structure can include the following roles.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! General responsibility&lt;br /&gt;
! Typical authority&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;&lt;br /&gt;
| Learns procedures and assists under supervision.&lt;br /&gt;
| No independent network-level enforcement.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Support Staff&#039;&#039;&#039;&lt;br /&gt;
| Helps users with connections, accounts, Services, and general questions.&lt;br /&gt;
| Support-related access only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Operator&#039;&#039;&#039;&lt;br /&gt;
| Responds to network abuse and operational incidents.&lt;br /&gt;
| Limited network-level commands appropriate to the role.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Global IRC Operator&#039;&#039;&#039;&lt;br /&gt;
| Handles incidents affecting multiple servers or the wider network.&lt;br /&gt;
| Broader network authority as approved.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Services Staff&#039;&#039;&#039;&lt;br /&gt;
| Assists with nickname, channel, and Services matters.&lt;br /&gt;
| Selected Services permissions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Services Administrator&#039;&#039;&#039;&lt;br /&gt;
| Manages advanced Anope Services operations.&lt;br /&gt;
| High-level Services permissions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Network Administrator&#039;&#039;&#039;&lt;br /&gt;
| Manages network operations, servers, policy, and senior escalations.&lt;br /&gt;
| Administrative network authority.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Root Administrator&#039;&#039;&#039;&lt;br /&gt;
| Maintains critical infrastructure and high-level technical systems.&lt;br /&gt;
| Production access assigned according to responsibilities.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Founder/Network Management&#039;&#039;&#039;&lt;br /&gt;
| Provides overall direction and final authorization.&lt;br /&gt;
| Final management responsibility.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Titles alone must not be used to assume access. Actual permissions depend on the staff member’s assigned duties and management approval.&lt;br /&gt;
&lt;br /&gt;
= 6. Reporting and Escalation =&lt;br /&gt;
&lt;br /&gt;
Trainees should follow the established reporting structure.&lt;br /&gt;
&lt;br /&gt;
A normal escalation path is:&lt;br /&gt;
&lt;br /&gt;
# Attempt to understand the issue.&lt;br /&gt;
# Collect only the information needed.&lt;br /&gt;
# Check the relevant policy or procedure.&lt;br /&gt;
# Resolve the issue if it is within your authority.&lt;br /&gt;
# Contact a mentor or senior staff member if uncertain.&lt;br /&gt;
# Escalate serious incidents immediately.&lt;br /&gt;
# Record the action where required.&lt;br /&gt;
# Follow up if the case remains unresolved.&lt;br /&gt;
&lt;br /&gt;
== Escalate Immediately When ==&lt;br /&gt;
&lt;br /&gt;
A trainee should immediately contact authorized senior staff when:&lt;br /&gt;
&lt;br /&gt;
* The network appears to be under attack.&lt;br /&gt;
* A staff account may be compromised.&lt;br /&gt;
* A server or Services system is failing.&lt;br /&gt;
* A user makes a credible threat.&lt;br /&gt;
* Private or sensitive information has been exposed.&lt;br /&gt;
* A serious security vulnerability is discovered.&lt;br /&gt;
* A large number of users or channels are affected.&lt;br /&gt;
* An action could disconnect or ban many users.&lt;br /&gt;
* A senior staff member is accused of serious misconduct.&lt;br /&gt;
* The correct response is unclear and could cause significant harm.&lt;br /&gt;
&lt;br /&gt;
Trainees must not attempt high-risk actions merely to demonstrate confidence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Good staff judgment includes knowing when not to act alone.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7. Limits of Staff Authority =&lt;br /&gt;
&lt;br /&gt;
Staff authority must have a clear operational purpose.&lt;br /&gt;
&lt;br /&gt;
A DarkWorld IRC staff member must not:&lt;br /&gt;
&lt;br /&gt;
* Use staff access to win a personal argument.&lt;br /&gt;
* Threaten users with staff powers.&lt;br /&gt;
* Investigate users out of curiosity.&lt;br /&gt;
* Reveal IP addresses or confidential account details.&lt;br /&gt;
* Access private information without an authorized purpose.&lt;br /&gt;
* Interfere in channels without a valid reason.&lt;br /&gt;
* use network commands as entertainment.&lt;br /&gt;
* Grant unauthorized access to friends.&lt;br /&gt;
* Give another person access to a staff account.&lt;br /&gt;
* Circumvent approval or review procedures.&lt;br /&gt;
* Act outside their assigned project or role.&lt;br /&gt;
* Present a personal opinion as official DarkWorld policy.&lt;br /&gt;
* punish someone merely for criticizing a staff decision.&lt;br /&gt;
* Hide or falsify enforcement actions.&lt;br /&gt;
* Retaliate against a user who submits a complaint.&lt;br /&gt;
&lt;br /&gt;
Staff members remain accountable for every use of elevated access.&lt;br /&gt;
&lt;br /&gt;
= 8. Least Privilege =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;principle of least privilege&#039;&#039;&#039; means that a person should receive only the access required to perform their assigned duties.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* A trainee does not require IRC operator access.&lt;br /&gt;
* A support team member may not require server access.&lt;br /&gt;
* An IRC operator may not require Services database access.&lt;br /&gt;
* A Services staff member may not require IRCd configuration access.&lt;br /&gt;
* An IRC administrator does not automatically require access to DWShells.&lt;br /&gt;
* A project staff member does not automatically require DWIRC staff access.&lt;br /&gt;
&lt;br /&gt;
Least privilege:&lt;br /&gt;
&lt;br /&gt;
* Reduces accidental damage.&lt;br /&gt;
* Limits the effect of compromised accounts.&lt;br /&gt;
* Protects private information.&lt;br /&gt;
* Clarifies staff responsibilities.&lt;br /&gt;
* Makes actions easier to review.&lt;br /&gt;
* Protects both the network and the staff member.&lt;br /&gt;
&lt;br /&gt;
= 9. Official Information Sources =&lt;br /&gt;
&lt;br /&gt;
Staff should rely on official DarkWorld sources instead of rumors or outdated instructions.&lt;br /&gt;
&lt;br /&gt;
Official resources may include:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld IRC documentation portal&lt;br /&gt;
* DarkWorld Wiki&lt;br /&gt;
* Approved policy pages&lt;br /&gt;
* Official network notices&lt;br /&gt;
* Authorized staff channels&lt;br /&gt;
* PolicyServ&lt;br /&gt;
* RelayServ&lt;br /&gt;
* Staff procedures and internal documentation&lt;br /&gt;
* Instructions from authorized management&lt;br /&gt;
&lt;br /&gt;
Useful public resources include:&lt;br /&gt;
&lt;br /&gt;
* [https://darkworld.network/ DarkWorld Network]&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* [https://wiki.darkworld.network/ DarkWorld Wiki]&lt;br /&gt;
&lt;br /&gt;
When two sources conflict, the candidate should:&lt;br /&gt;
&lt;br /&gt;
# Avoid making assumptions.&lt;br /&gt;
# Check which source is current.&lt;br /&gt;
# Ask an authorized senior staff member.&lt;br /&gt;
# Report outdated documentation.&lt;br /&gt;
# Follow the confirmed current policy.&lt;br /&gt;
&lt;br /&gt;
Bots may assist staff by retrieving information, but a bot response does not replace judgment or management authorization.&lt;br /&gt;
&lt;br /&gt;
= 10. Official IRC Channels =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may maintain official channels for different purposes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Channel&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#DarkWorld&#039;&#039;&#039;&lt;br /&gt;
| Main network and community channel.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#Help&#039;&#039;&#039;&lt;br /&gt;
| IRC assistance and user support.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#Support&#039;&#039;&#039;&lt;br /&gt;
| Support for relevant DarkWorld services and projects.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#Abuse&#039;&#039;&#039;&lt;br /&gt;
| Reporting or discussing network abuse through approved procedures.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#PolicyTeam&#039;&#039;&#039;&lt;br /&gt;
| Restricted policy, approval, and compliance operations.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#RelayTeam&#039;&#039;&#039;&lt;br /&gt;
| Restricted relay and bridge compliance operations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additional staff and project channels may exist. Access to a channel does not by itself authorize a trainee to make administrative decisions.&lt;br /&gt;
&lt;br /&gt;
Private evidence, account information, IP addresses, access credentials, or sensitive reports must not be posted in public channels.&lt;br /&gt;
&lt;br /&gt;
= 11. Relationship With Other DarkWorld Projects =&lt;br /&gt;
&lt;br /&gt;
DWIRC provides communication infrastructure that may be used by other DarkWorld projects. Project channels may operate on the IRC network, but their internal management remains separate unless formally assigned otherwise.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* DWShells may use an IRC channel for user support.&lt;br /&gt;
* DWBouncers may use IRC bots for account management.&lt;br /&gt;
* DWGames may operate community or gaming channels.&lt;br /&gt;
* Registered external projects may maintain a verified presence.&lt;br /&gt;
* Relays may connect approved external communities to a DWIRC channel.&lt;br /&gt;
&lt;br /&gt;
IRC staff may enforce network-wide IRC policies in these channels, but should not take over project-management responsibilities.&lt;br /&gt;
&lt;br /&gt;
If an issue concerns both IRC policy and a project’s internal rules:&lt;br /&gt;
&lt;br /&gt;
# Protect the IRC network if immediate action is required.&lt;br /&gt;
# Notify the relevant project staff.&lt;br /&gt;
# Separate the IRC violation from the project issue.&lt;br /&gt;
# Record any network-level action.&lt;br /&gt;
# Escalate disagreements between teams to appropriate management.&lt;br /&gt;
&lt;br /&gt;
= 12. Candidate Conduct During Training =&lt;br /&gt;
&lt;br /&gt;
While enrolled, candidates must:&lt;br /&gt;
&lt;br /&gt;
* Follow all DarkWorld IRC rules.&lt;br /&gt;
* Treat trainers, users, and other candidates respectfully.&lt;br /&gt;
* Complete their own work.&lt;br /&gt;
* Ask questions when uncertain.&lt;br /&gt;
* Keep training information confidential where required.&lt;br /&gt;
* Avoid claiming to be permanent staff.&lt;br /&gt;
* Avoid using training as authority over other users.&lt;br /&gt;
* Report mistakes honestly.&lt;br /&gt;
* Accept correction professionally.&lt;br /&gt;
* Follow instructions during practical exercises.&lt;br /&gt;
&lt;br /&gt;
A candidate’s behavior during training is part of the assessment.&lt;br /&gt;
&lt;br /&gt;
Knowledge alone is not sufficient. A candidate must also demonstrate trustworthiness, restraint, reliability, and sound judgment.&lt;br /&gt;
&lt;br /&gt;
= 13. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
Review each scenario and decide the correct response.&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Project Boundary ==&lt;br /&gt;
&lt;br /&gt;
You are a probationary DWIRC support staff member. A user asks you to increase their DWShells disk quota.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain that DWShells is a separate project and direct or escalate the request to authorized DWShells staff. Do not attempt to modify the account unless you separately hold an authorized DWShells role.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Channel Disagreement ==&lt;br /&gt;
&lt;br /&gt;
A user says a channel operator kicked them for being off-topic and demands that network staff remove the operator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ask for the relevant facts and determine whether a network policy was violated. A normal channel-moderation disagreement usually remains with the channel’s management. Do not override channel staff merely because a user is unhappy.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Private Evidence ==&lt;br /&gt;
&lt;br /&gt;
A user posts IP addresses and private logs publicly in an abuse channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to stop posting sensitive material publicly. Preserve only what is necessary and direct the report through the approved private process. Escalate if personal information has been widely exposed.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Possible Network Attack ==&lt;br /&gt;
&lt;br /&gt;
Several servers begin disconnecting while many automated connections join the network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notify senior operational staff immediately, preserve relevant timestamps and observations, and follow the incident procedure. A trainee must not issue broad bans or change server configurations without authorization.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Friend Requests Access ==&lt;br /&gt;
&lt;br /&gt;
A friend asks you to give them temporary access to a restricted staff channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Refuse the request. Access must be approved through the authorized process and must never be granted based on friendship.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Uncertain Policy ==&lt;br /&gt;
&lt;br /&gt;
You believe a message may violate the advertising policy, but the case is unclear.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Preserve the relevant context, consult the official policy, and ask an authorized policy or senior staff member. Avoid issuing a serious sanction based only on uncertainty.&lt;br /&gt;
&lt;br /&gt;
= 14. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words.&lt;br /&gt;
&lt;br /&gt;
# What is the difference between DarkWorld Network and DarkWorld IRC Network?&lt;br /&gt;
# Does completing DWIRC staff training grant authority over DWShells or DWBouncers?&lt;br /&gt;
# What is the primary purpose of IRC staff authority?&lt;br /&gt;
# When should network staff intervene in a channel matter?&lt;br /&gt;
# What is the principle of least privilege?&lt;br /&gt;
# Give three examples of matters that must be escalated immediately.&lt;br /&gt;
# Why must private evidence not be posted publicly?&lt;br /&gt;
# What should you do when two official sources appear to conflict?&lt;br /&gt;
# Can a trainee independently issue major network-level sanctions?&lt;br /&gt;
# Why is good judgment as important as technical knowledge?&lt;br /&gt;
# What should a staff member do after making a mistake?&lt;br /&gt;
# What is the difference between channel moderation and network enforcement?&lt;br /&gt;
&lt;br /&gt;
= 15. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write a response of approximately &#039;&#039;&#039;300–500 words&#039;&#039;&#039; covering the following:&lt;br /&gt;
&lt;br /&gt;
# Explain the role of DarkWorld IRC within the wider DarkWorld Network.&lt;br /&gt;
# Describe why you want to serve as a DarkWorld IRC staff member.&lt;br /&gt;
# Explain how you would support and protect IRC users.&lt;br /&gt;
# Describe what you would do if you were unsure whether enforcement was necessary.&lt;br /&gt;
# Explain why IRC staff authority must not extend automatically to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
The assignment should be submitted through the approved training process.&lt;br /&gt;
&lt;br /&gt;
Do not post personal information, passwords, IP addresses, confidential reports, or private staff information in the assignment.&lt;br /&gt;
&lt;br /&gt;
= 16. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;9 of the 12&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate an understanding of project boundaries.&lt;br /&gt;
* Accept that training does not guarantee a staff appointment.&lt;br /&gt;
* Receive approval from the assigned trainer or mentor.&lt;br /&gt;
&lt;br /&gt;
A candidate who does not pass may review the material and attempt the module again.&lt;br /&gt;
&lt;br /&gt;
= 17. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of DarkWorld and DWIRC structure&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of staff responsibilities&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of authority boundaries&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Written communication and professionalism&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The trainer should record:&lt;br /&gt;
&lt;br /&gt;
* Candidate’s score.&lt;br /&gt;
* Areas requiring improvement.&lt;br /&gt;
* Any conduct concerns.&lt;br /&gt;
* Whether resubmission is required.&lt;br /&gt;
* Completion date.&lt;br /&gt;
* Trainer’s name.&lt;br /&gt;
* Final result: Pass, Revision Required, or Fail.&lt;br /&gt;
&lt;br /&gt;
= 18. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Candidates should not skip modules unless specifically authorized by the training coordinator.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training Program|Program Overview]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Network_Introduction&amp;diff=380</id>
		<title>DWIRC:Staff Training/Network Introduction</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training/Network_Introduction&amp;diff=380"/>
		<updated>2026-08-08T17:20:41Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:Module 1 — DarkWorld IRC Network Introduction}}  &amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt; &amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt; &amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 1: DarkWorld IRC Network Introduction&amp;lt;/span&amp;gt; &amp;lt;/div&amp;gt;  {| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot; |- ! Program | DarkWorld IRC Staff Training Program |- ! Module | 1 of 10 |-...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:Module 1 — DarkWorld IRC Network Introduction}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#151515; border-left:5px solid #8b5cf6; color:#eeeeee; padding:16px; margin-bottom:20px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:170%; font-weight:bold;&amp;quot;&amp;gt;DarkWorld IRC Staff Training&amp;lt;/span&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:125%;&amp;quot;&amp;gt;Module 1: DarkWorld IRC Network Introduction&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Program&lt;br /&gt;
| DarkWorld IRC Staff Training Program&lt;br /&gt;
|-&lt;br /&gt;
! Module&lt;br /&gt;
| 1 of 10&lt;br /&gt;
|-&lt;br /&gt;
! Difficulty&lt;br /&gt;
| Beginner&lt;br /&gt;
|-&lt;br /&gt;
! Estimated study time&lt;br /&gt;
| 60–90 minutes&lt;br /&gt;
|-&lt;br /&gt;
! Assessment&lt;br /&gt;
| Knowledge check and written assignment&lt;br /&gt;
|-&lt;br /&gt;
! Prerequisite&lt;br /&gt;
| Acceptance into the training program&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Module Overview =&lt;br /&gt;
&lt;br /&gt;
This module introduces candidates to the &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;, its position within the wider DarkWorld Network, its purpose, community structure, official resources, and staff responsibilities.&lt;br /&gt;
&lt;br /&gt;
Before learning moderation commands or receiving access, every candidate must understand:&lt;br /&gt;
&lt;br /&gt;
* What DarkWorld Network is.&lt;br /&gt;
* What the DarkWorld IRC Network is.&lt;br /&gt;
* How DWIRC relates to other DarkWorld projects.&lt;br /&gt;
* What IRC staff members are expected to do.&lt;br /&gt;
* The limits of IRC staff authority.&lt;br /&gt;
* How staff decisions should be escalated.&lt;br /&gt;
* Why trust, restraint, and accountability are essential.&lt;br /&gt;
&lt;br /&gt;
This module does not provide IRC operator access or authorize a candidate to represent themselves as a DarkWorld staff member.&lt;br /&gt;
&lt;br /&gt;
= Learning Objectives =&lt;br /&gt;
&lt;br /&gt;
After completing this module, the candidate should be able to:&lt;br /&gt;
&lt;br /&gt;
# Explain the difference between DarkWorld Network and DarkWorld IRC.&lt;br /&gt;
# Describe the purpose of the DarkWorld IRC Network.&lt;br /&gt;
# Identify the main responsibilities of IRC staff.&lt;br /&gt;
# Explain the difference between IRC staff and project staff.&lt;br /&gt;
# Identify the limits of a trainee&#039;s authority.&lt;br /&gt;
# Recognize when a matter should be escalated.&lt;br /&gt;
# Identify official sources of DarkWorld IRC information.&lt;br /&gt;
# Explain why staff access must follow the principle of least privilege.&lt;br /&gt;
&lt;br /&gt;
= 1. DarkWorld Network =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;DarkWorld Network&#039;&#039;&#039; is the wider organization and community umbrella under which multiple projects and services operate.&lt;br /&gt;
&lt;br /&gt;
These projects may include:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld IRC Network&lt;br /&gt;
* DWShells&lt;br /&gt;
* DWBouncers&lt;br /&gt;
* DWBots&lt;br /&gt;
* DWGames&lt;br /&gt;
* DWStats&lt;br /&gt;
* DWPaste&lt;br /&gt;
* DWVPN&lt;br /&gt;
* DWTutorials&lt;br /&gt;
* Other current or future DarkWorld projects&lt;br /&gt;
&lt;br /&gt;
Each project may have its own:&lt;br /&gt;
&lt;br /&gt;
* Purpose&lt;br /&gt;
* Management&lt;br /&gt;
* Staff team&lt;br /&gt;
* Rules and policies&lt;br /&gt;
* Support procedures&lt;br /&gt;
* Technical systems&lt;br /&gt;
* Access requirements&lt;br /&gt;
* Training program&lt;br /&gt;
&lt;br /&gt;
A person may hold a role in one DarkWorld project without holding authority in another.&lt;br /&gt;
&lt;br /&gt;
For example, a DarkWorld IRC operator does not automatically have authority to:&lt;br /&gt;
&lt;br /&gt;
* Create or suspend DWShells accounts.&lt;br /&gt;
* Administer DWBouncers users.&lt;br /&gt;
* Access a project server.&lt;br /&gt;
* Change a website.&lt;br /&gt;
* Modify a project database.&lt;br /&gt;
* Represent another project’s management.&lt;br /&gt;
* Override another project’s policies.&lt;br /&gt;
&lt;br /&gt;
Similarly, staff members from other DarkWorld projects do not automatically receive IRC operator authority.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#fff8e1; border-left:4px solid #f59e0b; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; DarkWorld Network is the umbrella. DarkWorld IRC Network is one project operating under that umbrella.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 2. DarkWorld IRC Network =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;, also called &#039;&#039;&#039;DWIRC&#039;&#039;&#039;, provides an Internet Relay Chat environment where users can communicate in public channels, private messages, project channels, support channels, and community spaces.&lt;br /&gt;
&lt;br /&gt;
The IRC network is responsible for:&lt;br /&gt;
&lt;br /&gt;
* Maintaining stable IRC connectivity.&lt;br /&gt;
* Providing secure TLS connections.&lt;br /&gt;
* Operating IRC servers and Services.&lt;br /&gt;
* Protecting users and channels from serious abuse.&lt;br /&gt;
* Maintaining network-wide rules and policies.&lt;br /&gt;
* Supporting registered nicknames and channels.&lt;br /&gt;
* Providing official help and support.&lt;br /&gt;
* Managing approved relays and bridges.&lt;br /&gt;
* Supporting registered projects and communities.&lt;br /&gt;
* Maintaining a safe and welcoming environment.&lt;br /&gt;
* Responding to technical and security incidents.&lt;br /&gt;
&lt;br /&gt;
The IRC network should be managed fairly and consistently. Staff authority exists to serve and protect the network, not to give individual staff members personal power over users.&lt;br /&gt;
&lt;br /&gt;
= 3. Purpose of IRC Staff =&lt;br /&gt;
&lt;br /&gt;
The purpose of DarkWorld IRC staff is to:&lt;br /&gt;
&lt;br /&gt;
* Assist users.&lt;br /&gt;
* Protect the network.&lt;br /&gt;
* Apply network policies fairly.&lt;br /&gt;
* Resolve or escalate incidents.&lt;br /&gt;
* Maintain IRC services and infrastructure where authorized.&lt;br /&gt;
* Support channels and registered projects.&lt;br /&gt;
* Document important actions.&lt;br /&gt;
* Communicate professionally.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Work together as a team.&lt;br /&gt;
&lt;br /&gt;
Staff members should not interfere unnecessarily with normal conversations or channel management.&lt;br /&gt;
&lt;br /&gt;
Channel founders and their appointed channel operators are generally responsible for managing their own channels, provided they follow network policies.&lt;br /&gt;
&lt;br /&gt;
Network staff should normally become involved when:&lt;br /&gt;
&lt;br /&gt;
* A network-wide policy is violated.&lt;br /&gt;
* Serious abuse affects users or multiple channels.&lt;br /&gt;
* A user requests official assistance.&lt;br /&gt;
* A channel problem cannot be resolved by its management.&lt;br /&gt;
* An IRC server or Services problem occurs.&lt;br /&gt;
* A security incident affects the network.&lt;br /&gt;
* Staff intervention is required to prevent immediate harm.&lt;br /&gt;
* An authorized senior staff member assigns a task.&lt;br /&gt;
&lt;br /&gt;
= 4. Community Moderation and Network Enforcement =&lt;br /&gt;
&lt;br /&gt;
Candidates must understand the difference between channel-level moderation and network-level enforcement.&lt;br /&gt;
&lt;br /&gt;
== Channel-Level Moderation ==&lt;br /&gt;
&lt;br /&gt;
Channel founders and channel operators may manage their channels by:&lt;br /&gt;
&lt;br /&gt;
* Setting channel rules.&lt;br /&gt;
* Assigning channel access.&lt;br /&gt;
* Giving voice or operator status.&lt;br /&gt;
* Removing disruptive users.&lt;br /&gt;
* Setting appropriate channel bans.&lt;br /&gt;
* Managing topics and channel settings.&lt;br /&gt;
&lt;br /&gt;
A disagreement with a channel operator does not automatically become a network-level issue.&lt;br /&gt;
&lt;br /&gt;
== Network-Level Enforcement ==&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC staff may become involved when conduct:&lt;br /&gt;
&lt;br /&gt;
* Violates a network-wide policy.&lt;br /&gt;
* Involves serious harassment or threats.&lt;br /&gt;
* Involves network-wide spam or advertising.&lt;br /&gt;
* Includes repeated ban evasion across channels.&lt;br /&gt;
* Targets network infrastructure.&lt;br /&gt;
* Involves malicious bots, attacks, or exploitation.&lt;br /&gt;
* Involves staff impersonation.&lt;br /&gt;
* Endangers users or the network.&lt;br /&gt;
* Requires Services or IRC operator intervention.&lt;br /&gt;
&lt;br /&gt;
Staff should avoid overriding legitimate channel-management decisions unless a network policy, serious abuse issue, or authorized appeal requires intervention.&lt;br /&gt;
&lt;br /&gt;
= 5. Staff Roles and Responsibilities =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may maintain different staff levels according to operational needs.&lt;br /&gt;
&lt;br /&gt;
Exact titles and permissions may change, but the general structure can include the following roles.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Role&lt;br /&gt;
! General responsibility&lt;br /&gt;
! Typical authority&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;&lt;br /&gt;
| Learns procedures and assists under supervision.&lt;br /&gt;
| No independent network-level enforcement.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Support Staff&#039;&#039;&#039;&lt;br /&gt;
| Helps users with connections, accounts, Services, and general questions.&lt;br /&gt;
| Support-related access only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Operator&#039;&#039;&#039;&lt;br /&gt;
| Responds to network abuse and operational incidents.&lt;br /&gt;
| Limited network-level commands appropriate to the role.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Global IRC Operator&#039;&#039;&#039;&lt;br /&gt;
| Handles incidents affecting multiple servers or the wider network.&lt;br /&gt;
| Broader network authority as approved.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Services Staff&#039;&#039;&#039;&lt;br /&gt;
| Assists with nickname, channel, and Services matters.&lt;br /&gt;
| Selected Services permissions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Services Administrator&#039;&#039;&#039;&lt;br /&gt;
| Manages advanced Anope Services operations.&lt;br /&gt;
| High-level Services permissions.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Network Administrator&#039;&#039;&#039;&lt;br /&gt;
| Manages network operations, servers, policy, and senior escalations.&lt;br /&gt;
| Administrative network authority.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Root Administrator&#039;&#039;&#039;&lt;br /&gt;
| Maintains critical infrastructure and high-level technical systems.&lt;br /&gt;
| Production access assigned according to responsibilities.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Founder/Network Management&#039;&#039;&#039;&lt;br /&gt;
| Provides overall direction and final authorization.&lt;br /&gt;
| Final management responsibility.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Titles alone must not be used to assume access. Actual permissions depend on the staff member’s assigned duties and management approval.&lt;br /&gt;
&lt;br /&gt;
= 6. Reporting and Escalation =&lt;br /&gt;
&lt;br /&gt;
Trainees should follow the established reporting structure.&lt;br /&gt;
&lt;br /&gt;
A normal escalation path is:&lt;br /&gt;
&lt;br /&gt;
# Attempt to understand the issue.&lt;br /&gt;
# Collect only the information needed.&lt;br /&gt;
# Check the relevant policy or procedure.&lt;br /&gt;
# Resolve the issue if it is within your authority.&lt;br /&gt;
# Contact a mentor or senior staff member if uncertain.&lt;br /&gt;
# Escalate serious incidents immediately.&lt;br /&gt;
# Record the action where required.&lt;br /&gt;
# Follow up if the case remains unresolved.&lt;br /&gt;
&lt;br /&gt;
== Escalate Immediately When ==&lt;br /&gt;
&lt;br /&gt;
A trainee should immediately contact authorized senior staff when:&lt;br /&gt;
&lt;br /&gt;
* The network appears to be under attack.&lt;br /&gt;
* A staff account may be compromised.&lt;br /&gt;
* A server or Services system is failing.&lt;br /&gt;
* A user makes a credible threat.&lt;br /&gt;
* Private or sensitive information has been exposed.&lt;br /&gt;
* A serious security vulnerability is discovered.&lt;br /&gt;
* A large number of users or channels are affected.&lt;br /&gt;
* An action could disconnect or ban many users.&lt;br /&gt;
* A senior staff member is accused of serious misconduct.&lt;br /&gt;
* The correct response is unclear and could cause significant harm.&lt;br /&gt;
&lt;br /&gt;
Trainees must not attempt high-risk actions merely to demonstrate confidence.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background:#e8f4fd; border-left:4px solid #2563eb; padding:12px; margin:15px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Good staff judgment includes knowing when not to act alone.&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= 7. Limits of Staff Authority =&lt;br /&gt;
&lt;br /&gt;
Staff authority must have a clear operational purpose.&lt;br /&gt;
&lt;br /&gt;
A DarkWorld IRC staff member must not:&lt;br /&gt;
&lt;br /&gt;
* Use staff access to win a personal argument.&lt;br /&gt;
* Threaten users with staff powers.&lt;br /&gt;
* Investigate users out of curiosity.&lt;br /&gt;
* Reveal IP addresses or confidential account details.&lt;br /&gt;
* Access private information without an authorized purpose.&lt;br /&gt;
* Interfere in channels without a valid reason.&lt;br /&gt;
* use network commands as entertainment.&lt;br /&gt;
* Grant unauthorized access to friends.&lt;br /&gt;
* Give another person access to a staff account.&lt;br /&gt;
* Circumvent approval or review procedures.&lt;br /&gt;
* Act outside their assigned project or role.&lt;br /&gt;
* Present a personal opinion as official DarkWorld policy.&lt;br /&gt;
* punish someone merely for criticizing a staff decision.&lt;br /&gt;
* Hide or falsify enforcement actions.&lt;br /&gt;
* Retaliate against a user who submits a complaint.&lt;br /&gt;
&lt;br /&gt;
Staff members remain accountable for every use of elevated access.&lt;br /&gt;
&lt;br /&gt;
= 8. Least Privilege =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;principle of least privilege&#039;&#039;&#039; means that a person should receive only the access required to perform their assigned duties.&lt;br /&gt;
&lt;br /&gt;
Examples include:&lt;br /&gt;
&lt;br /&gt;
* A trainee does not require IRC operator access.&lt;br /&gt;
* A support team member may not require server access.&lt;br /&gt;
* An IRC operator may not require Services database access.&lt;br /&gt;
* A Services staff member may not require IRCd configuration access.&lt;br /&gt;
* An IRC administrator does not automatically require access to DWShells.&lt;br /&gt;
* A project staff member does not automatically require DWIRC staff access.&lt;br /&gt;
&lt;br /&gt;
Least privilege:&lt;br /&gt;
&lt;br /&gt;
* Reduces accidental damage.&lt;br /&gt;
* Limits the effect of compromised accounts.&lt;br /&gt;
* Protects private information.&lt;br /&gt;
* Clarifies staff responsibilities.&lt;br /&gt;
* Makes actions easier to review.&lt;br /&gt;
* Protects both the network and the staff member.&lt;br /&gt;
&lt;br /&gt;
= 9. Official Information Sources =&lt;br /&gt;
&lt;br /&gt;
Staff should rely on official DarkWorld sources instead of rumors or outdated instructions.&lt;br /&gt;
&lt;br /&gt;
Official resources may include:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld IRC documentation portal&lt;br /&gt;
* DarkWorld Wiki&lt;br /&gt;
* Approved policy pages&lt;br /&gt;
* Official network notices&lt;br /&gt;
* Authorized staff channels&lt;br /&gt;
* PolicyServ&lt;br /&gt;
* RelayServ&lt;br /&gt;
* Staff procedures and internal documentation&lt;br /&gt;
* Instructions from authorized management&lt;br /&gt;
&lt;br /&gt;
Useful public resources include:&lt;br /&gt;
&lt;br /&gt;
* [https://darkworld.network/ DarkWorld Network]&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* [https://wiki.darkworld.network/ DarkWorld Wiki]&lt;br /&gt;
&lt;br /&gt;
When two sources conflict, the candidate should:&lt;br /&gt;
&lt;br /&gt;
# Avoid making assumptions.&lt;br /&gt;
# Check which source is current.&lt;br /&gt;
# Ask an authorized senior staff member.&lt;br /&gt;
# Report outdated documentation.&lt;br /&gt;
# Follow the confirmed current policy.&lt;br /&gt;
&lt;br /&gt;
Bots may assist staff by retrieving information, but a bot response does not replace judgment or management authorization.&lt;br /&gt;
&lt;br /&gt;
= 10. Official IRC Channels =&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC may maintain official channels for different purposes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Channel&lt;br /&gt;
! General purpose&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#DarkWorld&#039;&#039;&#039;&lt;br /&gt;
| Main network and community channel.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#Help&#039;&#039;&#039;&lt;br /&gt;
| IRC assistance and user support.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#Support&#039;&#039;&#039;&lt;br /&gt;
| Support for relevant DarkWorld services and projects.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#Abuse&#039;&#039;&#039;&lt;br /&gt;
| Reporting or discussing network abuse through approved procedures.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#PolicyTeam&#039;&#039;&#039;&lt;br /&gt;
| Restricted policy, approval, and compliance operations.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;#RelayTeam&#039;&#039;&#039;&lt;br /&gt;
| Restricted relay and bridge compliance operations.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Additional staff and project channels may exist. Access to a channel does not by itself authorize a trainee to make administrative decisions.&lt;br /&gt;
&lt;br /&gt;
Private evidence, account information, IP addresses, access credentials, or sensitive reports must not be posted in public channels.&lt;br /&gt;
&lt;br /&gt;
= 11. Relationship With Other DarkWorld Projects =&lt;br /&gt;
&lt;br /&gt;
DWIRC provides communication infrastructure that may be used by other DarkWorld projects. Project channels may operate on the IRC network, but their internal management remains separate unless formally assigned otherwise.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* DWShells may use an IRC channel for user support.&lt;br /&gt;
* DWBouncers may use IRC bots for account management.&lt;br /&gt;
* DWGames may operate community or gaming channels.&lt;br /&gt;
* Registered external projects may maintain a verified presence.&lt;br /&gt;
* Relays may connect approved external communities to a DWIRC channel.&lt;br /&gt;
&lt;br /&gt;
IRC staff may enforce network-wide IRC policies in these channels, but should not take over project-management responsibilities.&lt;br /&gt;
&lt;br /&gt;
If an issue concerns both IRC policy and a project’s internal rules:&lt;br /&gt;
&lt;br /&gt;
# Protect the IRC network if immediate action is required.&lt;br /&gt;
# Notify the relevant project staff.&lt;br /&gt;
# Separate the IRC violation from the project issue.&lt;br /&gt;
# Record any network-level action.&lt;br /&gt;
# Escalate disagreements between teams to appropriate management.&lt;br /&gt;
&lt;br /&gt;
= 12. Candidate Conduct During Training =&lt;br /&gt;
&lt;br /&gt;
While enrolled, candidates must:&lt;br /&gt;
&lt;br /&gt;
* Follow all DarkWorld IRC rules.&lt;br /&gt;
* Treat trainers, users, and other candidates respectfully.&lt;br /&gt;
* Complete their own work.&lt;br /&gt;
* Ask questions when uncertain.&lt;br /&gt;
* Keep training information confidential where required.&lt;br /&gt;
* Avoid claiming to be permanent staff.&lt;br /&gt;
* Avoid using training as authority over other users.&lt;br /&gt;
* Report mistakes honestly.&lt;br /&gt;
* Accept correction professionally.&lt;br /&gt;
* Follow instructions during practical exercises.&lt;br /&gt;
&lt;br /&gt;
A candidate’s behavior during training is part of the assessment.&lt;br /&gt;
&lt;br /&gt;
Knowledge alone is not sufficient. A candidate must also demonstrate trustworthiness, restraint, reliability, and sound judgment.&lt;br /&gt;
&lt;br /&gt;
= 13. Practical Scenarios =&lt;br /&gt;
&lt;br /&gt;
Review each scenario and decide the correct response.&lt;br /&gt;
&lt;br /&gt;
== Scenario 1: Project Boundary ==&lt;br /&gt;
&lt;br /&gt;
You are a probationary DWIRC support staff member. A user asks you to increase their DWShells disk quota.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Explain that DWShells is a separate project and direct or escalate the request to authorized DWShells staff. Do not attempt to modify the account unless you separately hold an authorized DWShells role.&lt;br /&gt;
&lt;br /&gt;
== Scenario 2: Channel Disagreement ==&lt;br /&gt;
&lt;br /&gt;
A user says a channel operator kicked them for being off-topic and demands that network staff remove the operator.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ask for the relevant facts and determine whether a network policy was violated. A normal channel-moderation disagreement usually remains with the channel’s management. Do not override channel staff merely because a user is unhappy.&lt;br /&gt;
&lt;br /&gt;
== Scenario 3: Private Evidence ==&lt;br /&gt;
&lt;br /&gt;
A user posts IP addresses and private logs publicly in an abuse channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ask the user to stop posting sensitive material publicly. Preserve only what is necessary and direct the report through the approved private process. Escalate if personal information has been widely exposed.&lt;br /&gt;
&lt;br /&gt;
== Scenario 4: Possible Network Attack ==&lt;br /&gt;
&lt;br /&gt;
Several servers begin disconnecting while many automated connections join the network.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notify senior operational staff immediately, preserve relevant timestamps and observations, and follow the incident procedure. A trainee must not issue broad bans or change server configurations without authorization.&lt;br /&gt;
&lt;br /&gt;
== Scenario 5: Friend Requests Access ==&lt;br /&gt;
&lt;br /&gt;
A friend asks you to give them temporary access to a restricted staff channel.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Refuse the request. Access must be approved through the authorized process and must never be granted based on friendship.&lt;br /&gt;
&lt;br /&gt;
== Scenario 6: Uncertain Policy ==&lt;br /&gt;
&lt;br /&gt;
You believe a message may violate the advertising policy, but the case is unclear.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Correct approach:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Preserve the relevant context, consult the official policy, and ask an authorized policy or senior staff member. Avoid issuing a serious sanction based only on uncertainty.&lt;br /&gt;
&lt;br /&gt;
= 14. Knowledge Check =&lt;br /&gt;
&lt;br /&gt;
Answer the following questions in your own words.&lt;br /&gt;
&lt;br /&gt;
# What is the difference between DarkWorld Network and DarkWorld IRC Network?&lt;br /&gt;
# Does completing DWIRC staff training grant authority over DWShells or DWBouncers?&lt;br /&gt;
# What is the primary purpose of IRC staff authority?&lt;br /&gt;
# When should network staff intervene in a channel matter?&lt;br /&gt;
# What is the principle of least privilege?&lt;br /&gt;
# Give three examples of matters that must be escalated immediately.&lt;br /&gt;
# Why must private evidence not be posted publicly?&lt;br /&gt;
# What should you do when two official sources appear to conflict?&lt;br /&gt;
# Can a trainee independently issue major network-level sanctions?&lt;br /&gt;
# Why is good judgment as important as technical knowledge?&lt;br /&gt;
# What should a staff member do after making a mistake?&lt;br /&gt;
# What is the difference between channel moderation and network enforcement?&lt;br /&gt;
&lt;br /&gt;
= 15. Written Assignment =&lt;br /&gt;
&lt;br /&gt;
Write a response of approximately &#039;&#039;&#039;300–500 words&#039;&#039;&#039; covering the following:&lt;br /&gt;
&lt;br /&gt;
# Explain the role of DarkWorld IRC within the wider DarkWorld Network.&lt;br /&gt;
# Describe why you want to serve as a DarkWorld IRC staff member.&lt;br /&gt;
# Explain how you would support and protect IRC users.&lt;br /&gt;
# Describe what you would do if you were unsure whether enforcement was necessary.&lt;br /&gt;
# Explain why IRC staff authority must not extend automatically to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
The assignment should be submitted through the approved training process.&lt;br /&gt;
&lt;br /&gt;
Do not post personal information, passwords, IP addresses, confidential reports, or private staff information in the assignment.&lt;br /&gt;
&lt;br /&gt;
= 16. Module Completion Requirements =&lt;br /&gt;
&lt;br /&gt;
To complete this module, the candidate must:&lt;br /&gt;
&lt;br /&gt;
* Read the complete lesson.&lt;br /&gt;
* Correctly answer at least &#039;&#039;&#039;9 of the 12&#039;&#039;&#039; knowledge-check questions.&lt;br /&gt;
* Complete the written assignment.&lt;br /&gt;
* Demonstrate an understanding of project boundaries.&lt;br /&gt;
* Accept that training does not guarantee a staff appointment.&lt;br /&gt;
* Receive approval from the assigned trainer or mentor.&lt;br /&gt;
&lt;br /&gt;
A candidate who does not pass may review the material and attempt the module again.&lt;br /&gt;
&lt;br /&gt;
= 17. Trainer Evaluation =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! Evaluation area&lt;br /&gt;
! Maximum points&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of DarkWorld and DWIRC structure&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of staff responsibilities&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Understanding of authority boundaries&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Escalation and judgment&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| Written communication and professionalism&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Recommended passing score: &#039;&#039;&#039;75 points&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The trainer should record:&lt;br /&gt;
&lt;br /&gt;
* Candidate’s score.&lt;br /&gt;
* Areas requiring improvement.&lt;br /&gt;
* Any conduct concerns.&lt;br /&gt;
* Whether resubmission is required.&lt;br /&gt;
* Completion date.&lt;br /&gt;
* Trainer’s name.&lt;br /&gt;
* Final result: Pass, Revision Required, or Fail.&lt;br /&gt;
&lt;br /&gt;
= 18. Next Module =&lt;br /&gt;
&lt;br /&gt;
After passing this module, continue to:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Candidates should not skip modules unless specifically authorized by the training coordinator.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Previous:&#039;&#039;&#039; [[DWIRC:Staff Training Program|Program Overview]]  &lt;br /&gt;
&#039;&#039;&#039;Next:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|Module 2 — IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training_Program&amp;diff=379</id>
		<title>DWIRC:Staff Training Program</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training_Program&amp;diff=379"/>
		<updated>2026-08-08T17:17:49Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWIRC:Staff Training Program&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Training Program}}&lt;br /&gt;
&lt;br /&gt;
= DarkWorld IRC Staff Training Program =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Staff Training Program&#039;&#039;&#039; prepares potential staff members to support, moderate, and protect the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is one of several projects operating under the wider &#039;&#039;&#039;DarkWorld Network&#039;&#039;&#039; umbrella. Other DarkWorld projects include DWShells, DWBouncers, DWBots, DWGames, DWStats, DWPaste, DWVPN, and DWTutorials.&lt;br /&gt;
&lt;br /&gt;
Completion of this program applies only to roles within the &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;. It does not automatically grant authority, administrative access, or staff membership in any other DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
== Purpose of the Program ==&lt;br /&gt;
&lt;br /&gt;
The program ensures that potential IRC staff members understand:&lt;br /&gt;
&lt;br /&gt;
* How IRC works.&lt;br /&gt;
* How the DarkWorld IRC Network operates.&lt;br /&gt;
* DarkWorld IRC rules and policies.&lt;br /&gt;
* User and channel modes.&lt;br /&gt;
* NickServ, ChanServ, HostServ, and other IRC Services.&lt;br /&gt;
* User-support procedures.&lt;br /&gt;
* Channel moderation.&lt;br /&gt;
* Abuse and incident handling.&lt;br /&gt;
* Staff ethics, privacy, and security.&lt;br /&gt;
* The responsible use of IRC operator privileges.&lt;br /&gt;
&lt;br /&gt;
Candidates must demonstrate knowledge, sound judgment, professional conduct, and reliability before receiving permanent staff access.&lt;br /&gt;
&lt;br /&gt;
== Core Principles ==&lt;br /&gt;
&lt;br /&gt;
Every trainee must follow these principles:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Learn before acting&#039;&#039;&#039; – Candidates must understand the network and its policies before receiving authority.&lt;br /&gt;
# &#039;&#039;&#039;Use the least privilege&#039;&#039;&#039; – Access must be limited to what is required for the assigned role.&lt;br /&gt;
# &#039;&#039;&#039;Protect the community&#039;&#039;&#039; – Staff powers exist to protect users and the network.&lt;br /&gt;
# &#039;&#039;&#039;Remain neutral&#039;&#039;&#039; – Staff access must never be used in personal arguments.&lt;br /&gt;
# &#039;&#039;&#039;Respect privacy&#039;&#039;&#039; – Private reports, IP addresses, logs, and account information must remain confidential.&lt;br /&gt;
# &#039;&#039;&#039;Use proportionate action&#039;&#039;&#039; – Staff should use the least severe effective response.&lt;br /&gt;
# &#039;&#039;&#039;Document important actions&#039;&#039;&#039; – Serious incidents and enforcement actions must be recorded.&lt;br /&gt;
# &#039;&#039;&#039;Escalate when uncertain&#039;&#039;&#039; – Trainees should ask a senior staff member instead of guessing.&lt;br /&gt;
# &#039;&#039;&#039;Accept accountability&#039;&#039;&#039; – Staff decisions may be reviewed by senior management.&lt;br /&gt;
# &#039;&#039;&#039;Respect project boundaries&#039;&#039;&#039; – IRC staff authority does not extend to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
== Who May Apply? ==&lt;br /&gt;
&lt;br /&gt;
A candidate should:&lt;br /&gt;
&lt;br /&gt;
* Be a registered and active DarkWorld IRC user.&lt;br /&gt;
* Have a positive history within the community.&lt;br /&gt;
* Demonstrate maturity, patience, and professionalism.&lt;br /&gt;
* Be willing to help users without expecting personal benefits.&lt;br /&gt;
* Be able to communicate clearly.&lt;br /&gt;
* Be willing to follow DarkWorld IRC rules and staff procedures.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Complete all required lessons and assessments.&lt;br /&gt;
* Accept supervision during training and probation.&lt;br /&gt;
* Disclose any relevant staff positions held on other IRC networks or communities.&lt;br /&gt;
&lt;br /&gt;
Previous IRC staff experience may be helpful, but it is not required. Experienced candidates must still complete the DarkWorld IRC-specific policy, ethics, and practical assessments.&lt;br /&gt;
&lt;br /&gt;
== Disqualifying Conduct ==&lt;br /&gt;
&lt;br /&gt;
A candidate may be rejected or removed from training for:&lt;br /&gt;
&lt;br /&gt;
* Repeated violations of DarkWorld IRC rules.&lt;br /&gt;
* Harassment, discrimination, threats, or malicious conduct.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Sharing private or confidential information.&lt;br /&gt;
* Impersonating staff.&lt;br /&gt;
* Providing false information in an application.&lt;br /&gt;
* Attempting to obtain access without authorization.&lt;br /&gt;
* Using training knowledge to disrupt the network.&lt;br /&gt;
* Serious abuse of access on another network or project.&lt;br /&gt;
* Refusing to follow instructions from authorized trainers.&lt;br /&gt;
* Cheating during an assessment.&lt;br /&gt;
* Using another person to complete training work.&lt;br /&gt;
&lt;br /&gt;
Removal from training does not always mean permanent rejection. Management may allow a candidate to apply again after a suitable period, depending on the reason for removal.&lt;br /&gt;
&lt;br /&gt;
== Training Stages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Stage&lt;br /&gt;
! Description&lt;br /&gt;
! Access&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Applicant&#039;&#039;&#039;&lt;br /&gt;
| A user who has submitted an application.&lt;br /&gt;
| Normal public user access only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Student&#039;&#039;&#039;&lt;br /&gt;
| A candidate accepted into the training program.&lt;br /&gt;
| Training materials and approved training channels.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;&lt;br /&gt;
| A student who has passed the initial lessons and assessments.&lt;br /&gt;
| Supervised practical duties only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary IRC Staff&#039;&#039;&#039;&lt;br /&gt;
| A trainee who has passed the core program and has been selected for probation.&lt;br /&gt;
| Limited role-appropriate access.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DWIRC Staff Member&#039;&#039;&#039;&lt;br /&gt;
| A candidate who has successfully completed probation.&lt;br /&gt;
| Access appropriate to the assigned IRC staff role.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Specialist&#039;&#039;&#039;&lt;br /&gt;
| A staff member who has completed an additional specialist program.&lt;br /&gt;
| Specialist access approved separately.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Training Process ==&lt;br /&gt;
&lt;br /&gt;
The normal training process is:&lt;br /&gt;
&lt;br /&gt;
# Candidate submits an application.&lt;br /&gt;
# The application is reviewed.&lt;br /&gt;
# Approved candidates join the core training program.&lt;br /&gt;
# The candidate completes all required lessons.&lt;br /&gt;
# The candidate completes assignments and practical exercises.&lt;br /&gt;
# The candidate passes the written assessment.&lt;br /&gt;
# The candidate passes the practical assessment.&lt;br /&gt;
# The candidate signs or accepts the Staff Code of Conduct.&lt;br /&gt;
# Successful candidates enter supervised trainee duties.&lt;br /&gt;
# Selected trainees enter probation.&lt;br /&gt;
# A final review determines whether the candidate becomes a permanent staff member.&lt;br /&gt;
&lt;br /&gt;
Passing the course does not create an automatic right to a staff position. Staff appointments depend on conduct, trust, network requirements, available roles, and final management approval.&lt;br /&gt;
&lt;br /&gt;
== Core Training Curriculum ==&lt;br /&gt;
&lt;br /&gt;
=== Module 1: DarkWorld IRC Network Introduction ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld Network as the parent organization.&lt;br /&gt;
* The purpose of the DarkWorld IRC Network.&lt;br /&gt;
* Official IRC servers and channels.&lt;br /&gt;
* IRC staff roles and reporting structures.&lt;br /&gt;
* The boundaries of IRC staff authority.&lt;br /&gt;
* The relationship between DWIRC and other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|DarkWorld IRC Network Introduction]]&lt;br /&gt;
&lt;br /&gt;
=== Module 2: IRC Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* IRC clients and servers.&lt;br /&gt;
* Secure TLS connections.&lt;br /&gt;
* Nicknames, usernames, idents, hostnames, and cloaks.&lt;br /&gt;
* Channels and private messages.&lt;br /&gt;
* IRC masks.&lt;br /&gt;
* IRC commands.&lt;br /&gt;
* Netsplits, lag, reconnections, and server notices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
=== Module 3: DarkWorld IRC Policies ===&lt;br /&gt;
&lt;br /&gt;
Candidates study:&lt;br /&gt;
&lt;br /&gt;
* General network guidelines.&lt;br /&gt;
* Advertising, invitation, and recruitment rules.&lt;br /&gt;
* Relay and bridge policy.&lt;br /&gt;
* Channel registration requirements.&lt;br /&gt;
* Project registration and verified presence.&lt;br /&gt;
* Spam, flooding, harassment, and ban evasion.&lt;br /&gt;
* Privacy and evidence handling.&lt;br /&gt;
* Staff conduct requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|DarkWorld IRC Policies]]&lt;br /&gt;
&lt;br /&gt;
=== Module 4: User and Channel Modes ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* User modes.&lt;br /&gt;
* IRC operator modes.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* Channel access levels.&lt;br /&gt;
* Ban masks.&lt;br /&gt;
* Ban exceptions.&lt;br /&gt;
* Invite exceptions.&lt;br /&gt;
* Moderated and restricted channels.&lt;br /&gt;
* Flood-protection modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|User and Channel Modes]]&lt;br /&gt;
&lt;br /&gt;
=== Module 5: IRC Services ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* NickServ.&lt;br /&gt;
* ChanServ.&lt;br /&gt;
* MemoServ.&lt;br /&gt;
* HostServ.&lt;br /&gt;
* BotServ, where applicable.&lt;br /&gt;
* Account assistance.&lt;br /&gt;
* Channel access.&lt;br /&gt;
* Channel ownership disputes.&lt;br /&gt;
* Appropriate escalation to Services Administrators.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|IRC Services]]&lt;br /&gt;
&lt;br /&gt;
=== Module 6: User Support ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn how to:&lt;br /&gt;
&lt;br /&gt;
* Assist users in official help channels.&lt;br /&gt;
* Ask useful diagnostic questions.&lt;br /&gt;
* Help users connect securely.&lt;br /&gt;
* Provide NickServ and ChanServ assistance.&lt;br /&gt;
* Handle complaints professionally.&lt;br /&gt;
* De-escalate disagreements.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Escalate complex cases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|User Support and Communication]]&lt;br /&gt;
&lt;br /&gt;
=== Module 7: IRC Moderation ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* Warnings.&lt;br /&gt;
* Mutes.&lt;br /&gt;
* Kicks.&lt;br /&gt;
* Channel bans.&lt;br /&gt;
* Spam and flood response.&lt;br /&gt;
* Advertising violations.&lt;br /&gt;
* Harassment.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Proportionate enforcement.&lt;br /&gt;
* Avoiding unnecessarily broad actions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|IRC Moderation]]&lt;br /&gt;
&lt;br /&gt;
=== Module 8: Abuse and Incident Handling ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn how to:&lt;br /&gt;
&lt;br /&gt;
* Receive an abuse report.&lt;br /&gt;
* Verify evidence.&lt;br /&gt;
* Protect private information.&lt;br /&gt;
* Preserve logs and timestamps.&lt;br /&gt;
* Classify incident severity.&lt;br /&gt;
* Take immediate protective action.&lt;br /&gt;
* Escalate serious cases.&lt;br /&gt;
* Prepare an incident report.&lt;br /&gt;
* Follow up on unresolved incidents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Abuse and Incident Handling]]&lt;br /&gt;
&lt;br /&gt;
=== Module 9: IRC Operator Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Candidates selected for network-level roles learn about:&lt;br /&gt;
&lt;br /&gt;
* IRC operator responsibilities.&lt;br /&gt;
* Operator-account security.&lt;br /&gt;
* Network notices.&lt;br /&gt;
* User investigations.&lt;br /&gt;
* Kills and network bans.&lt;br /&gt;
* OperOverride and SAMODE.&lt;br /&gt;
* Netsplits and server routing.&lt;br /&gt;
* Flood and attack response.&lt;br /&gt;
* Recording operator actions.&lt;br /&gt;
&lt;br /&gt;
This module does not grant IRC operator access. Access requires separate management approval.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|IRC Operator Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
=== Module 10: Staff Ethics and Security ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* Least-privilege access.&lt;br /&gt;
* Neutrality.&lt;br /&gt;
* Confidentiality.&lt;br /&gt;
* Account security.&lt;br /&gt;
* Conflicts of interest.&lt;br /&gt;
* Staff accountability.&lt;br /&gt;
* Internal escalation.&lt;br /&gt;
* Compromised-access reporting.&lt;br /&gt;
* Separation between IRC authority and other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Staff Ethics and Security]]&lt;br /&gt;
&lt;br /&gt;
== Assessment System ==&lt;br /&gt;
&lt;br /&gt;
Candidates are evaluated through written, practical, and behavioral assessments.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Assessment&lt;br /&gt;
! Weight&lt;br /&gt;
! Minimum expectation&lt;br /&gt;
|-&lt;br /&gt;
| Written assessment&lt;br /&gt;
| 30%&lt;br /&gt;
| Demonstrates knowledge of IRC, policies, and procedures.&lt;br /&gt;
|-&lt;br /&gt;
| Practical IRC assessment&lt;br /&gt;
| 35%&lt;br /&gt;
| Correctly performs support, moderation, and IRC tasks.&lt;br /&gt;
|-&lt;br /&gt;
| Communication and judgment&lt;br /&gt;
| 25%&lt;br /&gt;
| Remains professional, neutral, and proportionate.&lt;br /&gt;
|-&lt;br /&gt;
| Participation and reliability&lt;br /&gt;
| 10%&lt;br /&gt;
| Completes assignments and follows training procedures.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The normal minimum passing score is &#039;&#039;&#039;75%&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Candidates must also pass the ethics and security section independently. A high overall score cannot compensate for unsafe conduct, abuse of access, dishonesty, or serious privacy violations.&lt;br /&gt;
&lt;br /&gt;
== Practical Training ==&lt;br /&gt;
&lt;br /&gt;
Practical exercises should take place in an approved training environment.&lt;br /&gt;
&lt;br /&gt;
Exercises may include:&lt;br /&gt;
&lt;br /&gt;
* Registering and securing an IRC account.&lt;br /&gt;
* Identifying parts of an IRC user mask.&lt;br /&gt;
* Using user-information commands.&lt;br /&gt;
* Managing channel modes.&lt;br /&gt;
* Selecting an appropriate ban mask.&lt;br /&gt;
* Handling a support request.&lt;br /&gt;
* Responding to flooding.&lt;br /&gt;
* Responding to prohibited advertising.&lt;br /&gt;
* Handling a channel dispute.&lt;br /&gt;
* Preparing an incident report.&lt;br /&gt;
* Escalating a serious case.&lt;br /&gt;
* Recognizing when no staff action is required.&lt;br /&gt;
&lt;br /&gt;
Candidates must not experiment with moderation or operator commands against real users without authorization.&lt;br /&gt;
&lt;br /&gt;
== Mentorship ==&lt;br /&gt;
&lt;br /&gt;
Every IRC trainee should be assigned a mentor.&lt;br /&gt;
&lt;br /&gt;
The mentor should:&lt;br /&gt;
&lt;br /&gt;
* Answer training questions.&lt;br /&gt;
* Review assignments.&lt;br /&gt;
* Observe practical exercises.&lt;br /&gt;
* Correct unsafe actions.&lt;br /&gt;
* Provide feedback.&lt;br /&gt;
* Monitor trainee conduct.&lt;br /&gt;
* Review incident reports.&lt;br /&gt;
* Recommend advancement, additional training, or removal.&lt;br /&gt;
&lt;br /&gt;
A mentor must not approve a candidate solely because of friendship or personal association.&lt;br /&gt;
&lt;br /&gt;
== Trainee Period ==&lt;br /&gt;
&lt;br /&gt;
After passing the core assessments, a candidate may become an &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
During this period, the trainee may:&lt;br /&gt;
&lt;br /&gt;
* Help users in approved support channels.&lt;br /&gt;
* Observe experienced staff.&lt;br /&gt;
* Participate in supervised exercises.&lt;br /&gt;
* Prepare reports.&lt;br /&gt;
* Recommend actions to authorized staff.&lt;br /&gt;
* Handle approved low-risk duties.&lt;br /&gt;
&lt;br /&gt;
Unless specifically authorized, a trainee must not:&lt;br /&gt;
&lt;br /&gt;
* Use unrestricted IRC operator access.&lt;br /&gt;
* Use administrative OperServ commands.&lt;br /&gt;
* Issue permanent network-level sanctions.&lt;br /&gt;
* Access production server configurations.&lt;br /&gt;
* Handle confidential investigations alone.&lt;br /&gt;
* Modify IRC Services or network databases.&lt;br /&gt;
* Represent personal decisions as official policy.&lt;br /&gt;
&lt;br /&gt;
== Probation ==&lt;br /&gt;
&lt;br /&gt;
Selected trainees may enter a probationary staff period lasting approximately &#039;&#039;&#039;30 to 60 days&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
During probation, candidates are evaluated on:&lt;br /&gt;
&lt;br /&gt;
* Activity.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Policy knowledge.&lt;br /&gt;
* Support quality.&lt;br /&gt;
* Professional conduct.&lt;br /&gt;
* Accuracy of actions.&lt;br /&gt;
* Team communication.&lt;br /&gt;
* Security awareness.&lt;br /&gt;
* Incident documentation.&lt;br /&gt;
* Willingness to accept correction.&lt;br /&gt;
&lt;br /&gt;
At the end of probation, management may:&lt;br /&gt;
&lt;br /&gt;
* Appoint the candidate as a permanent DWIRC staff member.&lt;br /&gt;
* Extend probation.&lt;br /&gt;
* Require additional training.&lt;br /&gt;
* Return the candidate to trainee status.&lt;br /&gt;
* End the candidacy.&lt;br /&gt;
&lt;br /&gt;
== Staff Access Policy ==&lt;br /&gt;
&lt;br /&gt;
Completing training does not automatically grant access.&lt;br /&gt;
&lt;br /&gt;
All staff access must be:&lt;br /&gt;
&lt;br /&gt;
* Approved by authorized management.&lt;br /&gt;
* Appropriate to the assigned role.&lt;br /&gt;
* Limited according to the principle of least privilege.&lt;br /&gt;
* Removed when no longer required.&lt;br /&gt;
* Reviewed after role changes or security incidents.&lt;br /&gt;
&lt;br /&gt;
Staff access must never be shared with another person.&lt;br /&gt;
&lt;br /&gt;
== Specialist Training ==&lt;br /&gt;
&lt;br /&gt;
After completing the core program, eligible staff members may apply for specialist training.&lt;br /&gt;
&lt;br /&gt;
Planned specialist programs include:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training/IRC Operator Program|IRC Operator Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/Services Administration|Services Administration]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRCd Administration|IRCd Administration]]&lt;br /&gt;
* [[DWIRC:Staff Training/Policy and Compliance|Policy and Compliance]]&lt;br /&gt;
* [[DWIRC:Staff Training/Abuse and Security|Abuse and Security]]&lt;br /&gt;
* [[DWIRC:Staff Training/Support Team|Support Team]]&lt;br /&gt;
&lt;br /&gt;
DWShells, DWBouncers, and other DarkWorld projects will maintain separate project-specific training programs.&lt;br /&gt;
&lt;br /&gt;
== Staff Code of Conduct ==&lt;br /&gt;
&lt;br /&gt;
All candidates and staff members must read and accept the:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Acceptance of the Code of Conduct is mandatory before a candidate may enter probation.&lt;br /&gt;
&lt;br /&gt;
== Important Notice ==&lt;br /&gt;
&lt;br /&gt;
The DarkWorld IRC Staff Training Program is an educational and evaluation process. Completing it does not guarantee appointment to a staff position.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC management reserves the right to accept, defer, reject, remove, or require further training for a candidate based on the security, operational requirements, and best interests of the network and its community.&lt;br /&gt;
&lt;br /&gt;
== Related Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://darkworld.network/ DarkWorld Network]&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* [[DWIRC|DarkWorld IRC Network]]&lt;br /&gt;
* [[DWTutorials:Linux Basics for Beginners|Linux Basics for Beginners]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training_Program&amp;diff=378</id>
		<title>DWIRC:Staff Training Program</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWIRC:Staff_Training_Program&amp;diff=378"/>
		<updated>2026-08-08T17:16:50Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Created page with &amp;quot;{{DISPLAYTITLE:DarkWorld IRC Staff Training Program}}  = DarkWorld IRC Staff Training Program =  The &amp;#039;&amp;#039;&amp;#039;DarkWorld IRC Staff Training Program&amp;#039;&amp;#039;&amp;#039; prepares potential staff members to support, moderate, and protect the DarkWorld IRC Network.  DarkWorld IRC is one of several projects operating under the wider &amp;#039;&amp;#039;&amp;#039;DarkWorld Network&amp;#039;&amp;#039;&amp;#039; umbrella. Other DarkWorld projects include DWShells, DWBouncers, DWBots, DWGames, DWStats, DWPaste, DWVPN, and DWTutorials.  Completion of this p...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DarkWorld IRC Staff Training Program}}&lt;br /&gt;
&lt;br /&gt;
= DarkWorld IRC Staff Training Program =&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;DarkWorld IRC Staff Training Program&#039;&#039;&#039; prepares potential staff members to support, moderate, and protect the DarkWorld IRC Network.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC is one of several projects operating under the wider &#039;&#039;&#039;DarkWorld Network&#039;&#039;&#039; umbrella. Other DarkWorld projects include DWShells, DWBouncers, DWBots, DWGames, DWStats, DWPaste, DWVPN, and DWTutorials.&lt;br /&gt;
&lt;br /&gt;
Completion of this program applies only to roles within the &#039;&#039;&#039;DarkWorld IRC Network&#039;&#039;&#039;. It does not automatically grant authority, administrative access, or staff membership in any other DarkWorld project.&lt;br /&gt;
&lt;br /&gt;
== Purpose of the Program ==&lt;br /&gt;
&lt;br /&gt;
The program ensures that potential IRC staff members understand:&lt;br /&gt;
&lt;br /&gt;
* How IRC works.&lt;br /&gt;
* How the DarkWorld IRC Network operates.&lt;br /&gt;
* DarkWorld IRC rules and policies.&lt;br /&gt;
* User and channel modes.&lt;br /&gt;
* NickServ, ChanServ, HostServ, and other IRC Services.&lt;br /&gt;
* User-support procedures.&lt;br /&gt;
* Channel moderation.&lt;br /&gt;
* Abuse and incident handling.&lt;br /&gt;
* Staff ethics, privacy, and security.&lt;br /&gt;
* The responsible use of IRC operator privileges.&lt;br /&gt;
&lt;br /&gt;
Candidates must demonstrate knowledge, sound judgment, professional conduct, and reliability before receiving permanent staff access.&lt;br /&gt;
&lt;br /&gt;
== Core Principles ==&lt;br /&gt;
&lt;br /&gt;
Every trainee must follow these principles:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Learn before acting&#039;&#039;&#039; – Candidates must understand the network and its policies before receiving authority.&lt;br /&gt;
# &#039;&#039;&#039;Use the least privilege&#039;&#039;&#039; – Access must be limited to what is required for the assigned role.&lt;br /&gt;
# &#039;&#039;&#039;Protect the community&#039;&#039;&#039; – Staff powers exist to protect users and the network.&lt;br /&gt;
# &#039;&#039;&#039;Remain neutral&#039;&#039;&#039; – Staff access must never be used in personal arguments.&lt;br /&gt;
# &#039;&#039;&#039;Respect privacy&#039;&#039;&#039; – Private reports, IP addresses, logs, and account information must remain confidential.&lt;br /&gt;
# &#039;&#039;&#039;Use proportionate action&#039;&#039;&#039; – Staff should use the least severe effective response.&lt;br /&gt;
# &#039;&#039;&#039;Document important actions&#039;&#039;&#039; – Serious incidents and enforcement actions must be recorded.&lt;br /&gt;
# &#039;&#039;&#039;Escalate when uncertain&#039;&#039;&#039; – Trainees should ask a senior staff member instead of guessing.&lt;br /&gt;
# &#039;&#039;&#039;Accept accountability&#039;&#039;&#039; – Staff decisions may be reviewed by senior management.&lt;br /&gt;
# &#039;&#039;&#039;Respect project boundaries&#039;&#039;&#039; – IRC staff authority does not extend to other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
== Who May Apply? ==&lt;br /&gt;
&lt;br /&gt;
A candidate should:&lt;br /&gt;
&lt;br /&gt;
* Be a registered and active DarkWorld IRC user.&lt;br /&gt;
* Have a positive history within the community.&lt;br /&gt;
* Demonstrate maturity, patience, and professionalism.&lt;br /&gt;
* Be willing to help users without expecting personal benefits.&lt;br /&gt;
* Be able to communicate clearly.&lt;br /&gt;
* Be willing to follow DarkWorld IRC rules and staff procedures.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Complete all required lessons and assessments.&lt;br /&gt;
* Accept supervision during training and probation.&lt;br /&gt;
* Disclose any relevant staff positions held on other IRC networks or communities.&lt;br /&gt;
&lt;br /&gt;
Previous IRC staff experience may be helpful, but it is not required. Experienced candidates must still complete the DarkWorld IRC-specific policy, ethics, and practical assessments.&lt;br /&gt;
&lt;br /&gt;
== Disqualifying Conduct ==&lt;br /&gt;
&lt;br /&gt;
A candidate may be rejected or removed from training for:&lt;br /&gt;
&lt;br /&gt;
* Repeated violations of DarkWorld IRC rules.&lt;br /&gt;
* Harassment, discrimination, threats, or malicious conduct.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Sharing private or confidential information.&lt;br /&gt;
* Impersonating staff.&lt;br /&gt;
* Providing false information in an application.&lt;br /&gt;
* Attempting to obtain access without authorization.&lt;br /&gt;
* Using training knowledge to disrupt the network.&lt;br /&gt;
* Serious abuse of access on another network or project.&lt;br /&gt;
* Refusing to follow instructions from authorized trainers.&lt;br /&gt;
* Cheating during an assessment.&lt;br /&gt;
* Using another person to complete training work.&lt;br /&gt;
&lt;br /&gt;
Removal from training does not always mean permanent rejection. Management may allow a candidate to apply again after a suitable period, depending on the reason for removal.&lt;br /&gt;
&lt;br /&gt;
== Training Stages ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Stage&lt;br /&gt;
! Description&lt;br /&gt;
! Access&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Applicant&#039;&#039;&#039;&lt;br /&gt;
| A user who has submitted an application.&lt;br /&gt;
| Normal public user access only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Student&#039;&#039;&#039;&lt;br /&gt;
| A candidate accepted into the training program.&lt;br /&gt;
| Training materials and approved training channels.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;&lt;br /&gt;
| A student who has passed the initial lessons and assessments.&lt;br /&gt;
| Supervised practical duties only.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Probationary IRC Staff&#039;&#039;&#039;&lt;br /&gt;
| A trainee who has passed the core program and has been selected for probation.&lt;br /&gt;
| Limited role-appropriate access.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;DWIRC Staff Member&#039;&#039;&#039;&lt;br /&gt;
| A candidate who has successfully completed probation.&lt;br /&gt;
| Access appropriate to the assigned IRC staff role.&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;IRC Specialist&#039;&#039;&#039;&lt;br /&gt;
| A staff member who has completed an additional specialist program.&lt;br /&gt;
| Specialist access approved separately.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Training Process ==&lt;br /&gt;
&lt;br /&gt;
The normal training process is:&lt;br /&gt;
&lt;br /&gt;
# Candidate submits an application.&lt;br /&gt;
# The application is reviewed.&lt;br /&gt;
# Approved candidates join the core training program.&lt;br /&gt;
# The candidate completes all required lessons.&lt;br /&gt;
# The candidate completes assignments and practical exercises.&lt;br /&gt;
# The candidate passes the written assessment.&lt;br /&gt;
# The candidate passes the practical assessment.&lt;br /&gt;
# The candidate signs or accepts the Staff Code of Conduct.&lt;br /&gt;
# Successful candidates enter supervised trainee duties.&lt;br /&gt;
# Selected trainees enter probation.&lt;br /&gt;
# A final review determines whether the candidate becomes a permanent staff member.&lt;br /&gt;
&lt;br /&gt;
Passing the course does not create an automatic right to a staff position. Staff appointments depend on conduct, trust, network requirements, available roles, and final management approval.&lt;br /&gt;
&lt;br /&gt;
== Core Training Curriculum ==&lt;br /&gt;
&lt;br /&gt;
=== Module 1: DarkWorld IRC Network Introduction ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* DarkWorld Network as the parent organization.&lt;br /&gt;
* The purpose of the DarkWorld IRC Network.&lt;br /&gt;
* Official IRC servers and channels.&lt;br /&gt;
* IRC staff roles and reporting structures.&lt;br /&gt;
* The boundaries of IRC staff authority.&lt;br /&gt;
* The relationship between DWIRC and other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Network Introduction|DarkWorld IRC Network Introduction]]&lt;br /&gt;
&lt;br /&gt;
=== Module 2: IRC Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* IRC clients and servers.&lt;br /&gt;
* Secure TLS connections.&lt;br /&gt;
* Nicknames, usernames, idents, hostnames, and cloaks.&lt;br /&gt;
* Channels and private messages.&lt;br /&gt;
* IRC masks.&lt;br /&gt;
* IRC commands.&lt;br /&gt;
* Netsplits, lag, reconnections, and server notices.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Fundamentals|IRC Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
=== Module 3: DarkWorld IRC Policies ===&lt;br /&gt;
&lt;br /&gt;
Candidates study:&lt;br /&gt;
&lt;br /&gt;
* General network guidelines.&lt;br /&gt;
* Advertising, invitation, and recruitment rules.&lt;br /&gt;
* Relay and bridge policy.&lt;br /&gt;
* Channel registration requirements.&lt;br /&gt;
* Project registration and verified presence.&lt;br /&gt;
* Spam, flooding, harassment, and ban evasion.&lt;br /&gt;
* Privacy and evidence handling.&lt;br /&gt;
* Staff conduct requirements.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Policies|DarkWorld IRC Policies]]&lt;br /&gt;
&lt;br /&gt;
=== Module 4: User and Channel Modes ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* User modes.&lt;br /&gt;
* IRC operator modes.&lt;br /&gt;
* Channel modes.&lt;br /&gt;
* Channel access levels.&lt;br /&gt;
* Ban masks.&lt;br /&gt;
* Ban exceptions.&lt;br /&gt;
* Invite exceptions.&lt;br /&gt;
* Moderated and restricted channels.&lt;br /&gt;
* Flood-protection modes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/User and Channel Modes|User and Channel Modes]]&lt;br /&gt;
&lt;br /&gt;
=== Module 5: IRC Services ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* NickServ.&lt;br /&gt;
* ChanServ.&lt;br /&gt;
* MemoServ.&lt;br /&gt;
* HostServ.&lt;br /&gt;
* BotServ, where applicable.&lt;br /&gt;
* Account assistance.&lt;br /&gt;
* Channel access.&lt;br /&gt;
* Channel ownership disputes.&lt;br /&gt;
* Appropriate escalation to Services Administrators.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Services|IRC Services]]&lt;br /&gt;
&lt;br /&gt;
=== Module 6: User Support ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn how to:&lt;br /&gt;
&lt;br /&gt;
* Assist users in official help channels.&lt;br /&gt;
* Ask useful diagnostic questions.&lt;br /&gt;
* Help users connect securely.&lt;br /&gt;
* Provide NickServ and ChanServ assistance.&lt;br /&gt;
* Handle complaints professionally.&lt;br /&gt;
* De-escalate disagreements.&lt;br /&gt;
* Protect confidential information.&lt;br /&gt;
* Escalate complex cases.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/User Support|User Support and Communication]]&lt;br /&gt;
&lt;br /&gt;
=== Module 7: IRC Moderation ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* Warnings.&lt;br /&gt;
* Mutes.&lt;br /&gt;
* Kicks.&lt;br /&gt;
* Channel bans.&lt;br /&gt;
* Spam and flood response.&lt;br /&gt;
* Advertising violations.&lt;br /&gt;
* Harassment.&lt;br /&gt;
* Ban evasion.&lt;br /&gt;
* Proportionate enforcement.&lt;br /&gt;
* Avoiding unnecessarily broad actions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Moderation|IRC Moderation]]&lt;br /&gt;
&lt;br /&gt;
=== Module 8: Abuse and Incident Handling ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn how to:&lt;br /&gt;
&lt;br /&gt;
* Receive an abuse report.&lt;br /&gt;
* Verify evidence.&lt;br /&gt;
* Protect private information.&lt;br /&gt;
* Preserve logs and timestamps.&lt;br /&gt;
* Classify incident severity.&lt;br /&gt;
* Take immediate protective action.&lt;br /&gt;
* Escalate serious cases.&lt;br /&gt;
* Prepare an incident report.&lt;br /&gt;
* Follow up on unresolved incidents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Incident Handling|Abuse and Incident Handling]]&lt;br /&gt;
&lt;br /&gt;
=== Module 9: IRC Operator Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Candidates selected for network-level roles learn about:&lt;br /&gt;
&lt;br /&gt;
* IRC operator responsibilities.&lt;br /&gt;
* Operator-account security.&lt;br /&gt;
* Network notices.&lt;br /&gt;
* User investigations.&lt;br /&gt;
* Kills and network bans.&lt;br /&gt;
* OperOverride and SAMODE.&lt;br /&gt;
* Netsplits and server routing.&lt;br /&gt;
* Flood and attack response.&lt;br /&gt;
* Recording operator actions.&lt;br /&gt;
&lt;br /&gt;
This module does not grant IRC operator access. Access requires separate management approval.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/IRC Operator Fundamentals|IRC Operator Fundamentals]]&lt;br /&gt;
&lt;br /&gt;
=== Module 10: Staff Ethics and Security ===&lt;br /&gt;
&lt;br /&gt;
Candidates learn about:&lt;br /&gt;
&lt;br /&gt;
* Least-privilege access.&lt;br /&gt;
* Neutrality.&lt;br /&gt;
* Confidentiality.&lt;br /&gt;
* Account security.&lt;br /&gt;
* Conflicts of interest.&lt;br /&gt;
* Staff accountability.&lt;br /&gt;
* Internal escalation.&lt;br /&gt;
* Compromised-access reporting.&lt;br /&gt;
* Separation between IRC authority and other DarkWorld projects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lesson:&#039;&#039;&#039; [[DWIRC:Staff Training/Staff Ethics|Staff Ethics and Security]]&lt;br /&gt;
&lt;br /&gt;
== Assessment System ==&lt;br /&gt;
&lt;br /&gt;
Candidates are evaluated through written, practical, and behavioral assessments.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Assessment&lt;br /&gt;
! Weight&lt;br /&gt;
! Minimum expectation&lt;br /&gt;
|-&lt;br /&gt;
| Written assessment&lt;br /&gt;
| 30%&lt;br /&gt;
| Demonstrates knowledge of IRC, policies, and procedures.&lt;br /&gt;
|-&lt;br /&gt;
| Practical IRC assessment&lt;br /&gt;
| 35%&lt;br /&gt;
| Correctly performs support, moderation, and IRC tasks.&lt;br /&gt;
|-&lt;br /&gt;
| Communication and judgment&lt;br /&gt;
| 25%&lt;br /&gt;
| Remains professional, neutral, and proportionate.&lt;br /&gt;
|-&lt;br /&gt;
| Participation and reliability&lt;br /&gt;
| 10%&lt;br /&gt;
| Completes assignments and follows training procedures.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The normal minimum passing score is &#039;&#039;&#039;75%&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Candidates must also pass the ethics and security section independently. A high overall score cannot compensate for unsafe conduct, abuse of access, dishonesty, or serious privacy violations.&lt;br /&gt;
&lt;br /&gt;
== Practical Training ==&lt;br /&gt;
&lt;br /&gt;
Practical exercises should take place in an approved training environment.&lt;br /&gt;
&lt;br /&gt;
Exercises may include:&lt;br /&gt;
&lt;br /&gt;
* Registering and securing an IRC account.&lt;br /&gt;
* Identifying parts of an IRC user mask.&lt;br /&gt;
* Using user-information commands.&lt;br /&gt;
* Managing channel modes.&lt;br /&gt;
* Selecting an appropriate ban mask.&lt;br /&gt;
* Handling a support request.&lt;br /&gt;
* Responding to flooding.&lt;br /&gt;
* Responding to prohibited advertising.&lt;br /&gt;
* Handling a channel dispute.&lt;br /&gt;
* Preparing an incident report.&lt;br /&gt;
* Escalating a serious case.&lt;br /&gt;
* Recognizing when no staff action is required.&lt;br /&gt;
&lt;br /&gt;
Candidates must not experiment with moderation or operator commands against real users without authorization.&lt;br /&gt;
&lt;br /&gt;
== Mentorship ==&lt;br /&gt;
&lt;br /&gt;
Every IRC trainee should be assigned a mentor.&lt;br /&gt;
&lt;br /&gt;
The mentor should:&lt;br /&gt;
&lt;br /&gt;
* Answer training questions.&lt;br /&gt;
* Review assignments.&lt;br /&gt;
* Observe practical exercises.&lt;br /&gt;
* Correct unsafe actions.&lt;br /&gt;
* Provide feedback.&lt;br /&gt;
* Monitor trainee conduct.&lt;br /&gt;
* Review incident reports.&lt;br /&gt;
* Recommend advancement, additional training, or removal.&lt;br /&gt;
&lt;br /&gt;
A mentor must not approve a candidate solely because of friendship or personal association.&lt;br /&gt;
&lt;br /&gt;
== Trainee Period ==&lt;br /&gt;
&lt;br /&gt;
After passing the core assessments, a candidate may become an &#039;&#039;&#039;IRC Trainee&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
During this period, the trainee may:&lt;br /&gt;
&lt;br /&gt;
* Help users in approved support channels.&lt;br /&gt;
* Observe experienced staff.&lt;br /&gt;
* Participate in supervised exercises.&lt;br /&gt;
* Prepare reports.&lt;br /&gt;
* Recommend actions to authorized staff.&lt;br /&gt;
* Handle approved low-risk duties.&lt;br /&gt;
&lt;br /&gt;
Unless specifically authorized, a trainee must not:&lt;br /&gt;
&lt;br /&gt;
* Use unrestricted IRC operator access.&lt;br /&gt;
* Use administrative OperServ commands.&lt;br /&gt;
* Issue permanent network-level sanctions.&lt;br /&gt;
* Access production server configurations.&lt;br /&gt;
* Handle confidential investigations alone.&lt;br /&gt;
* Modify IRC Services or network databases.&lt;br /&gt;
* Represent personal decisions as official policy.&lt;br /&gt;
&lt;br /&gt;
== Probation ==&lt;br /&gt;
&lt;br /&gt;
Selected trainees may enter a probationary staff period lasting approximately &#039;&#039;&#039;30 to 60 days&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
During probation, candidates are evaluated on:&lt;br /&gt;
&lt;br /&gt;
* Activity.&lt;br /&gt;
* Reliability.&lt;br /&gt;
* Policy knowledge.&lt;br /&gt;
* Support quality.&lt;br /&gt;
* Professional conduct.&lt;br /&gt;
* Accuracy of actions.&lt;br /&gt;
* Team communication.&lt;br /&gt;
* Security awareness.&lt;br /&gt;
* Incident documentation.&lt;br /&gt;
* Willingness to accept correction.&lt;br /&gt;
&lt;br /&gt;
At the end of probation, management may:&lt;br /&gt;
&lt;br /&gt;
* Appoint the candidate as a permanent DWIRC staff member.&lt;br /&gt;
* Extend probation.&lt;br /&gt;
* Require additional training.&lt;br /&gt;
* Return the candidate to trainee status.&lt;br /&gt;
* End the candidacy.&lt;br /&gt;
&lt;br /&gt;
== Staff Access Policy ==&lt;br /&gt;
&lt;br /&gt;
Completing training does not automatically grant access.&lt;br /&gt;
&lt;br /&gt;
All staff access must be:&lt;br /&gt;
&lt;br /&gt;
* Approved by authorized management.&lt;br /&gt;
* Appropriate to the assigned role.&lt;br /&gt;
* Limited according to the principle of least privilege.&lt;br /&gt;
* Removed when no longer required.&lt;br /&gt;
* Reviewed after role changes or security incidents.&lt;br /&gt;
&lt;br /&gt;
Staff access must never be shared with another person.&lt;br /&gt;
&lt;br /&gt;
== Specialist Training ==&lt;br /&gt;
&lt;br /&gt;
After completing the core program, eligible staff members may apply for specialist training.&lt;br /&gt;
&lt;br /&gt;
Planned specialist programs include:&lt;br /&gt;
&lt;br /&gt;
* [[DWIRC:Staff Training/IRC Operator Program|IRC Operator Program]]&lt;br /&gt;
* [[DWIRC:Staff Training/Services Administration|Services Administration]]&lt;br /&gt;
* [[DWIRC:Staff Training/IRCd Administration|IRCd Administration]]&lt;br /&gt;
* [[DWIRC:Staff Training/Policy and Compliance|Policy and Compliance]]&lt;br /&gt;
* [[DWIRC:Staff Training/Abuse and Security|Abuse and Security]]&lt;br /&gt;
* [[DWIRC:Staff Training/Support Team|Support Team]]&lt;br /&gt;
&lt;br /&gt;
DWShells, DWBouncers, and other DarkWorld projects will maintain separate project-specific training programs.&lt;br /&gt;
&lt;br /&gt;
== Staff Code of Conduct ==&lt;br /&gt;
&lt;br /&gt;
All candidates and staff members must read and accept the:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;[[DWIRC:Staff Training/Code of Conduct|DarkWorld IRC Staff Code of Conduct]]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Acceptance of the Code of Conduct is mandatory before a candidate may enter probation.&lt;br /&gt;
&lt;br /&gt;
== Important Notice ==&lt;br /&gt;
&lt;br /&gt;
The DarkWorld IRC Staff Training Program is an educational and evaluation process. Completing it does not guarantee appointment to a staff position.&lt;br /&gt;
&lt;br /&gt;
DarkWorld IRC management reserves the right to accept, defer, reject, remove, or require further training for a candidate based on the security, operational requirements, and best interests of the network and its community.&lt;br /&gt;
&lt;br /&gt;
== Related Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://darkworld.network/ DarkWorld Network]&lt;br /&gt;
* [https://doc.darkworld.network/ DarkWorld IRC Documentation]&lt;br /&gt;
* [[DWIRC|DarkWorld IRC Network]]&lt;br /&gt;
* [[DWTutorials:Linux Basics for Beginners|Linux Basics for Beginners]]&lt;br /&gt;
&lt;br /&gt;
[[Category:DWIRC]]&lt;br /&gt;
[[Category:DarkWorld IRC Staff Training]]&lt;br /&gt;
[[Category:IRC Tutorials]]&lt;br /&gt;
[[Category:Staff Documentation]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners&amp;diff=377</id>
		<title>DWTutorials:Linux Basics for Beginners</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners&amp;diff=377"/>
		<updated>2026-07-21T21:25:21Z</updated>

		<summary type="html">&lt;p&gt;Fizi: Protected &amp;quot;DWTutorials:Linux Basics for Beginners&amp;quot; ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DWShells Linux Basics for Beginners}}&lt;br /&gt;
[[File:DWShells-Linux-Basics-Cover.png|center|frameless|1000px|alt=DWShells Linux Basics for Beginners course banner]]&lt;br /&gt;
&lt;br /&gt;
= Linux Basics for Beginners =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian Shell Course for DWShells&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Course level&lt;br /&gt;
| Complete beginner&lt;br /&gt;
! Suggested time&lt;br /&gt;
| 12–16 hours&lt;br /&gt;
|-&lt;br /&gt;
! Platform&lt;br /&gt;
| Debian GNU/Linux&lt;br /&gt;
! Access&lt;br /&gt;
| DWShells account through SSH&lt;br /&gt;
|-&lt;br /&gt;
! Permissions&lt;br /&gt;
| Normal user account; no root access required&lt;br /&gt;
! Course version&lt;br /&gt;
| 1.0 — July 2026&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This course teaches the Linux command line from the beginning. You will learn by running safe commands in your own DWShells home directory. By the end, you will be able to navigate Linux, manage files, understand permissions, combine commands, monitor your own processes, transfer files securely, and write a small Bash script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Copyright:&#039;&#039;&#039; © 2026 DarkWorld Network. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
== Before you begin ==&lt;br /&gt;
&lt;br /&gt;
=== What you need ===&lt;br /&gt;
&lt;br /&gt;
* An active DWShells account.&lt;br /&gt;
* Your DWShells username, password or SSH key, hostname, and SSH port.&lt;br /&gt;
* An SSH program:&lt;br /&gt;
** &#039;&#039;&#039;Windows 10/11:&#039;&#039;&#039; Windows Terminal, PowerShell, or PuTTY.&lt;br /&gt;
** &#039;&#039;&#039;Linux:&#039;&#039;&#039; a terminal application.&lt;br /&gt;
** &#039;&#039;&#039;macOS:&#039;&#039;&#039; Terminal.&lt;br /&gt;
** &#039;&#039;&#039;Android/iOS:&#039;&#039;&#039; a reputable SSH client.&lt;br /&gt;
* About one hour per lesson.&lt;br /&gt;
&lt;br /&gt;
Examples use the hostname &amp;lt;code&amp;gt;dwshells.darkworld.network&amp;lt;/code&amp;gt;. If your welcome email gives a different hostname or port, always use the details in that email.&lt;br /&gt;
&lt;br /&gt;
=== How to read command examples ===&lt;br /&gt;
&lt;br /&gt;
When you see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ pwd&lt;br /&gt;
/home/free/alex&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the dollar sign is the shell prompt. &#039;&#039;&#039;Type only &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;; do not type the dollar sign.&#039;&#039;&#039; Lines after the command show example output. Your username, hostname, dates, file sizes, and other details will be different.&lt;br /&gt;
&lt;br /&gt;
=== Safety rules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rule&lt;br /&gt;
! Reason&lt;br /&gt;
|-&lt;br /&gt;
| Work inside &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; unless a lesson clearly says otherwise.&lt;br /&gt;
| This is your personal directory and the safest place to practise.&lt;br /&gt;
|-&lt;br /&gt;
| Read a command before pressing Enter.&lt;br /&gt;
| Linux assumes that you mean what you type.&lt;br /&gt;
|-&lt;br /&gt;
| Do not copy unknown commands from websites or strangers.&lt;br /&gt;
| A short command can steal data, misuse the server, or delete files.&lt;br /&gt;
|-&lt;br /&gt;
| Never practise with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;, or system files.&lt;br /&gt;
| DWShells learners do not need administrator access.&lt;br /&gt;
|-&lt;br /&gt;
| Never use network scanners, miners, attack tools, spam tools, or prohibited long-running services.&lt;br /&gt;
| Follow the DWShells Acceptable Use Policy and protect other users.&lt;br /&gt;
|-&lt;br /&gt;
| Ask DWShells staff if you are unsure.&lt;br /&gt;
| It is better to check first than to damage data or violate policy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course workspace ===&lt;br /&gt;
&lt;br /&gt;
Create one directory for all labs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
pwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected final line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/your/home/path/linux-course&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact home path may be &amp;lt;code&amp;gt;/home/free/USERNAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/home/support/USERNAME&amp;lt;/code&amp;gt;, or another path assigned by DWShells. Use &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; so your commands work in every case.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Learning-Journey.png|center|frameless|1000px|alt=Illustration showing the journey from a local terminal through Linux skills to a remote server]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 1 — Meet Linux and connect to DWShells =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Understand the basic vocabulary, connect securely, run simple commands, and leave the session correctly.&lt;br /&gt;
&lt;br /&gt;
== 1.1 What is Linux? ==&lt;br /&gt;
&lt;br /&gt;
Linux is the core, or &#039;&#039;&#039;kernel&#039;&#039;&#039;, that manages the computer&#039;s CPU, memory, storage, devices, and processes. A complete operating system combines the Linux kernel with programs and tools.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039; is the Linux distribution used by DWShells. Debian is known for stability, security, and careful software packaging.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Simple meaning&lt;br /&gt;
|-&lt;br /&gt;
| Linux&lt;br /&gt;
| The kernel that manages the system.&lt;br /&gt;
|-&lt;br /&gt;
| Debian&lt;br /&gt;
| The Linux distribution running on the server.&lt;br /&gt;
|-&lt;br /&gt;
| Terminal&lt;br /&gt;
| The window or application where you type commands.&lt;br /&gt;
|-&lt;br /&gt;
| Shell&lt;br /&gt;
| The program that reads and runs your commands. This course uses Bash examples.&lt;br /&gt;
|-&lt;br /&gt;
| SSH&lt;br /&gt;
| Secure Shell: the encrypted method used to connect to DWShells.&lt;br /&gt;
|-&lt;br /&gt;
| Command&lt;br /&gt;
| An instruction given to the shell.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1.2 Connect with SSH ==&lt;br /&gt;
&lt;br /&gt;
From Windows Terminal, PowerShell, Linux, or macOS, run this on &#039;&#039;&#039;your own computer&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh USERNAME@dwshells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If DWShells uses a custom port:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -p PORT_NUMBER USERNAME@dwshells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;USERNAME&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PORT_NUMBER&amp;lt;/code&amp;gt; with the details in your welcome email.&lt;br /&gt;
&lt;br /&gt;
The first connection may display a server host-key fingerprint and ask whether you trust it. Compare it with the fingerprint published by DWShells or ask staff to verify it. Do not accept an unexpected or changed fingerprint without checking.&lt;br /&gt;
&lt;br /&gt;
When asked for a password, type it and press Enter. The terminal normally shows &#039;&#039;&#039;no dots and no stars&#039;&#039;&#039; while you type a Linux password. This is normal.&lt;br /&gt;
&lt;br /&gt;
== 1.3 Understand the prompt ==&lt;br /&gt;
&lt;br /&gt;
A prompt may look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alex@dwshells:~$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;alex&amp;lt;/code&amp;gt; — your username.&lt;br /&gt;
* &amp;lt;code&amp;gt;dwshells&amp;lt;/code&amp;gt; — the server hostname.&lt;br /&gt;
* &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; — your home directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; — a normal user&#039;s prompt. A &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; prompt usually represents an administrator and is not used in this course.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Command-Anatomy.png|center|frameless|1000px|alt=Diagram explaining the command, options, and argument parts of a Linux command]]&lt;br /&gt;
&lt;br /&gt;
== 1.4 Run your first commands ==&lt;br /&gt;
&lt;br /&gt;
Run one line at a time:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
whoami&lt;br /&gt;
hostname&lt;br /&gt;
pwd&lt;br /&gt;
date&lt;br /&gt;
echo &amp;quot;Hello from DWShells&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;whoami&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows the current username.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows the server&#039;s name.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prints the working directory—your current location.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows the server&#039;s current date and time.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prints text or a variable&#039;s value.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Linux commands and filenames are case-sensitive. &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PWD&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;Pwd&amp;lt;/code&amp;gt; are not the same.&lt;br /&gt;
&lt;br /&gt;
== 1.5 Essential keyboard controls ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| Up / Down arrows&lt;br /&gt;
| Move through recently entered commands.&lt;br /&gt;
|-&lt;br /&gt;
| Tab&lt;br /&gt;
| Complete a command or filename. Press twice to show possibilities.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+C&lt;br /&gt;
| Interrupt the command currently running.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+L&lt;br /&gt;
| Clear the visible terminal screen without deleting history.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+D&lt;br /&gt;
| Send end-of-file; at an empty prompt it logs out.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To leave DWShells normally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lesson 1 lab ==&lt;br /&gt;
&lt;br /&gt;
# Connect to DWShells.&lt;br /&gt;
# Display your username, hostname, home directory, and the current date.&lt;br /&gt;
# Print the sentence &amp;lt;code&amp;gt;I am learning Debian Linux&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use the Up arrow to recall your previous command.&lt;br /&gt;
# Log out using &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, then connect again.&lt;br /&gt;
&lt;br /&gt;
== Lesson 1 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the difference between a terminal and a shell?&lt;br /&gt;
# What secure protocol connects you to DWShells?&lt;br /&gt;
# Why does the password appear invisible while you type?&lt;br /&gt;
# Which command prints your current directory?&lt;br /&gt;
# Which key combination stops a running command?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 2 — Navigate the filesystem =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; List directory contents and move confidently using absolute paths, relative paths, and shortcuts.&lt;br /&gt;
&lt;br /&gt;
== 2.1 The filesystem is a tree ==&lt;br /&gt;
&lt;br /&gt;
Linux uses one directory tree beginning at &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, called the &#039;&#039;&#039;root directory&#039;&#039;&#039;. This is different from the &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; administrator account.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Filesystem-Map.png|center|frameless|1000px|alt=Beginner map of the Debian filesystem showing home, etc, var, tmp, and usr]]&lt;br /&gt;
&lt;br /&gt;
Important locations:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Path&lt;br /&gt;
! Purpose&lt;br /&gt;
! Beginner guidance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top of the entire filesystem.&lt;br /&gt;
| Browse only; do not try to modify it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;&lt;br /&gt;
| Contains user home directories.&lt;br /&gt;
| Your own home is your normal workspace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;&lt;br /&gt;
| System configuration.&lt;br /&gt;
| Usually readable but not writable by normal users.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/var&amp;lt;/code&amp;gt;&lt;br /&gt;
| Logs, cache, mail, and changing system data.&lt;br /&gt;
| Mostly managed by services and administrators.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temporary files.&lt;br /&gt;
| Files may be deleted automatically; never store valuables here.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Programs, libraries, and shared read-only data.&lt;br /&gt;
| Useful to understand, but not your workspace.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2.2 List files with ls ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls&lt;br /&gt;
ls -l&lt;br /&gt;
ls -a&lt;br /&gt;
ls -lah&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; — long format with permissions, owner, size, and date.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; — include hidden names beginning with a dot.&lt;br /&gt;
* &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; — display sizes in a human-readable form such as KiB or MiB.&lt;br /&gt;
&lt;br /&gt;
Options can be combined: &amp;lt;code&amp;gt;ls -l -a -h&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -lah&amp;lt;/code&amp;gt; are equivalent.&lt;br /&gt;
&lt;br /&gt;
List another directory without moving there:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -lah /etc&lt;br /&gt;
ls -lah &amp;quot;$HOME&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2.3 Move with cd ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME&amp;quot;&lt;br /&gt;
cd /&lt;br /&gt;
cd /etc&lt;br /&gt;
cd ..&lt;br /&gt;
cd -&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Path or command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
| Move to the absolute path &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd ..&amp;lt;/code&amp;gt;&lt;br /&gt;
| Move to the parent directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd .&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stay in the current directory. A single dot means “here.”&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return to the previous directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;cd ~&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return to your home directory.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;absolute path&#039;&#039;&#039; begins with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, such as &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt;. A &#039;&#039;&#039;relative path&#039;&#039;&#039; begins from your current directory, such as &amp;lt;code&amp;gt;lesson-02/notes.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 2.4 Hidden files ==&lt;br /&gt;
&lt;br /&gt;
Names beginning with a dot are hidden from a normal &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; listing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -la &amp;quot;$HOME&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration files such as &amp;lt;code&amp;gt;.bashrc&amp;lt;/code&amp;gt; and directories such as &amp;lt;code&amp;gt;.ssh&amp;lt;/code&amp;gt; are hidden to reduce clutter, not to provide security.&lt;br /&gt;
&lt;br /&gt;
== Lesson 2 lab ==&lt;br /&gt;
&lt;br /&gt;
Run each task and use &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt; after every &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Go to your home directory.&lt;br /&gt;
# Go to the root directory.&lt;br /&gt;
# List the root directory in long, human-readable format.&lt;br /&gt;
# Go to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Return to the previous directory using &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Return home using the shortest command you know.&lt;br /&gt;
# List all hidden names in your home directory.&lt;br /&gt;
&lt;br /&gt;
== Lesson 2 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/root&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; represent?&lt;br /&gt;
# Which &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; option shows hidden files?&lt;br /&gt;
# Is &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; an absolute or relative path?&lt;br /&gt;
# What do &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; mean?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 3 — Create, copy, move, and remove files =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Organize data in your course workspace and delete items safely.&lt;br /&gt;
&lt;br /&gt;
== 3.1 Create directories and files ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
mkdir lesson-03&lt;br /&gt;
cd lesson-03&lt;br /&gt;
mkdir documents backups&lt;br /&gt;
touch notes.txt&lt;br /&gt;
ls -lah&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt; creates a directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;touch&amp;lt;/code&amp;gt; creates an empty file if it does not exist, or updates its timestamp if it does.&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt; creates missing parent directories and does not complain if they already exist.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p project/docs/drafts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.2 Copy files and directories ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cp notes.txt notes-copy.txt&lt;br /&gt;
cp notes.txt documents/&lt;br /&gt;
cp -i notes.txt documents/notes.txt&lt;br /&gt;
cp -r documents backups/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cp SOURCE DESTINATION&amp;lt;/code&amp;gt; copies a file.&lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; copies a directory and its contents recursively.&lt;br /&gt;
* &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; asks before overwriting an existing destination.&lt;br /&gt;
* &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; displays what is being copied.&lt;br /&gt;
&lt;br /&gt;
For an important copy, check the destination:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -lah documents backups&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.3 Move and rename ==&lt;br /&gt;
&lt;br /&gt;
The same &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; command moves and renames:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mv notes-copy.txt old-notes.txt&lt;br /&gt;
mv old-notes.txt documents/&lt;br /&gt;
mv -i notes.txt main-notes.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.4 Remove safely ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm -i main-notes.txt&lt;br /&gt;
rm -i backups/documents/notes.txt&lt;br /&gt;
rmdir backups/documents&lt;br /&gt;
rmdir backups&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; removes files.&lt;br /&gt;
* &amp;lt;code&amp;gt;rmdir&amp;lt;/code&amp;gt; removes an empty directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;rm -r DIRECTORY&amp;lt;/code&amp;gt; removes a directory tree recursively.&lt;br /&gt;
* &amp;lt;code&amp;gt;rm -f&amp;lt;/code&amp;gt; forces removal without a question. Beginners should avoid it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Shell deletion normally does not use a recycle bin. Always run &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; first. Prefer &amp;lt;code&amp;gt;rm -i&amp;lt;/code&amp;gt; while learning.&lt;br /&gt;
&lt;br /&gt;
Never run destructive examples such as &amp;lt;code&amp;gt;rm -rf&amp;lt;/code&amp;gt; on broad paths. Do not combine recursive deletion with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt;, unknown variables, or an unreviewed wildcard.&lt;br /&gt;
&lt;br /&gt;
== 3.5 Wildcards in file operations ==&lt;br /&gt;
&lt;br /&gt;
The shell expands patterns before running a command:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pattern&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any number of characters.&lt;br /&gt;
| &amp;lt;code&amp;gt;ls *.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&lt;br /&gt;
| Exactly one character.&lt;br /&gt;
| &amp;lt;code&amp;gt;ls note?.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[abc]&amp;lt;/code&amp;gt;&lt;br /&gt;
| One character from the brackets.&lt;br /&gt;
| &amp;lt;code&amp;gt;ls file[123].txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Preview a wildcard with &amp;lt;code&amp;gt;printf&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; before using it with &amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; *.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lesson 3 lab ==&lt;br /&gt;
&lt;br /&gt;
Work only in &amp;lt;code&amp;gt;$HOME/linux-course/lesson-03&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Create directories named &amp;lt;code&amp;gt;practice&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;practice/archive&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Create empty files &amp;lt;code&amp;gt;one.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;three.log&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Copy the two &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; files into &amp;lt;code&amp;gt;practice&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Rename &amp;lt;code&amp;gt;three.log&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;activity.log&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Copy &amp;lt;code&amp;gt;activity.log&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;practice/archive&amp;lt;/code&amp;gt;.&lt;br /&gt;
# List the complete result with &amp;lt;code&amp;gt;ls -lR&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Remove only &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt; from the current directory using interactive mode.&lt;br /&gt;
&lt;br /&gt;
== Lesson 3 review ==&lt;br /&gt;
&lt;br /&gt;
# Which command creates parent directories automatically?&lt;br /&gt;
# How do you copy a directory and its contents?&lt;br /&gt;
# Which command renames a file?&lt;br /&gt;
# Why should you use &amp;lt;code&amp;gt;rm -i&amp;lt;/code&amp;gt; while learning?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;*.txt&amp;lt;/code&amp;gt; match?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 4 — Read and edit text files =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Inspect text safely, edit with Nano, and compare files.&lt;br /&gt;
&lt;br /&gt;
== 4.1 Identify and display files ==&lt;br /&gt;
&lt;br /&gt;
Create lesson data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-04&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-04&amp;quot;&lt;br /&gt;
printf &#039;alpha\nbeta\ngamma\ndelta\nepsilon\n&#039; &amp;gt; words.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now inspect it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
file words.txt&lt;br /&gt;
cat words.txt&lt;br /&gt;
head -n 3 words.txt&lt;br /&gt;
tail -n 2 words.txt&lt;br /&gt;
wc -l words.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;file NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Guess the file type.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cat NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Display a short text file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;less NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read a long file one screen at a time.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;head -n N NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show the first N lines.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tail -n N NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show the last N lines.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wc&amp;lt;/code&amp;gt;&lt;br /&gt;
| Count lines, words, or bytes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Inside &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Arrow keys or Page Up/Page Down — move.&lt;br /&gt;
* &amp;lt;code&amp;gt;/word&amp;lt;/code&amp;gt; — search forward.&lt;br /&gt;
* &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; — next match.&lt;br /&gt;
* &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; — quit.&lt;br /&gt;
&lt;br /&gt;
Follow a file as new lines are added:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
tail -f filename.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+C to stop following. Use this only on logs you are permitted to read.&lt;br /&gt;
&lt;br /&gt;
== 4.2 Edit with Nano ==&lt;br /&gt;
&lt;br /&gt;
Open a file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano notes.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nano shows shortcuts at the bottom. The &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt; character means Ctrl.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Shortcut&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+O&lt;br /&gt;
| Write (save) the file.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+X&lt;br /&gt;
| Exit Nano.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+W&lt;br /&gt;
| Search.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+K&lt;br /&gt;
| Cut the current line.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+U&lt;br /&gt;
| Paste the cut line.&lt;br /&gt;
|-&lt;br /&gt;
| Alt+U&lt;br /&gt;
| Undo, where supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If Nano is not available, ask DWShells staff which editor is supported. Do not edit unfamiliar system configuration files while learning.&lt;br /&gt;
&lt;br /&gt;
== 4.3 Write predictable text with printf ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;DWShells Linux Course&amp;quot; &amp;quot;Lesson 4&amp;quot; &amp;gt; summary.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;Completed&amp;quot; &amp;gt;&amp;gt; summary.txt&lt;br /&gt;
cat summary.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The single &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; replaces a file&#039;s content. The double &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; appends. Lesson 7 explains this in detail.&lt;br /&gt;
&lt;br /&gt;
== 4.4 Compare files ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cp words.txt words-copy.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;zeta&amp;quot; &amp;gt;&amp;gt; words-copy.txt&lt;br /&gt;
diff -u words.txt words-copy.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No output from &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; means the files are identical.&lt;br /&gt;
&lt;br /&gt;
== Lesson 4 lab ==&lt;br /&gt;
&lt;br /&gt;
# Create &amp;lt;code&amp;gt;$HOME/linux-course/lesson-04/profile.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use Nano to write your username, the course name, and three Linux commands you have learned.&lt;br /&gt;
# Save and exit.&lt;br /&gt;
# Display the first two lines with &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Display the last line with &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Count the number of lines with &amp;lt;code&amp;gt;wc&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Copy the file, add one new line to the copy, and compare both files with &amp;lt;code&amp;gt;diff -u&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lesson 4 review ==&lt;br /&gt;
&lt;br /&gt;
# When is &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt; better than &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;?&lt;br /&gt;
# How do you quit &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Which Nano shortcut saves a file?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does no output from &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; normally mean?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 5 — Find help and understand commands =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Use built-in documentation instead of guessing.&lt;br /&gt;
&lt;br /&gt;
== 5.1 Quick help ==&lt;br /&gt;
&lt;br /&gt;
Most programs support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls --help&lt;br /&gt;
cp --help&lt;br /&gt;
grep --help&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because help can be long, send it to &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls --help | less&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5.2 Manual pages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
man ls&lt;br /&gt;
man cp&lt;br /&gt;
man chmod&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Useful keys in &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt; are the same as in &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; searches, &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; finds the next result, and &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; quits.&lt;br /&gt;
&lt;br /&gt;
Search manual descriptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
whatis ls&lt;br /&gt;
apropos &amp;quot;copy files&amp;quot;&lt;br /&gt;
man -k &amp;quot;search text&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apropos&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;man -k&amp;lt;/code&amp;gt; are equivalent. On a minimal server, the manual index or some pages may not be installed.&lt;br /&gt;
&lt;br /&gt;
== 5.3 Learn what the shell will run ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
type cd&lt;br /&gt;
type ls&lt;br /&gt;
command -v bash&lt;br /&gt;
command -v nano&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; can identify an alias, function, shell builtin, or executable.&lt;br /&gt;
* &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; checks whether a command is available and shows what will run.&lt;br /&gt;
* &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; is normally a shell builtin because it must change the current shell&#039;s directory.&lt;br /&gt;
&lt;br /&gt;
== 5.4 Command history ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
history&lt;br /&gt;
history | tail -n 20&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
History can contain sensitive data if you type passwords, tokens, or private URLs directly on the command line. &#039;&#039;&#039;Never put a password or API key in a command unless the tool provides a secure method.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To search previous commands interactively, press Ctrl+R and type part of a command. Press Ctrl+R again for an older match, Enter to run it, or Ctrl+C to cancel.&lt;br /&gt;
&lt;br /&gt;
== 5.5 Read syntax notation ==&lt;br /&gt;
&lt;br /&gt;
Manuals often use:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;COMMAND [OPTION]... [FILE]...&amp;lt;/code&amp;gt;&lt;br /&gt;
* Square brackets mean optional.&lt;br /&gt;
* Three dots mean an item can be repeated.&lt;br /&gt;
* A vertical list separated by &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; means choose one item.&lt;br /&gt;
* Uppercase words such as &amp;lt;code&amp;gt;FILE&amp;lt;/code&amp;gt; are placeholders, not literal text.&lt;br /&gt;
&lt;br /&gt;
== Lesson 5 lab ==&lt;br /&gt;
&lt;br /&gt;
# Open the manual for &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Search inside it for &amp;lt;code&amp;gt;parents&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Find the option that creates parent directories.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; to check for &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vim&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Show only your last ten history entries.&lt;br /&gt;
&lt;br /&gt;
== Lesson 5 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the fastest common option for brief command help?&lt;br /&gt;
# Which command opens a manual page?&lt;br /&gt;
# Which key exits a manual page?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; tell you?&lt;br /&gt;
# Why should secrets not appear in command history?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 6 — Understand permissions and ownership =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Read permission strings and protect your own files.&lt;br /&gt;
&lt;br /&gt;
== 6.1 Read a long listing ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
ls -ld .&lt;br /&gt;
ls -l&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A long listing may look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-rwxr-x--- 1 alex support 812 Jul 22 10:30 report.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It contains:&lt;br /&gt;
&lt;br /&gt;
# File type and permissions: &amp;lt;code&amp;gt;-rwxr-x---&amp;lt;/code&amp;gt;&lt;br /&gt;
# Link count: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
# Owner: &amp;lt;code&amp;gt;alex&amp;lt;/code&amp;gt;&lt;br /&gt;
# Group: &amp;lt;code&amp;gt;support&amp;lt;/code&amp;gt;&lt;br /&gt;
# Size in bytes: &amp;lt;code&amp;gt;812&amp;lt;/code&amp;gt;&lt;br /&gt;
# Last modification time&lt;br /&gt;
# Filename: &amp;lt;code&amp;gt;report.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Permissions.png|center|frameless|1000px|alt=Diagram explaining Linux owner, group, others, read, write, execute, and numeric permissions]]&lt;br /&gt;
&lt;br /&gt;
== 6.2 File types ==&lt;br /&gt;
&lt;br /&gt;
The first character commonly means:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Character&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regular file&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Directory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Symbolic link&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 6.3 Read, write, and execute ==&lt;br /&gt;
&lt;br /&gt;
Permissions are shown for &#039;&#039;&#039;owner&#039;&#039;&#039;, &#039;&#039;&#039;group&#039;&#039;&#039;, and &#039;&#039;&#039;others&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Permission&lt;br /&gt;
! On a file&lt;br /&gt;
! On a directory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; — read&lt;br /&gt;
| Read file contents.&lt;br /&gt;
| List names in the directory, subject to other permissions.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; — write&lt;br /&gt;
| Modify the file.&lt;br /&gt;
| Create, delete, or rename entries in the directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; — execute&lt;br /&gt;
| Run a program or script.&lt;br /&gt;
| Enter/traverse the directory and access known names.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Directory permissions are especially important: read and execute have different jobs.&lt;br /&gt;
&lt;br /&gt;
== 6.4 Change permissions symbolically ==&lt;br /&gt;
&lt;br /&gt;
Create a practice script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-06&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-06&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &#039;#!/bin/bash&#039; &#039;echo &amp;quot;Permission test successful&amp;quot;&#039; &amp;gt; test.sh&lt;br /&gt;
ls -l test.sh&lt;br /&gt;
chmod u+x test.sh&lt;br /&gt;
ls -l test.sh&lt;br /&gt;
./test.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Symbolic targets and operations:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; owner/user, &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; group, &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; others, &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; all.&lt;br /&gt;
* &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; add, &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; remove, &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt; set exactly.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x script.sh&lt;br /&gt;
chmod go-rwx private.txt&lt;br /&gt;
chmod u=rw,go= notes.txt&lt;br /&gt;
chmod g+r shared.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6.5 Numeric permissions ==&lt;br /&gt;
&lt;br /&gt;
The values are:&lt;br /&gt;
&lt;br /&gt;
* read = 4&lt;br /&gt;
* write = 2&lt;br /&gt;
* execute = 1&lt;br /&gt;
&lt;br /&gt;
Add each set:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Permission&lt;br /&gt;
! Common use&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &amp;lt;code&amp;gt;rwx&amp;lt;/code&amp;gt;&lt;br /&gt;
| Full access&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &amp;lt;code&amp;gt;rw-&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read and write&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &amp;lt;code&amp;gt;r-x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read and execute&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &amp;lt;code&amp;gt;r--&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read only&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| &amp;lt;code&amp;gt;---&amp;lt;/code&amp;gt;&lt;br /&gt;
| No access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 700 private-directory&lt;br /&gt;
chmod 600 private.txt&lt;br /&gt;
chmod 750 script.sh&lt;br /&gt;
chmod 640 shared-report.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid &amp;lt;code&amp;gt;chmod 777&amp;lt;/code&amp;gt;. It allows every local user to modify the item and is almost never the correct fix.&lt;br /&gt;
&lt;br /&gt;
== 6.6 Ownership, groups, and umask ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
whoami&lt;br /&gt;
id&lt;br /&gt;
groups&lt;br /&gt;
umask&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; shows your numeric user ID, group ID, and group memberships.&lt;br /&gt;
* &amp;lt;code&amp;gt;chgrp GROUP FILE&amp;lt;/code&amp;gt; changes a file&#039;s group only when you are permitted to use that group.&lt;br /&gt;
* &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; changes ownership and normally requires administrator privileges. It is not a learner exercise.&lt;br /&gt;
* &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; controls which permissions are removed from newly created files and directories.&lt;br /&gt;
&lt;br /&gt;
For SSH files, secure permissions are normally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 700 &amp;quot;$HOME/.ssh&amp;quot;&lt;br /&gt;
chmod 600 &amp;quot;$HOME/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run those commands only if the paths exist and belong to you.&lt;br /&gt;
&lt;br /&gt;
== Lesson 6 lab ==&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;$HOME/linux-course/lesson-06&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Create &amp;lt;code&amp;gt;private.txt&amp;lt;/code&amp;gt; and set it to owner read/write only.&lt;br /&gt;
# Create &amp;lt;code&amp;gt;shared.txt&amp;lt;/code&amp;gt; and set it to owner read/write, group read, others none.&lt;br /&gt;
# Create a directory &amp;lt;code&amp;gt;private-dir&amp;lt;/code&amp;gt; with owner-only access.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -ld&amp;lt;/code&amp;gt; to verify all three.&lt;br /&gt;
# Remove execute permission from &amp;lt;code&amp;gt;test.sh&amp;lt;/code&amp;gt;, try to run it directly, then restore execute permission.&lt;br /&gt;
# Display your user and group memberships with &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lesson 6 review ==&lt;br /&gt;
&lt;br /&gt;
# What do the three permission groups represent?&lt;br /&gt;
# What is the numeric value of &amp;lt;code&amp;gt;r-x&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does execute permission mean on a directory?&lt;br /&gt;
# Which command changes permissions?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;777&amp;lt;/code&amp;gt; unsafe?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
= Lesson 7 — Redirect output and build pipelines =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Save command output, separate errors, and connect small tools with pipes.&lt;br /&gt;
&lt;br /&gt;
== 7.1 Standard input, output, and error ==&lt;br /&gt;
&lt;br /&gt;
Every command starts with three standard data streams:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stream&lt;br /&gt;
! Number&lt;br /&gt;
! Normal source or destination&lt;br /&gt;
|-&lt;br /&gt;
| Standard input (stdin)&lt;br /&gt;
| 0&lt;br /&gt;
| Your keyboard&lt;br /&gt;
|-&lt;br /&gt;
| Standard output (stdout)&lt;br /&gt;
| 1&lt;br /&gt;
| Your terminal&lt;br /&gt;
|-&lt;br /&gt;
| Standard error (stderr)&lt;br /&gt;
| 2&lt;br /&gt;
| Your terminal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Redirection changes where these streams go.&lt;br /&gt;
&lt;br /&gt;
== 7.2 Replace or append a file ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-07&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-07&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;first line&amp;quot; &amp;gt; output.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;second line&amp;quot; &amp;gt;&amp;gt; output.txt&lt;br /&gt;
cat output.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; creates a file or &#039;&#039;&#039;replaces all existing content&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; creates a file or appends to the end.&lt;br /&gt;
&lt;br /&gt;
Always inspect an important filename before using &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Save command output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
date &amp;gt; current-date.txt&lt;br /&gt;
ls -lah &amp;quot;$HOME&amp;quot; &amp;gt; home-listing.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7.3 Redirect errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
touch existing-file&lt;br /&gt;
ls existing-file missing-file &amp;gt; normal.txt 2&amp;gt; errors.txt&lt;br /&gt;
cat normal.txt&lt;br /&gt;
cat errors.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Combine normal output and errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls existing-file missing-file &amp;gt; everything.txt 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discard output only when you intentionally do not need it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
command -v nano &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/null&amp;lt;/code&amp;gt; discards data. The value &amp;lt;code&amp;gt;$?&amp;lt;/code&amp;gt; is the previous command&#039;s exit status: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; usually means success and a non-zero value means an error or another special result.&lt;br /&gt;
&lt;br /&gt;
== 7.4 Pipes ==&lt;br /&gt;
&lt;br /&gt;
A pipe &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; sends one command&#039;s standard output to the next command&#039;s standard input.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Pipeline.png|center|frameless|1000px|alt=Diagram showing cat output piped through grep and then wc to count matching lines]]&lt;br /&gt;
&lt;br /&gt;
Create safe practice data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; \&lt;br /&gt;
  &amp;quot;INFO login accepted&amp;quot; \&lt;br /&gt;
  &amp;quot;ERROR invalid password&amp;quot; \&lt;br /&gt;
  &amp;quot;INFO session opened&amp;quot; \&lt;br /&gt;
  &amp;quot;ERROR disk quota warning&amp;quot; \&lt;br /&gt;
  &amp;quot;INFO session closed&amp;quot; &amp;gt; activity.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now build pipelines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat activity.log | grep &amp;quot;ERROR&amp;quot;&lt;br /&gt;
grep &amp;quot;ERROR&amp;quot; activity.log | wc -l&lt;br /&gt;
sort activity.log&lt;br /&gt;
sort activity.log | uniq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;grep &amp;quot;ERROR&amp;quot; activity.log&amp;lt;/code&amp;gt; is more direct than piping &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;, but both forms help demonstrate the data flow.&lt;br /&gt;
&lt;br /&gt;
== 7.5 Useful filter commands ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Purpose&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;&lt;br /&gt;
| Keep lines matching a pattern.&lt;br /&gt;
| &amp;lt;code&amp;gt;grep -i &amp;quot;error&amp;quot; activity.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sort lines.&lt;br /&gt;
| &amp;lt;code&amp;gt;sort names.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt;&lt;br /&gt;
| Remove or count adjacent duplicate lines.&lt;br /&gt;
| &amp;lt;code&amp;gt;sort names.txt | uniq -c&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wc&amp;lt;/code&amp;gt;&lt;br /&gt;
| Count lines, words, or bytes.&lt;br /&gt;
| &amp;lt;code&amp;gt;wc -l activity.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cut&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select delimited fields.&lt;br /&gt;
| &amp;lt;code&amp;gt;cut -d: -f1 /etc/passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Translate or delete characters.&lt;br /&gt;
| &amp;lt;code&amp;gt;printf &#039;hello\n&#039; | tr &#039;a-z&#039; &#039;A-Z&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt;&lt;br /&gt;
| Display and save output at the same time.&lt;br /&gt;
| &amp;lt;code&amp;gt;date | tee date.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt; example displays local account names from a normally public system file. It does not reveal passwords; modern Linux stores password hashes elsewhere with restricted access.&lt;br /&gt;
&lt;br /&gt;
== Lesson 7 lab ==&lt;br /&gt;
&lt;br /&gt;
# Create a file containing at least six lines, including three lines with the word &amp;lt;code&amp;gt;PASS&amp;lt;/code&amp;gt; and two with &amp;lt;code&amp;gt;FAIL&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Display only &amp;lt;code&amp;gt;FAIL&amp;lt;/code&amp;gt; lines, ignoring case.&lt;br /&gt;
# Count the &amp;lt;code&amp;gt;PASS&amp;lt;/code&amp;gt; lines using a pipeline.&lt;br /&gt;
# Save the sorted content to &amp;lt;code&amp;gt;sorted.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Append the current date to &amp;lt;code&amp;gt;sorted.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Run a command using a nonexistent filename and save its error to &amp;lt;code&amp;gt;error.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt; to display and save &amp;lt;code&amp;gt;whoami&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lesson 7 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Which number represents standard error?&lt;br /&gt;
# What does a pipe do?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; often placed before &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does exit status zero usually mean?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 8 — Search, match, and quote safely =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Locate files and text without scanning the whole server, and understand how the shell treats special characters.&lt;br /&gt;
&lt;br /&gt;
== 8.1 Search text with grep ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
grep &amp;quot;ERROR&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
grep -i &amp;quot;error&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
grep -n &amp;quot;INFO&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
grep -v &amp;quot;INFO&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; — ignore letter case.&lt;br /&gt;
* &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; — show line numbers.&lt;br /&gt;
* &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; — show non-matching lines.&lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; — search directories recursively.&lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; — show filenames containing a match.&lt;br /&gt;
&lt;br /&gt;
Search only your course directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
grep -Rin &amp;quot;linux&amp;quot; &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid broad recursive searches from &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;. They are slow, generate permission errors, and consume shared server resources.&lt;br /&gt;
&lt;br /&gt;
== 8.2 Find files by name and type ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type f -name &amp;quot;*.txt&amp;quot;&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type d -name &amp;quot;lesson-*&amp;quot;&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type f -size +1k&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type f -mtime -1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-type f&amp;lt;/code&amp;gt; — regular files.&lt;br /&gt;
* &amp;lt;code&amp;gt;-type d&amp;lt;/code&amp;gt; — directories.&lt;br /&gt;
* &amp;lt;code&amp;gt;-name&amp;lt;/code&amp;gt; — case-sensitive name pattern.&lt;br /&gt;
* &amp;lt;code&amp;gt;-iname&amp;lt;/code&amp;gt; — case-insensitive name pattern.&lt;br /&gt;
* &amp;lt;code&amp;gt;-size +1k&amp;lt;/code&amp;gt; — larger than 1 KiB.&lt;br /&gt;
* &amp;lt;code&amp;gt;-mtime -1&amp;lt;/code&amp;gt; — modified within about the last day.&lt;br /&gt;
&lt;br /&gt;
Keep the search starting point narrow. Search &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; or a project directory, not the entire server.&lt;br /&gt;
&lt;br /&gt;
== 8.3 Shell expansion and quoting ==&lt;br /&gt;
&lt;br /&gt;
Before a command runs, Bash processes variables, wildcards, quotes, and substitutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
course=&amp;quot;Linux Basics&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$course&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &#039;$course&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Linux Basics&lt;br /&gt;
$course&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Form&lt;br /&gt;
! Behavior&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;double quotes&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Preserve spaces but expand variables and command substitutions.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&#039;single quotes&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Treat nearly everything literally.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;&lt;br /&gt;
| Escape the next special character outside single quotes.&lt;br /&gt;
|-&lt;br /&gt;
| Unquoted text&lt;br /&gt;
| May be split at spaces and expanded as a wildcard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Correctly handle spaces in names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson 08&amp;quot;&lt;br /&gt;
touch &amp;quot;$HOME/linux-course/lesson 08/my notes.txt&amp;quot;&lt;br /&gt;
ls -l &amp;quot;$HOME/linux-course/lesson 08/my notes.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quoting variables is a vital habit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
file=&amp;quot;$HOME/linux-course/lesson 08/my notes.txt&amp;quot;&lt;br /&gt;
cat &amp;quot;$file&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8.4 Command substitution ==&lt;br /&gt;
&lt;br /&gt;
Command substitution places output inside another command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
today=&amp;quot;$(date +%F)&amp;quot;&lt;br /&gt;
printf &#039;Today is %s\n&#039; &amp;quot;$today&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modern &amp;lt;code&amp;gt;$(command)&amp;lt;/code&amp;gt; form is easier to read and nest than old backquote syntax.&lt;br /&gt;
&lt;br /&gt;
== 8.5 Environment variables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$HOME&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$USER&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$SHELL&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$PATH&amp;quot;&lt;br /&gt;
env | sort | less&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; is the list of directories Bash searches for commands. Do not add unsafe or world-writable directories to it.&lt;br /&gt;
&lt;br /&gt;
== Lesson 8 lab ==&lt;br /&gt;
&lt;br /&gt;
# Find all &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; files inside &amp;lt;code&amp;gt;$HOME/linux-course&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Search those course files recursively for the word &amp;lt;code&amp;gt;DWShells&amp;lt;/code&amp;gt;, ignoring case.&lt;br /&gt;
# Create a directory containing a space and a file containing a space.&lt;br /&gt;
# Store that file&#039;s full path in a variable and display it using correct quoting.&lt;br /&gt;
# Store the current date in &amp;lt;code&amp;gt;today&amp;lt;/code&amp;gt; using command substitution.&lt;br /&gt;
# Print &amp;lt;code&amp;gt;Course date: YYYY-MM-DD&amp;lt;/code&amp;gt; using that variable.&lt;br /&gt;
&lt;br /&gt;
== Lesson 8 review ==&lt;br /&gt;
&lt;br /&gt;
# Why should a &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt; search start from a narrow directory?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;grep -i&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;grep -v&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Do variables expand inside single quotes?&lt;br /&gt;
# Why should path variables normally be double-quoted?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;$(date +%F)&amp;lt;/code&amp;gt; do?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 9 — Manage your processes and jobs =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Inspect your own programs, use foreground and background jobs, and stop a process gracefully.&lt;br /&gt;
&lt;br /&gt;
== 9.1 What is a process? ==&lt;br /&gt;
&lt;br /&gt;
A process is a running instance of a program. Every process has a process ID, or &#039;&#039;&#039;PID&#039;&#039;&#039;, an owner, resource usage, and a state.&lt;br /&gt;
&lt;br /&gt;
View your processes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps&lt;br /&gt;
ps -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
ps -f -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
pgrep -a -u &amp;quot;$USER&amp;quot; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dot is a regular-expression pattern that matches process names. This command is an alternative that does not require &amp;lt;code&amp;gt;pgrep&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps -f -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a live display:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
top -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; to leave &amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 9.2 Foreground and background jobs ==&lt;br /&gt;
&lt;br /&gt;
Start a harmless practice command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sleep 300&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+Z to suspend it, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
jobs&lt;br /&gt;
bg&lt;br /&gt;
jobs&lt;br /&gt;
fg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+C to stop it.&lt;br /&gt;
&lt;br /&gt;
Start directly in the background:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sleep 10 &amp;amp;&lt;br /&gt;
jobs&lt;br /&gt;
wait&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt; starts a command as a background job.&lt;br /&gt;
* &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; shows jobs started from the current shell.&lt;br /&gt;
* &amp;lt;code&amp;gt;fg&amp;lt;/code&amp;gt; brings a job to the foreground.&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt; continues a suspended job in the background.&lt;br /&gt;
* &amp;lt;code&amp;gt;wait&amp;lt;/code&amp;gt; waits for background jobs to finish.&lt;br /&gt;
&lt;br /&gt;
== 9.3 Stop processes safely ==&lt;br /&gt;
&lt;br /&gt;
First identify the correct PID and confirm it belongs to you:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps -f -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
kill PID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plain &amp;lt;code&amp;gt;kill PID&amp;lt;/code&amp;gt; sends SIGTERM, a request to exit cleanly. If the program remains after you wait and recheck, SIGKILL is a last resort:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kill -KILL PID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SIGKILL prevents cleanup and may corrupt data. Never signal a PID that you have not verified. Normal users cannot manage another user&#039;s protected processes.&lt;br /&gt;
&lt;br /&gt;
You can stop a process by a matching name that belongs to you, but verify carefully:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pgrep -a -u &amp;quot;$USER&amp;quot; sleep&lt;br /&gt;
pkill -u &amp;quot;$USER&amp;quot; -x sleep&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9.4 Resource responsibility ==&lt;br /&gt;
&lt;br /&gt;
DWShells is shared. A process that uses excessive CPU, memory, disk, network traffic, or process slots harms other learners.&lt;br /&gt;
&lt;br /&gt;
* Run only software allowed by the DWShells Acceptable Use Policy.&lt;br /&gt;
* Stop experiments when you finish.&lt;br /&gt;
* Do not create fork bombs or uncontrolled loops.&lt;br /&gt;
* Do not run cryptocurrency miners, scanners, attacks, spam, proxies, or unauthorized public services.&lt;br /&gt;
* Use persistent background programs only when your account plan and DWShells staff permit them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nohup&amp;lt;/code&amp;gt;, terminal multiplexers, schedulers, and long-running services are useful tools, but their availability does not mean every use is allowed. Check policy first.&lt;br /&gt;
&lt;br /&gt;
== 9.5 Administrator services ==&lt;br /&gt;
&lt;br /&gt;
You may see tutorials using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status SERVICE&lt;br /&gt;
journalctl -u SERVICE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These are service-administration tools. Some read-only views may work, but changing services requires authorization and is outside this beginner shell course. Do not try to bypass account restrictions.&lt;br /&gt;
&lt;br /&gt;
== Lesson 9 lab ==&lt;br /&gt;
&lt;br /&gt;
# Start &amp;lt;code&amp;gt;sleep 180&amp;lt;/code&amp;gt; in the foreground.&lt;br /&gt;
# Suspend it with Ctrl+Z.&lt;br /&gt;
# Continue it in the background.&lt;br /&gt;
# Show it with &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Bring it back with &amp;lt;code&amp;gt;fg&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Stop it with Ctrl+C.&lt;br /&gt;
# Start &amp;lt;code&amp;gt;sleep 120 &amp;amp;&amp;lt;/code&amp;gt;, find its PID, and stop it using normal &amp;lt;code&amp;gt;kill&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that no practice &amp;lt;code&amp;gt;sleep&amp;lt;/code&amp;gt; process remains.&lt;br /&gt;
&lt;br /&gt;
== Lesson 9 review ==&lt;br /&gt;
&lt;br /&gt;
# What does PID mean?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Which signal does plain &amp;lt;code&amp;gt;kill PID&amp;lt;/code&amp;gt; normally send?&lt;br /&gt;
# Why is SIGKILL a last resort?&lt;br /&gt;
# Why must long-running programs follow DWShells policy?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 10 — Inspect the system, use network tools, and transfer files =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Gather read-only system information, perform limited connectivity checks, create archives, and move files securely.&lt;br /&gt;
&lt;br /&gt;
== 10.1 System information ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/os-release&lt;br /&gt;
uname -r&lt;br /&gt;
uname -m&lt;br /&gt;
hostname&lt;br /&gt;
uptime&lt;br /&gt;
date&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt; identifies Debian and its version.&lt;br /&gt;
* &amp;lt;code&amp;gt;uname -r&amp;lt;/code&amp;gt; shows the kernel release.&lt;br /&gt;
* &amp;lt;code&amp;gt;uname -m&amp;lt;/code&amp;gt; shows the hardware architecture.&lt;br /&gt;
* &amp;lt;code&amp;gt;uptime&amp;lt;/code&amp;gt; shows how long the server has run and its load averages.&lt;br /&gt;
&lt;br /&gt;
Load average is not simply a CPU percentage. It represents work running or waiting; interpretation depends on CPU count and workload.&lt;br /&gt;
&lt;br /&gt;
== 10.2 Memory, disk, and quota ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
free -h&lt;br /&gt;
df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
du -h --max-depth=1 &amp;quot;$HOME/linux-course&amp;quot; | sort -h&lt;br /&gt;
quota -s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;free -h&amp;lt;/code&amp;gt; summarizes system memory.&lt;br /&gt;
* &amp;lt;code&amp;gt;df -h&amp;lt;/code&amp;gt; shows filesystem capacity and free space.&lt;br /&gt;
* &amp;lt;code&amp;gt;du -sh&amp;lt;/code&amp;gt; measures the space used by a directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;quota -s&amp;lt;/code&amp;gt; shows your assigned quota when quotas and the command are enabled.&lt;br /&gt;
&lt;br /&gt;
Do not run broad &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt; searches over the whole server. Measure only paths you own or need.&lt;br /&gt;
&lt;br /&gt;
== 10.3 Read-only network checks ==&lt;br /&gt;
&lt;br /&gt;
Availability depends on DWShells policy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip address show&lt;br /&gt;
getent hosts darkworld.network&lt;br /&gt;
ping -c 4 darkworld.network&lt;br /&gt;
curl -I https://darkworld.network/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ip address show&amp;lt;/code&amp;gt; displays configured interfaces and addresses.&lt;br /&gt;
* &amp;lt;code&amp;gt;getent hosts&amp;lt;/code&amp;gt; resolves a hostname using system configuration.&lt;br /&gt;
* &amp;lt;code&amp;gt;ping -c 4&amp;lt;/code&amp;gt; sends four ICMP echo requests; some sites block them.&lt;br /&gt;
* &amp;lt;code&amp;gt;curl -I&amp;lt;/code&amp;gt; retrieves HTTP response headers without downloading the page body.&lt;br /&gt;
&lt;br /&gt;
These tools are for legitimate troubleshooting. Do not probe addresses, enumerate ports, bypass filters, or scan systems without explicit authorization.&lt;br /&gt;
&lt;br /&gt;
== 10.4 Create and inspect tar archives ==&lt;br /&gt;
&lt;br /&gt;
Prepare an archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
tar -czf lesson-04-backup.tar.gz lesson-04/&lt;br /&gt;
tar -tzf lesson-04-backup.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; create an archive.&lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; list archive contents.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; extract.&lt;br /&gt;
* &amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; use gzip compression.&lt;br /&gt;
* &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; the next argument is the archive filename.&lt;br /&gt;
&lt;br /&gt;
Extract into a new, empty directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/restore-test&amp;quot;&lt;br /&gt;
tar -xzf lesson-04-backup.tar.gz -C &amp;quot;$HOME/linux-course/restore-test&amp;quot;&lt;br /&gt;
find &amp;quot;$HOME/linux-course/restore-test&amp;quot; -maxdepth 2 -type f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List an untrusted archive before extraction. Archives can contain unexpected paths or links. Ask staff before extracting unknown downloads.&lt;br /&gt;
&lt;br /&gt;
If installed, ZIP commands are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
zip -r lesson-04.zip lesson-04/&lt;br /&gt;
unzip -l lesson-04.zip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10.5 Copy files with SCP ==&lt;br /&gt;
&lt;br /&gt;
Run these commands on &#039;&#039;&#039;your local computer&#039;&#039;&#039;, not inside the existing SSH session.&lt;br /&gt;
&lt;br /&gt;
Upload a local file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp local-notes.txt USERNAME@shells.darkworld.network:~/linux-course/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download your archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp USERNAME@shells.darkworld.network:~/linux-course/lesson-04-backup.tar.gz .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With a custom SSH port, SCP uses uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp -P PORT_NUMBER local-notes.txt USERNAME@shells.darkworld.network:~/linux-course/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the difference: SSH uses lowercase &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, while SCP uses uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an interactive file-transfer session:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sftp USERNAME@shells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Useful SFTP commands include &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lpwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;get&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;. Commands beginning with &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; refer to the local computer.&lt;br /&gt;
&lt;br /&gt;
== Lesson 10 lab ==&lt;br /&gt;
&lt;br /&gt;
# Record the Debian version, kernel version, architecture, hostname, and date in &amp;lt;code&amp;gt;$HOME/linux-course/lesson-10-system.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Measure the size of your course directory.&lt;br /&gt;
# Check available space on the filesystem containing your home directory.&lt;br /&gt;
# Resolve &amp;lt;code&amp;gt;darkworld.network&amp;lt;/code&amp;gt; using &amp;lt;code&amp;gt;getent&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Create a compressed tar archive of one lesson directory.&lt;br /&gt;
# List its content without extracting it.&lt;br /&gt;
# Extract it into a new &amp;lt;code&amp;gt;restore-test&amp;lt;/code&amp;gt; directory and compare the restored files.&lt;br /&gt;
# If you have a local SSH client, download the archive with SCP.&lt;br /&gt;
&lt;br /&gt;
== Lesson 10 review ==&lt;br /&gt;
&lt;br /&gt;
# Which file identifies the Debian release?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Why can a failed &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt; be inconclusive?&lt;br /&gt;
# Which tar option lists an archive?&lt;br /&gt;
# Which SCP option specifies a custom port?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 11 — Write your first Bash scripts =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Combine commands into a reusable script with variables, input, tests, and a loop.&lt;br /&gt;
&lt;br /&gt;
== 11.1 A first script ==&lt;br /&gt;
&lt;br /&gt;
Create a script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-11&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-11&amp;quot;&lt;br /&gt;
nano hello.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Hello, $USER&amp;quot;&lt;br /&gt;
echo &amp;quot;Your home directory is $HOME&amp;quot;&lt;br /&gt;
echo &amp;quot;Today is $(date +%F)&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save, then run it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x hello.sh&lt;br /&gt;
./hello.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line is the &#039;&#039;&#039;shebang&#039;&#039;&#039;. It tells Linux to run the file with Bash. &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; means “the file in the current directory.”&lt;br /&gt;
&lt;br /&gt;
You can also run a script without execute permission by explicitly starting Bash:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
bash hello.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11.2 Variables and arguments ==&lt;br /&gt;
&lt;br /&gt;
Create &amp;lt;code&amp;gt;greet.sh&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
name=&amp;quot;$1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$name&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 NAME&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Welcome to DWShells, $name!&amp;quot;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x greet.sh&lt;br /&gt;
./greet.sh&lt;br /&gt;
./greet.sh &amp;quot;New Learner&amp;quot;&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; — the script name.&lt;br /&gt;
* &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; — the first argument.&lt;br /&gt;
* &amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; — true when a string is empty.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;amp;2&amp;lt;/code&amp;gt; — send the usage message to standard error.&lt;br /&gt;
* &amp;lt;code&amp;gt;exit 0&amp;lt;/code&amp;gt; — success; &amp;lt;code&amp;gt;exit 1&amp;lt;/code&amp;gt; — failure.&lt;br /&gt;
&lt;br /&gt;
== 11.3 Tests ==&lt;br /&gt;
&lt;br /&gt;
Common safe tests:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Test&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -f &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| A regular file exists.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -d &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| A directory exists.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -r &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The path is readable.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -w &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The path is writable.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ &amp;quot;$a&amp;quot; = &amp;quot;$b&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Two strings are equal.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ &amp;quot;$number&amp;quot; -gt 10 ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The integer is greater than 10.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spaces after &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; and before &amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; are required.&lt;br /&gt;
&lt;br /&gt;
== 11.4 Loops ==&lt;br /&gt;
&lt;br /&gt;
Create three files and report their line counts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;one&amp;quot; &amp;gt; one.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;gt; two.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &amp;gt; three.txt&lt;br /&gt;
&lt;br /&gt;
for file in *.txt; do&lt;br /&gt;
    printf &#039;%s: &#039; &amp;quot;$file&amp;quot;&lt;br /&gt;
    wc -l &amp;lt; &amp;quot;$file&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because &amp;lt;code&amp;gt;&amp;quot;$file&amp;quot;&amp;lt;/code&amp;gt; is quoted, names containing spaces are handled safely.&lt;br /&gt;
&lt;br /&gt;
== 11.5 A practical system report ==&lt;br /&gt;
&lt;br /&gt;
Create &amp;lt;code&amp;gt;system-report.sh&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
set -u&lt;br /&gt;
&lt;br /&gt;
output=&amp;quot;$HOME/linux-course/system-report.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;DWShells learner system report&amp;quot;&lt;br /&gt;
    echo &amp;quot;Generated: $(date --iso-8601=seconds)&amp;quot;&lt;br /&gt;
    echo &amp;quot;User: $USER&amp;quot;&lt;br /&gt;
    echo &amp;quot;Host: $(hostname)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Kernel: $(uname -r)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Architecture: $(uname -m)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Home: $HOME&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Course directory size:&amp;quot;&lt;br /&gt;
    du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Home filesystem:&amp;quot;&lt;br /&gt;
    df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
} &amp;gt; &amp;quot;$output&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod 600 &amp;quot;$output&amp;quot;&lt;br /&gt;
echo &amp;quot;Report written to $output&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run and inspect:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x system-report.sh&lt;br /&gt;
bash -n system-report.sh&lt;br /&gt;
./system-report.sh&lt;br /&gt;
less &amp;quot;$HOME/linux-course/system-report.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt; checks Bash syntax without running the script. It cannot detect every logical problem, so still review the code.&lt;br /&gt;
&lt;br /&gt;
== 11.6 Script safety habits ==&lt;br /&gt;
&lt;br /&gt;
* Quote variables: &amp;lt;code&amp;gt;&amp;quot;$file&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;quot;$1&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Validate required arguments and paths.&lt;br /&gt;
* Use absolute paths or known directories for important data.&lt;br /&gt;
* Do not put passwords, tokens, or private keys inside scripts.&lt;br /&gt;
* Avoid recursive deletion in early scripts.&lt;br /&gt;
* Check exit statuses when failure matters.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;bash -n script.sh&amp;lt;/code&amp;gt; before the first execution.&lt;br /&gt;
* Read every downloaded script before running it.&lt;br /&gt;
&lt;br /&gt;
== Lesson 11 lab ==&lt;br /&gt;
&lt;br /&gt;
# Create an executable script named &amp;lt;code&amp;gt;course-summary.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Make it print the current user, date, working directory, Debian version, and course-directory size.&lt;br /&gt;
# Accept one argument as the learner&#039;s display name.&lt;br /&gt;
# If no name is supplied, print a usage message to standard error and exit non-zero.&lt;br /&gt;
# Write the report to &amp;lt;code&amp;gt;$HOME/linux-course/summary.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Set the report to permission &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check the script with &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;, run it, and inspect the result.&lt;br /&gt;
&lt;br /&gt;
== Lesson 11 review ==&lt;br /&gt;
&lt;br /&gt;
# What is a shebang?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; used to run a script in the current directory?&lt;br /&gt;
# What do &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; represent?&lt;br /&gt;
# What exit status normally means success?&lt;br /&gt;
# Why should variables containing paths be quoted?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 12 — Secure your account and complete the final project =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Use SSH keys safely, recognize risky behavior, follow shared-server rules, and demonstrate the skills learned.&lt;br /&gt;
&lt;br /&gt;
== 12.1 Account security ==&lt;br /&gt;
&lt;br /&gt;
* Use a unique, long password that you do not use on another website.&lt;br /&gt;
* Never share your DWShells account.&lt;br /&gt;
* Do not send passwords or private keys through IRC, email, screenshots, or paste sites.&lt;br /&gt;
* Check the hostname and SSH host-key warning before entering credentials.&lt;br /&gt;
* Log out from computers you do not control.&lt;br /&gt;
* Keep your local computer and SSH client updated.&lt;br /&gt;
* Report unexpected logins, altered files, or host-key changes to DWShells staff.&lt;br /&gt;
&lt;br /&gt;
Change your password, if the service permits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command asks for the current password and then the new password twice. None of them are displayed.&lt;br /&gt;
&lt;br /&gt;
== 12.2 SSH keys ==&lt;br /&gt;
&lt;br /&gt;
Generate a modern key on &#039;&#039;&#039;your local computer&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -a 64&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose a strong passphrase. The private key stays on your computer. The public key, usually ending in &amp;lt;code&amp;gt;.pub&amp;lt;/code&amp;gt;, may be added to the server.&lt;br /&gt;
&lt;br /&gt;
If supported:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-copy-id USERNAME@shells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or copy the single public-key line into:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then secure the paths:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 700 &amp;quot;$HOME/.ssh&amp;quot;&lt;br /&gt;
chmod 600 &amp;quot;$HOME/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Never upload or share the private-key file.&#039;&#039;&#039; Public keys may be shared for access setup; private keys must remain private.&lt;br /&gt;
&lt;br /&gt;
== 12.3 Recognize dangerous command patterns ==&lt;br /&gt;
&lt;br /&gt;
Pause and investigate commands that:&lt;br /&gt;
&lt;br /&gt;
* download something and immediately pipe it into &amp;lt;code&amp;gt;sh&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;;&lt;br /&gt;
* use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;, or request administrator credentials;&lt;br /&gt;
* contain broad recursive deletion;&lt;br /&gt;
* change many permissions to &amp;lt;code&amp;gt;777&amp;lt;/code&amp;gt;;&lt;br /&gt;
* hide output and errors while making system changes;&lt;br /&gt;
* use encoded or deliberately unreadable text;&lt;br /&gt;
* ask for your password, token, cookie, private key, or wallet;&lt;br /&gt;
* start scanners, miners, proxies, spam, denial-of-service tools, or unexplained background programs.&lt;br /&gt;
&lt;br /&gt;
A command being popular online does not make it safe for a shared server.&lt;br /&gt;
&lt;br /&gt;
== 12.4 Shared-shell responsibility ==&lt;br /&gt;
&lt;br /&gt;
Follow the current DWShells Acceptable Use Policy and the limits of your free or support account. At minimum:&lt;br /&gt;
&lt;br /&gt;
* Use only resources assigned to your account.&lt;br /&gt;
* Do not try to read, modify, or enter another user&#039;s private data.&lt;br /&gt;
* Do not evade quotas, restrictions, monitoring, or network controls.&lt;br /&gt;
* Do not scan, attack, exploit, spam, phish, mine cryptocurrency, or host prohibited content.&lt;br /&gt;
* Do not expose public services without approval.&lt;br /&gt;
* Keep permissions restrictive and remove abandoned data and processes.&lt;br /&gt;
* Contact staff before an experiment that may create unusual resource or network use.&lt;br /&gt;
&lt;br /&gt;
Technical ability is not permission. If a command works but policy does not allow it, do not use it.&lt;br /&gt;
&lt;br /&gt;
== Lesson 12 lab — Final project: Learner system report package ==&lt;br /&gt;
&lt;br /&gt;
Build a safe project that demonstrates the course.&lt;br /&gt;
&lt;br /&gt;
=== Required structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-final/&lt;br /&gt;
├── README.txt&lt;br /&gt;
├── bin/&lt;br /&gt;
│   └── learner-report.sh&lt;br /&gt;
├── output/&lt;br /&gt;
│   └── learner-report.txt&lt;br /&gt;
└── notes/&lt;br /&gt;
    └── commands.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
# Create the structure inside &amp;lt;code&amp;gt;$HOME/linux-course/linux-final&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Write &amp;lt;code&amp;gt;README.txt&amp;lt;/code&amp;gt; explaining the project&#039;s purpose and how to run it.&lt;br /&gt;
# Write &amp;lt;code&amp;gt;notes/commands.txt&amp;lt;/code&amp;gt; containing ten useful commands from this course and a one-line explanation of each.&lt;br /&gt;
# Write &amp;lt;code&amp;gt;bin/learner-report.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The script must accept the learner&#039;s display name as its first argument.&lt;br /&gt;
# When the argument is missing, it must show usage and exit non-zero.&lt;br /&gt;
# The report must include:&lt;br /&gt;
## learner display name;&lt;br /&gt;
## DWShells username;&lt;br /&gt;
## hostname;&lt;br /&gt;
## current date in ISO format;&lt;br /&gt;
## Debian version;&lt;br /&gt;
## kernel release and architecture;&lt;br /&gt;
## home directory;&lt;br /&gt;
## course-directory disk usage;&lt;br /&gt;
## home-filesystem free space.&lt;br /&gt;
# The script must write &amp;lt;code&amp;gt;output/learner-report.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The script must quote variables and must not use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;, broad searches, or destructive commands.&lt;br /&gt;
# Set the script to &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; and its report to &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check it using &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Run it twice to prove it can safely replace its own report.&lt;br /&gt;
# Create &amp;lt;code&amp;gt;$HOME/linux-course/linux-final.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
# List the archive content and extract it into a separate test directory.&lt;br /&gt;
# Confirm that the restored project contains all required files.&lt;br /&gt;
&lt;br /&gt;
=== Suggested commands to begin ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/linux-final&amp;quot;/{bin,output,notes}&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
touch README.txt notes/commands.txt&lt;br /&gt;
nano bin/learner-report.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The brace expression creates the three directories under the same parent. If you prefer, create each one with a separate &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
=== Self-check ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
find . -maxdepth 3 -print | sort&lt;br /&gt;
ls -l bin/learner-report.sh output/learner-report.txt&lt;br /&gt;
bash -n bin/learner-report.sh&lt;br /&gt;
bin/learner-report.sh &amp;quot;Your Display Name&amp;quot;&lt;br /&gt;
cat output/learner-report.txt&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
tar -czf linux-final.tar.gz linux-final/&lt;br /&gt;
tar -tzf linux-final.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lesson 12 review ==&lt;br /&gt;
&lt;br /&gt;
# Where should an SSH private key be stored and who may receive it?&lt;br /&gt;
# What permissions are recommended for &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;authorized_keys&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Why is piping a new download directly to Bash risky?&lt;br /&gt;
# Does technical access automatically grant permission?&lt;br /&gt;
# What should you do when a planned activity may create unusual server load?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Command cheat sheet =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Task&lt;br /&gt;
! Command example&lt;br /&gt;
|-&lt;br /&gt;
| Show current directory&lt;br /&gt;
| &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| List all files in detail&lt;br /&gt;
| &amp;lt;code&amp;gt;ls -lah&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Return home&lt;br /&gt;
| &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Create nested directories&lt;br /&gt;
| &amp;lt;code&amp;gt;mkdir -p project/docs&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Create an empty file&lt;br /&gt;
| &amp;lt;code&amp;gt;touch notes.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Copy a file safely&lt;br /&gt;
| &amp;lt;code&amp;gt;cp -i source destination&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Move or rename safely&lt;br /&gt;
| &amp;lt;code&amp;gt;mv -i old new&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove with confirmation&lt;br /&gt;
| &amp;lt;code&amp;gt;rm -i file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Read a long text file&lt;br /&gt;
| &amp;lt;code&amp;gt;less file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Edit a text file&lt;br /&gt;
| &amp;lt;code&amp;gt;nano file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Search text&lt;br /&gt;
| &amp;lt;code&amp;gt;grep -in &amp;quot;word&amp;quot; file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Find files in your home&lt;br /&gt;
| &amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -type f -name &amp;quot;*.txt&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Count lines&lt;br /&gt;
| &amp;lt;code&amp;gt;wc -l file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| View permissions&lt;br /&gt;
| &amp;lt;code&amp;gt;ls -l file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Protect a private file&lt;br /&gt;
| &amp;lt;code&amp;gt;chmod 600 file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Make your script executable&lt;br /&gt;
| &amp;lt;code&amp;gt;chmod u+x script.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Show your processes&lt;br /&gt;
| &amp;lt;code&amp;gt;ps -f -u &amp;quot;$USER&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stop your process gracefully&lt;br /&gt;
| &amp;lt;code&amp;gt;kill PID&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Measure a directory&lt;br /&gt;
| &amp;lt;code&amp;gt;du -sh directory&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Check filesystem space&lt;br /&gt;
| &amp;lt;code&amp;gt;df -h &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Create a compressed archive&lt;br /&gt;
| &amp;lt;code&amp;gt;tar -czf backup.tar.gz directory/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| List an archive&lt;br /&gt;
| &amp;lt;code&amp;gt;tar -tzf backup.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Check Bash syntax&lt;br /&gt;
| &amp;lt;code&amp;gt;bash -n script.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Log out&lt;br /&gt;
| &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Beginner glossary =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Argument&lt;br /&gt;
| The target or value supplied to a command.&lt;br /&gt;
|-&lt;br /&gt;
| Bash&lt;br /&gt;
| A common command shell and scripting language.&lt;br /&gt;
|-&lt;br /&gt;
| Command&lt;br /&gt;
| An instruction executed by the shell.&lt;br /&gt;
|-&lt;br /&gt;
| Current directory&lt;br /&gt;
| The directory in which your shell is presently working.&lt;br /&gt;
|-&lt;br /&gt;
| Debian&lt;br /&gt;
| The Linux distribution used by DWShells.&lt;br /&gt;
|-&lt;br /&gt;
| Directory&lt;br /&gt;
| A container for files and other directories.&lt;br /&gt;
|-&lt;br /&gt;
| Environment variable&lt;br /&gt;
| A named value, such as &amp;lt;code&amp;gt;HOME&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;, available to programs.&lt;br /&gt;
|-&lt;br /&gt;
| Exit status&lt;br /&gt;
| A numeric result from a command; zero normally means success.&lt;br /&gt;
|-&lt;br /&gt;
| Filesystem&lt;br /&gt;
| The organized tree of files and directories beginning at &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Home directory&lt;br /&gt;
| A user&#039;s personal workspace, represented by &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| A switch that changes command behavior, such as &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Path&lt;br /&gt;
| A file or directory location.&lt;br /&gt;
|-&lt;br /&gt;
| Permission&lt;br /&gt;
| A rule controlling read, write, or execute access.&lt;br /&gt;
|-&lt;br /&gt;
| PID&lt;br /&gt;
| Process ID: the unique numeric identifier of a running process.&lt;br /&gt;
|-&lt;br /&gt;
| Pipe&lt;br /&gt;
| The &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; operator that sends one command&#039;s output to another command.&lt;br /&gt;
|-&lt;br /&gt;
| Process&lt;br /&gt;
| A running instance of a program.&lt;br /&gt;
|-&lt;br /&gt;
| Prompt&lt;br /&gt;
| The shell&#039;s signal that it is ready for a command.&lt;br /&gt;
|-&lt;br /&gt;
| root directory&lt;br /&gt;
| &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, the top of the filesystem tree.&lt;br /&gt;
|-&lt;br /&gt;
| root user&lt;br /&gt;
| The system administrator account; different from the root directory.&lt;br /&gt;
|-&lt;br /&gt;
| Shell&lt;br /&gt;
| A program that reads commands and starts programs.&lt;br /&gt;
|-&lt;br /&gt;
| SSH&lt;br /&gt;
| An encrypted protocol for secure remote shell access.&lt;br /&gt;
|-&lt;br /&gt;
| Standard error&lt;br /&gt;
| A stream used for diagnostic and error messages.&lt;br /&gt;
|-&lt;br /&gt;
| Standard input&lt;br /&gt;
| A stream from which a command reads data.&lt;br /&gt;
|-&lt;br /&gt;
| Standard output&lt;br /&gt;
| A stream to which a command writes normal results.&lt;br /&gt;
|-&lt;br /&gt;
| Terminal&lt;br /&gt;
| The application or interface used to interact with a shell.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Where to go next =&lt;br /&gt;
&lt;br /&gt;
After completing the final project, good next topics are:&lt;br /&gt;
&lt;br /&gt;
* Intermediate Bash scripting and error handling.&lt;br /&gt;
* Git version control.&lt;br /&gt;
* Text processing with &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;awk&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Secure use of SSH keys and agents.&lt;br /&gt;
* Linux networking fundamentals.&lt;br /&gt;
* System administration in a dedicated lab virtual machine where you are authorized to use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Practise administration in your own disposable virtual machine, not in a shared DWShells account. Keep using &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;, small tests, restrictive permissions, and verified backups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Course complete — welcome to the Linux command line!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DWTutorials Linux Basics for Beginners — © 2026 DarkWorld Network. All rights reserved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:DWTutorials]]&lt;br /&gt;
[[Category:DWShells]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[Category:Beginner courses]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners&amp;diff=376</id>
		<title>DWTutorials:Linux Basics for Beginners</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners&amp;diff=376"/>
		<updated>2026-07-21T21:23:25Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DWShells Linux Basics for Beginners}}&lt;br /&gt;
[[File:DWShells-Linux-Basics-Cover.png|center|frameless|1000px|alt=DWShells Linux Basics for Beginners course banner]]&lt;br /&gt;
&lt;br /&gt;
= Linux Basics for Beginners =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian Shell Course for DWShells&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Course level&lt;br /&gt;
| Complete beginner&lt;br /&gt;
! Suggested time&lt;br /&gt;
| 12–16 hours&lt;br /&gt;
|-&lt;br /&gt;
! Platform&lt;br /&gt;
| Debian GNU/Linux&lt;br /&gt;
! Access&lt;br /&gt;
| DWShells account through SSH&lt;br /&gt;
|-&lt;br /&gt;
! Permissions&lt;br /&gt;
| Normal user account; no root access required&lt;br /&gt;
! Course version&lt;br /&gt;
| 1.0 — July 2026&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
This course teaches the Linux command line from the beginning. You will learn by running safe commands in your own DWShells home directory. By the end, you will be able to navigate Linux, manage files, understand permissions, combine commands, monitor your own processes, transfer files securely, and write a small Bash script.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Copyright:&#039;&#039;&#039; © 2026 DarkWorld Network. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
== Before you begin ==&lt;br /&gt;
&lt;br /&gt;
=== What you need ===&lt;br /&gt;
&lt;br /&gt;
* An active DWShells account.&lt;br /&gt;
* Your DWShells username, password or SSH key, hostname, and SSH port.&lt;br /&gt;
* An SSH program:&lt;br /&gt;
** &#039;&#039;&#039;Windows 10/11:&#039;&#039;&#039; Windows Terminal, PowerShell, or PuTTY.&lt;br /&gt;
** &#039;&#039;&#039;Linux:&#039;&#039;&#039; a terminal application.&lt;br /&gt;
** &#039;&#039;&#039;macOS:&#039;&#039;&#039; Terminal.&lt;br /&gt;
** &#039;&#039;&#039;Android/iOS:&#039;&#039;&#039; a reputable SSH client.&lt;br /&gt;
* About one hour per lesson.&lt;br /&gt;
&lt;br /&gt;
Examples use the hostname &amp;lt;code&amp;gt;dwshells.darkworld.network&amp;lt;/code&amp;gt;. If your welcome email gives a different hostname or port, always use the details in that email.&lt;br /&gt;
&lt;br /&gt;
=== How to read command examples ===&lt;br /&gt;
&lt;br /&gt;
When you see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ pwd&lt;br /&gt;
/home/free/alex&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
the dollar sign is the shell prompt. &#039;&#039;&#039;Type only &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;; do not type the dollar sign.&#039;&#039;&#039; Lines after the command show example output. Your username, hostname, dates, file sizes, and other details will be different.&lt;br /&gt;
&lt;br /&gt;
=== Safety rules ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Rule&lt;br /&gt;
! Reason&lt;br /&gt;
|-&lt;br /&gt;
| Work inside &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; unless a lesson clearly says otherwise.&lt;br /&gt;
| This is your personal directory and the safest place to practise.&lt;br /&gt;
|-&lt;br /&gt;
| Read a command before pressing Enter.&lt;br /&gt;
| Linux assumes that you mean what you type.&lt;br /&gt;
|-&lt;br /&gt;
| Do not copy unknown commands from websites or strangers.&lt;br /&gt;
| A short command can steal data, misuse the server, or delete files.&lt;br /&gt;
|-&lt;br /&gt;
| Never practise with &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;, or system files.&lt;br /&gt;
| DWShells learners do not need administrator access.&lt;br /&gt;
|-&lt;br /&gt;
| Never use network scanners, miners, attack tools, spam tools, or prohibited long-running services.&lt;br /&gt;
| Follow the DWShells Acceptable Use Policy and protect other users.&lt;br /&gt;
|-&lt;br /&gt;
| Ask DWShells staff if you are unsure.&lt;br /&gt;
| It is better to check first than to damage data or violate policy.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Course workspace ===&lt;br /&gt;
&lt;br /&gt;
Create one directory for all labs:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
pwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected final line:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;/your/home/path/linux-course&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The exact home path may be &amp;lt;code&amp;gt;/home/free/USERNAME&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;/home/support/USERNAME&amp;lt;/code&amp;gt;, or another path assigned by DWShells. Use &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; so your commands work in every case.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Learning-Journey.png|center|frameless|1000px|alt=Illustration showing the journey from a local terminal through Linux skills to a remote server]]&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 1 — Meet Linux and connect to DWShells =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Understand the basic vocabulary, connect securely, run simple commands, and leave the session correctly.&lt;br /&gt;
&lt;br /&gt;
== 1.1 What is Linux? ==&lt;br /&gt;
&lt;br /&gt;
Linux is the core, or &#039;&#039;&#039;kernel&#039;&#039;&#039;, that manages the computer&#039;s CPU, memory, storage, devices, and processes. A complete operating system combines the Linux kernel with programs and tools.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Debian&#039;&#039;&#039; is the Linux distribution used by DWShells. Debian is known for stability, security, and careful software packaging.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Simple meaning&lt;br /&gt;
|-&lt;br /&gt;
| Linux&lt;br /&gt;
| The kernel that manages the system.&lt;br /&gt;
|-&lt;br /&gt;
| Debian&lt;br /&gt;
| The Linux distribution running on the server.&lt;br /&gt;
|-&lt;br /&gt;
| Terminal&lt;br /&gt;
| The window or application where you type commands.&lt;br /&gt;
|-&lt;br /&gt;
| Shell&lt;br /&gt;
| The program that reads and runs your commands. This course uses Bash examples.&lt;br /&gt;
|-&lt;br /&gt;
| SSH&lt;br /&gt;
| Secure Shell: the encrypted method used to connect to DWShells.&lt;br /&gt;
|-&lt;br /&gt;
| Command&lt;br /&gt;
| An instruction given to the shell.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 1.2 Connect with SSH ==&lt;br /&gt;
&lt;br /&gt;
From Windows Terminal, PowerShell, Linux, or macOS, run this on &#039;&#039;&#039;your own computer&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh USERNAME@dwshells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If DWShells uses a custom port:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh -p PORT_NUMBER USERNAME@dwshells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Replace &amp;lt;code&amp;gt;USERNAME&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;PORT_NUMBER&amp;lt;/code&amp;gt; with the details in your welcome email.&lt;br /&gt;
&lt;br /&gt;
The first connection may display a server host-key fingerprint and ask whether you trust it. Compare it with the fingerprint published by DWShells or ask staff to verify it. Do not accept an unexpected or changed fingerprint without checking.&lt;br /&gt;
&lt;br /&gt;
When asked for a password, type it and press Enter. The terminal normally shows &#039;&#039;&#039;no dots and no stars&#039;&#039;&#039; while you type a Linux password. This is normal.&lt;br /&gt;
&lt;br /&gt;
== 1.3 Understand the prompt ==&lt;br /&gt;
&lt;br /&gt;
A prompt may look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;alex@dwshells:~$&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;alex&amp;lt;/code&amp;gt; — your username.&lt;br /&gt;
* &amp;lt;code&amp;gt;dwshells&amp;lt;/code&amp;gt; — the server hostname.&lt;br /&gt;
* &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; — your home directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; — a normal user&#039;s prompt. A &amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt; prompt usually represents an administrator and is not used in this course.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Command-Anatomy.png|center|frameless|1000px|alt=Diagram explaining the command, options, and argument parts of a Linux command]]&lt;br /&gt;
&lt;br /&gt;
== 1.4 Run your first commands ==&lt;br /&gt;
&lt;br /&gt;
Run one line at a time:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
whoami&lt;br /&gt;
hostname&lt;br /&gt;
pwd&lt;br /&gt;
date&lt;br /&gt;
echo &amp;quot;Hello from DWShells&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;whoami&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows the current username.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows the server&#039;s name.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prints the working directory—your current location.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;date&amp;lt;/code&amp;gt;&lt;br /&gt;
| Shows the server&#039;s current date and time.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;echo&amp;lt;/code&amp;gt;&lt;br /&gt;
| Prints text or a variable&#039;s value.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Linux commands and filenames are case-sensitive. &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;PWD&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;Pwd&amp;lt;/code&amp;gt; are not the same.&lt;br /&gt;
&lt;br /&gt;
== 1.5 Essential keyboard controls ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| Up / Down arrows&lt;br /&gt;
| Move through recently entered commands.&lt;br /&gt;
|-&lt;br /&gt;
| Tab&lt;br /&gt;
| Complete a command or filename. Press twice to show possibilities.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+C&lt;br /&gt;
| Interrupt the command currently running.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+L&lt;br /&gt;
| Clear the visible terminal screen without deleting history.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+D&lt;br /&gt;
| Send end-of-file; at an empty prompt it logs out.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
To leave DWShells normally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
exit&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lesson 1 lab ==&lt;br /&gt;
&lt;br /&gt;
# Connect to DWShells.&lt;br /&gt;
# Display your username, hostname, home directory, and the current date.&lt;br /&gt;
# Print the sentence &amp;lt;code&amp;gt;I am learning Debian Linux&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use the Up arrow to recall your previous command.&lt;br /&gt;
# Log out using &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, then connect again.&lt;br /&gt;
&lt;br /&gt;
== Lesson 1 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the difference between a terminal and a shell?&lt;br /&gt;
# What secure protocol connects you to DWShells?&lt;br /&gt;
# Why does the password appear invisible while you type?&lt;br /&gt;
# Which command prints your current directory?&lt;br /&gt;
# Which key combination stops a running command?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 2 — Navigate the filesystem =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; List directory contents and move confidently using absolute paths, relative paths, and shortcuts.&lt;br /&gt;
&lt;br /&gt;
== 2.1 The filesystem is a tree ==&lt;br /&gt;
&lt;br /&gt;
Linux uses one directory tree beginning at &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, called the &#039;&#039;&#039;root directory&#039;&#039;&#039;. This is different from the &amp;lt;code&amp;gt;root&amp;lt;/code&amp;gt; administrator account.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Filesystem-Map.png|center|frameless|1000px|alt=Beginner map of the Debian filesystem showing home, etc, var, tmp, and usr]]&lt;br /&gt;
&lt;br /&gt;
Important locations:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Path&lt;br /&gt;
! Purpose&lt;br /&gt;
! Beginner guidance&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;&lt;br /&gt;
| Top of the entire filesystem.&lt;br /&gt;
| Browse only; do not try to modify it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/home&amp;lt;/code&amp;gt;&lt;br /&gt;
| Contains user home directories.&lt;br /&gt;
| Your own home is your normal workspace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;&lt;br /&gt;
| System configuration.&lt;br /&gt;
| Usually readable but not writable by normal users.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/var&amp;lt;/code&amp;gt;&lt;br /&gt;
| Logs, cache, mail, and changing system data.&lt;br /&gt;
| Mostly managed by services and administrators.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt;&lt;br /&gt;
| Temporary files.&lt;br /&gt;
| Files may be deleted automatically; never store valuables here.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;/usr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Programs, libraries, and shared read-only data.&lt;br /&gt;
| Useful to understand, but not your workspace.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 2.2 List files with ls ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls&lt;br /&gt;
ls -l&lt;br /&gt;
ls -a&lt;br /&gt;
ls -lah&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; — long format with permissions, owner, size, and date.&lt;br /&gt;
* &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; — include hidden names beginning with a dot.&lt;br /&gt;
* &amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; — display sizes in a human-readable form such as KiB or MiB.&lt;br /&gt;
&lt;br /&gt;
Options can be combined: &amp;lt;code&amp;gt;ls -l -a -h&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -lah&amp;lt;/code&amp;gt; are equivalent.&lt;br /&gt;
&lt;br /&gt;
List another directory without moving there:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -lah /etc&lt;br /&gt;
ls -lah &amp;quot;$HOME&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 2.3 Move with cd ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME&amp;quot;&lt;br /&gt;
cd /&lt;br /&gt;
cd /etc&lt;br /&gt;
cd ..&lt;br /&gt;
cd -&lt;br /&gt;
cd ~&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Path or command&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd /etc&amp;lt;/code&amp;gt;&lt;br /&gt;
| Move to the absolute path &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd ..&amp;lt;/code&amp;gt;&lt;br /&gt;
| Move to the parent directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd .&amp;lt;/code&amp;gt;&lt;br /&gt;
| Stay in the current directory. A single dot means “here.”&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return to the previous directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;cd ~&amp;lt;/code&amp;gt;&lt;br /&gt;
| Return to your home directory.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
An &#039;&#039;&#039;absolute path&#039;&#039;&#039; begins with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, such as &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt;. A &#039;&#039;&#039;relative path&#039;&#039;&#039; begins from your current directory, such as &amp;lt;code&amp;gt;lesson-02/notes.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 2.4 Hidden files ==&lt;br /&gt;
&lt;br /&gt;
Names beginning with a dot are hidden from a normal &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; listing:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -la &amp;quot;$HOME&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configuration files such as &amp;lt;code&amp;gt;.bashrc&amp;lt;/code&amp;gt; and directories such as &amp;lt;code&amp;gt;.ssh&amp;lt;/code&amp;gt; are hidden to reduce clutter, not to provide security.&lt;br /&gt;
&lt;br /&gt;
== Lesson 2 lab ==&lt;br /&gt;
&lt;br /&gt;
Run each task and use &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt; after every &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Go to your home directory.&lt;br /&gt;
# Go to the root directory.&lt;br /&gt;
# List the root directory in long, human-readable format.&lt;br /&gt;
# Go to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Return to the previous directory using &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Return home using the shortest command you know.&lt;br /&gt;
# List all hidden names in your home directory.&lt;br /&gt;
&lt;br /&gt;
== Lesson 2 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/root&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; represent?&lt;br /&gt;
# Which &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; option shows hidden files?&lt;br /&gt;
# Is &amp;lt;code&amp;gt;/etc/hosts&amp;lt;/code&amp;gt; an absolute or relative path?&lt;br /&gt;
# What do &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; mean?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 3 — Create, copy, move, and remove files =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Organize data in your course workspace and delete items safely.&lt;br /&gt;
&lt;br /&gt;
== 3.1 Create directories and files ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
mkdir lesson-03&lt;br /&gt;
cd lesson-03&lt;br /&gt;
mkdir documents backups&lt;br /&gt;
touch notes.txt&lt;br /&gt;
ls -lah&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt; creates a directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;touch&amp;lt;/code&amp;gt; creates an empty file if it does not exist, or updates its timestamp if it does.&lt;br /&gt;
* &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt; creates missing parent directories and does not complain if they already exist.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p project/docs/drafts&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.2 Copy files and directories ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cp notes.txt notes-copy.txt&lt;br /&gt;
cp notes.txt documents/&lt;br /&gt;
cp -i notes.txt documents/notes.txt&lt;br /&gt;
cp -r documents backups/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;cp SOURCE DESTINATION&amp;lt;/code&amp;gt; copies a file.&lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; copies a directory and its contents recursively.&lt;br /&gt;
* &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; asks before overwriting an existing destination.&lt;br /&gt;
* &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; displays what is being copied.&lt;br /&gt;
&lt;br /&gt;
For an important copy, check the destination:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls -lah documents backups&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.3 Move and rename ==&lt;br /&gt;
&lt;br /&gt;
The same &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt; command moves and renames:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mv notes-copy.txt old-notes.txt&lt;br /&gt;
mv old-notes.txt documents/&lt;br /&gt;
mv -i notes.txt main-notes.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 3.4 Remove safely ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rm -i main-notes.txt&lt;br /&gt;
rm -i backups/documents/notes.txt&lt;br /&gt;
rmdir backups/documents&lt;br /&gt;
rmdir backups&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt; removes files.&lt;br /&gt;
* &amp;lt;code&amp;gt;rmdir&amp;lt;/code&amp;gt; removes an empty directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;rm -r DIRECTORY&amp;lt;/code&amp;gt; removes a directory tree recursively.&lt;br /&gt;
* &amp;lt;code&amp;gt;rm -f&amp;lt;/code&amp;gt; forces removal without a question. Beginners should avoid it.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important:&#039;&#039;&#039; Shell deletion normally does not use a recycle bin. Always run &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; first. Prefer &amp;lt;code&amp;gt;rm -i&amp;lt;/code&amp;gt; while learning.&lt;br /&gt;
&lt;br /&gt;
Never run destructive examples such as &amp;lt;code&amp;gt;rm -rf&amp;lt;/code&amp;gt; on broad paths. Do not combine recursive deletion with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt;, unknown variables, or an unreviewed wildcard.&lt;br /&gt;
&lt;br /&gt;
== 3.5 Wildcards in file operations ==&lt;br /&gt;
&lt;br /&gt;
The shell expands patterns before running a command:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Pattern&lt;br /&gt;
! Meaning&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;*&amp;lt;/code&amp;gt;&lt;br /&gt;
| Any number of characters.&lt;br /&gt;
| &amp;lt;code&amp;gt;ls *.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;?&amp;lt;/code&amp;gt;&lt;br /&gt;
| Exactly one character.&lt;br /&gt;
| &amp;lt;code&amp;gt;ls note?.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[abc]&amp;lt;/code&amp;gt;&lt;br /&gt;
| One character from the brackets.&lt;br /&gt;
| &amp;lt;code&amp;gt;ls file[123].txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Preview a wildcard with &amp;lt;code&amp;gt;printf&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt; before using it with &amp;lt;code&amp;gt;cp&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt;, or &amp;lt;code&amp;gt;rm&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; *.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lesson 3 lab ==&lt;br /&gt;
&lt;br /&gt;
Work only in &amp;lt;code&amp;gt;$HOME/linux-course/lesson-03&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Create directories named &amp;lt;code&amp;gt;practice&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;practice/archive&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Create empty files &amp;lt;code&amp;gt;one.txt&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;three.log&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Copy the two &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; files into &amp;lt;code&amp;gt;practice&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Rename &amp;lt;code&amp;gt;three.log&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;activity.log&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Copy &amp;lt;code&amp;gt;activity.log&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;practice/archive&amp;lt;/code&amp;gt;.&lt;br /&gt;
# List the complete result with &amp;lt;code&amp;gt;ls -lR&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Remove only &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt; from the current directory using interactive mode.&lt;br /&gt;
&lt;br /&gt;
== Lesson 3 review ==&lt;br /&gt;
&lt;br /&gt;
# Which command creates parent directories automatically?&lt;br /&gt;
# How do you copy a directory and its contents?&lt;br /&gt;
# Which command renames a file?&lt;br /&gt;
# Why should you use &amp;lt;code&amp;gt;rm -i&amp;lt;/code&amp;gt; while learning?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;*.txt&amp;lt;/code&amp;gt; match?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 4 — Read and edit text files =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Inspect text safely, edit with Nano, and compare files.&lt;br /&gt;
&lt;br /&gt;
== 4.1 Identify and display files ==&lt;br /&gt;
&lt;br /&gt;
Create lesson data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-04&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-04&amp;quot;&lt;br /&gt;
printf &#039;alpha\nbeta\ngamma\ndelta\nepsilon\n&#039; &amp;gt; words.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now inspect it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
file words.txt&lt;br /&gt;
cat words.txt&lt;br /&gt;
head -n 3 words.txt&lt;br /&gt;
tail -n 2 words.txt&lt;br /&gt;
wc -l words.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Use&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;file NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Guess the file type.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cat NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Display a short text file.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;less NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read a long file one screen at a time.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;head -n N NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show the first N lines.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tail -n N NAME&amp;lt;/code&amp;gt;&lt;br /&gt;
| Show the last N lines.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wc&amp;lt;/code&amp;gt;&lt;br /&gt;
| Count lines, words, or bytes.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Inside &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
* Arrow keys or Page Up/Page Down — move.&lt;br /&gt;
* &amp;lt;code&amp;gt;/word&amp;lt;/code&amp;gt; — search forward.&lt;br /&gt;
* &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; — next match.&lt;br /&gt;
* &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; — quit.&lt;br /&gt;
&lt;br /&gt;
Follow a file as new lines are added:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
tail -f filename.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+C to stop following. Use this only on logs you are permitted to read.&lt;br /&gt;
&lt;br /&gt;
== 4.2 Edit with Nano ==&lt;br /&gt;
&lt;br /&gt;
Open a file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
nano notes.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nano shows shortcuts at the bottom. The &amp;lt;code&amp;gt;^&amp;lt;/code&amp;gt; character means Ctrl.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Shortcut&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+O&lt;br /&gt;
| Write (save) the file.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+X&lt;br /&gt;
| Exit Nano.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+W&lt;br /&gt;
| Search.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+K&lt;br /&gt;
| Cut the current line.&lt;br /&gt;
|-&lt;br /&gt;
| Ctrl+U&lt;br /&gt;
| Paste the cut line.&lt;br /&gt;
|-&lt;br /&gt;
| Alt+U&lt;br /&gt;
| Undo, where supported.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If Nano is not available, ask DWShells staff which editor is supported. Do not edit unfamiliar system configuration files while learning.&lt;br /&gt;
&lt;br /&gt;
== 4.3 Write predictable text with printf ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;DWShells Linux Course&amp;quot; &amp;quot;Lesson 4&amp;quot; &amp;gt; summary.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;Completed&amp;quot; &amp;gt;&amp;gt; summary.txt&lt;br /&gt;
cat summary.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The single &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; replaces a file&#039;s content. The double &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; appends. Lesson 7 explains this in detail.&lt;br /&gt;
&lt;br /&gt;
== 4.4 Compare files ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cp words.txt words-copy.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;zeta&amp;quot; &amp;gt;&amp;gt; words-copy.txt&lt;br /&gt;
diff -u words.txt words-copy.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
No output from &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; means the files are identical.&lt;br /&gt;
&lt;br /&gt;
== Lesson 4 lab ==&lt;br /&gt;
&lt;br /&gt;
# Create &amp;lt;code&amp;gt;$HOME/linux-course/lesson-04/profile.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use Nano to write your username, the course name, and three Linux commands you have learned.&lt;br /&gt;
# Save and exit.&lt;br /&gt;
# Display the first two lines with &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Display the last line with &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Count the number of lines with &amp;lt;code&amp;gt;wc&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Copy the file, add one new line to the copy, and compare both files with &amp;lt;code&amp;gt;diff -u&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lesson 4 review ==&lt;br /&gt;
&lt;br /&gt;
# When is &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt; better than &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt;?&lt;br /&gt;
# How do you quit &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Which Nano shortcut saves a file?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does no output from &amp;lt;code&amp;gt;diff&amp;lt;/code&amp;gt; normally mean?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 5 — Find help and understand commands =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Use built-in documentation instead of guessing.&lt;br /&gt;
&lt;br /&gt;
== 5.1 Quick help ==&lt;br /&gt;
&lt;br /&gt;
Most programs support:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls --help&lt;br /&gt;
cp --help&lt;br /&gt;
grep --help&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because help can be long, send it to &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls --help | less&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 5.2 Manual pages ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
man ls&lt;br /&gt;
man cp&lt;br /&gt;
man chmod&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Useful keys in &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt; are the same as in &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; searches, &amp;lt;code&amp;gt;n&amp;lt;/code&amp;gt; finds the next result, and &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; quits.&lt;br /&gt;
&lt;br /&gt;
Search manual descriptions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
whatis ls&lt;br /&gt;
apropos &amp;quot;copy files&amp;quot;&lt;br /&gt;
man -k &amp;quot;search text&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;apropos&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;man -k&amp;lt;/code&amp;gt; are equivalent. On a minimal server, the manual index or some pages may not be installed.&lt;br /&gt;
&lt;br /&gt;
== 5.3 Learn what the shell will run ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
type cd&lt;br /&gt;
type ls&lt;br /&gt;
command -v bash&lt;br /&gt;
command -v nano&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; can identify an alias, function, shell builtin, or executable.&lt;br /&gt;
* &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; checks whether a command is available and shows what will run.&lt;br /&gt;
* &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; is normally a shell builtin because it must change the current shell&#039;s directory.&lt;br /&gt;
&lt;br /&gt;
== 5.4 Command history ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
history&lt;br /&gt;
history | tail -n 20&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
History can contain sensitive data if you type passwords, tokens, or private URLs directly on the command line. &#039;&#039;&#039;Never put a password or API key in a command unless the tool provides a secure method.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To search previous commands interactively, press Ctrl+R and type part of a command. Press Ctrl+R again for an older match, Enter to run it, or Ctrl+C to cancel.&lt;br /&gt;
&lt;br /&gt;
== 5.5 Read syntax notation ==&lt;br /&gt;
&lt;br /&gt;
Manuals often use:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;COMMAND [OPTION]... [FILE]...&amp;lt;/code&amp;gt;&lt;br /&gt;
* Square brackets mean optional.&lt;br /&gt;
* Three dots mean an item can be repeated.&lt;br /&gt;
* A vertical list separated by &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; means choose one item.&lt;br /&gt;
* Uppercase words such as &amp;lt;code&amp;gt;FILE&amp;lt;/code&amp;gt; are placeholders, not literal text.&lt;br /&gt;
&lt;br /&gt;
== Lesson 5 lab ==&lt;br /&gt;
&lt;br /&gt;
# Open the manual for &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Search inside it for &amp;lt;code&amp;gt;parents&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Find the option that creates parent directories.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt; on &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; to check for &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;vim&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Show only your last ten history entries.&lt;br /&gt;
&lt;br /&gt;
== Lesson 5 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the fastest common option for brief command help?&lt;br /&gt;
# Which command opens a manual page?&lt;br /&gt;
# Which key exits a manual page?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; tell you?&lt;br /&gt;
# Why should secrets not appear in command history?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 6 — Understand permissions and ownership =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Read permission strings and protect your own files.&lt;br /&gt;
&lt;br /&gt;
== 6.1 Read a long listing ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
ls -ld .&lt;br /&gt;
ls -l&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A long listing may look like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-rwxr-x--- 1 alex support 812 Jul 22 10:30 report.sh&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It contains:&lt;br /&gt;
&lt;br /&gt;
# File type and permissions: &amp;lt;code&amp;gt;-rwxr-x---&amp;lt;/code&amp;gt;&lt;br /&gt;
# Link count: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;&lt;br /&gt;
# Owner: &amp;lt;code&amp;gt;alex&amp;lt;/code&amp;gt;&lt;br /&gt;
# Group: &amp;lt;code&amp;gt;support&amp;lt;/code&amp;gt;&lt;br /&gt;
# Size in bytes: &amp;lt;code&amp;gt;812&amp;lt;/code&amp;gt;&lt;br /&gt;
# Last modification time&lt;br /&gt;
# Filename: &amp;lt;code&amp;gt;report.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Permissions.png|center|frameless|1000px|alt=Diagram explaining Linux owner, group, others, read, write, execute, and numeric permissions]]&lt;br /&gt;
&lt;br /&gt;
== 6.2 File types ==&lt;br /&gt;
&lt;br /&gt;
The first character commonly means:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Character&lt;br /&gt;
! Type&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt;&lt;br /&gt;
| Regular file&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;d&amp;lt;/code&amp;gt;&lt;br /&gt;
| Directory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt;&lt;br /&gt;
| Symbolic link&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 6.3 Read, write, and execute ==&lt;br /&gt;
&lt;br /&gt;
Permissions are shown for &#039;&#039;&#039;owner&#039;&#039;&#039;, &#039;&#039;&#039;group&#039;&#039;&#039;, and &#039;&#039;&#039;others&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Permission&lt;br /&gt;
! On a file&lt;br /&gt;
! On a directory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;r&amp;lt;/code&amp;gt; — read&lt;br /&gt;
| Read file contents.&lt;br /&gt;
| List names in the directory, subject to other permissions.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; — write&lt;br /&gt;
| Modify the file.&lt;br /&gt;
| Create, delete, or rename entries in the directory.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; — execute&lt;br /&gt;
| Run a program or script.&lt;br /&gt;
| Enter/traverse the directory and access known names.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Directory permissions are especially important: read and execute have different jobs.&lt;br /&gt;
&lt;br /&gt;
== 6.4 Change permissions symbolically ==&lt;br /&gt;
&lt;br /&gt;
Create a practice script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-06&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-06&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &#039;#!/bin/bash&#039; &#039;echo &amp;quot;Permission test successful&amp;quot;&#039; &amp;gt; test.sh&lt;br /&gt;
ls -l test.sh&lt;br /&gt;
chmod u+x test.sh&lt;br /&gt;
ls -l test.sh&lt;br /&gt;
./test.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Symbolic targets and operations:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;u&amp;lt;/code&amp;gt; owner/user, &amp;lt;code&amp;gt;g&amp;lt;/code&amp;gt; group, &amp;lt;code&amp;gt;o&amp;lt;/code&amp;gt; others, &amp;lt;code&amp;gt;a&amp;lt;/code&amp;gt; all.&lt;br /&gt;
* &amp;lt;code&amp;gt;+&amp;lt;/code&amp;gt; add, &amp;lt;code&amp;gt;-&amp;lt;/code&amp;gt; remove, &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt; set exactly.&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x script.sh&lt;br /&gt;
chmod go-rwx private.txt&lt;br /&gt;
chmod u=rw,go= notes.txt&lt;br /&gt;
chmod g+r shared.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 6.5 Numeric permissions ==&lt;br /&gt;
&lt;br /&gt;
The values are:&lt;br /&gt;
&lt;br /&gt;
* read = 4&lt;br /&gt;
* write = 2&lt;br /&gt;
* execute = 1&lt;br /&gt;
&lt;br /&gt;
Add each set:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Number&lt;br /&gt;
! Permission&lt;br /&gt;
! Common use&lt;br /&gt;
|-&lt;br /&gt;
| 7&lt;br /&gt;
| &amp;lt;code&amp;gt;rwx&amp;lt;/code&amp;gt;&lt;br /&gt;
| Full access&lt;br /&gt;
|-&lt;br /&gt;
| 6&lt;br /&gt;
| &amp;lt;code&amp;gt;rw-&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read and write&lt;br /&gt;
|-&lt;br /&gt;
| 5&lt;br /&gt;
| &amp;lt;code&amp;gt;r-x&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read and execute&lt;br /&gt;
|-&lt;br /&gt;
| 4&lt;br /&gt;
| &amp;lt;code&amp;gt;r--&amp;lt;/code&amp;gt;&lt;br /&gt;
| Read only&lt;br /&gt;
|-&lt;br /&gt;
| 0&lt;br /&gt;
| &amp;lt;code&amp;gt;---&amp;lt;/code&amp;gt;&lt;br /&gt;
| No access&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 700 private-directory&lt;br /&gt;
chmod 600 private.txt&lt;br /&gt;
chmod 750 script.sh&lt;br /&gt;
chmod 640 shared-report.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid &amp;lt;code&amp;gt;chmod 777&amp;lt;/code&amp;gt;. It allows every local user to modify the item and is almost never the correct fix.&lt;br /&gt;
&lt;br /&gt;
== 6.6 Ownership, groups, and umask ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
whoami&lt;br /&gt;
id&lt;br /&gt;
groups&lt;br /&gt;
umask&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt; shows your numeric user ID, group ID, and group memberships.&lt;br /&gt;
* &amp;lt;code&amp;gt;chgrp GROUP FILE&amp;lt;/code&amp;gt; changes a file&#039;s group only when you are permitted to use that group.&lt;br /&gt;
* &amp;lt;code&amp;gt;chown&amp;lt;/code&amp;gt; changes ownership and normally requires administrator privileges. It is not a learner exercise.&lt;br /&gt;
* &amp;lt;code&amp;gt;umask&amp;lt;/code&amp;gt; controls which permissions are removed from newly created files and directories.&lt;br /&gt;
&lt;br /&gt;
For SSH files, secure permissions are normally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 700 &amp;quot;$HOME/.ssh&amp;quot;&lt;br /&gt;
chmod 600 &amp;quot;$HOME/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run those commands only if the paths exist and belong to you.&lt;br /&gt;
&lt;br /&gt;
== Lesson 6 lab ==&lt;br /&gt;
&lt;br /&gt;
In &amp;lt;code&amp;gt;$HOME/linux-course/lesson-06&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
# Create &amp;lt;code&amp;gt;private.txt&amp;lt;/code&amp;gt; and set it to owner read/write only.&lt;br /&gt;
# Create &amp;lt;code&amp;gt;shared.txt&amp;lt;/code&amp;gt; and set it to owner read/write, group read, others none.&lt;br /&gt;
# Create a directory &amp;lt;code&amp;gt;private-dir&amp;lt;/code&amp;gt; with owner-only access.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -ld&amp;lt;/code&amp;gt; to verify all three.&lt;br /&gt;
# Remove execute permission from &amp;lt;code&amp;gt;test.sh&amp;lt;/code&amp;gt;, try to run it directly, then restore execute permission.&lt;br /&gt;
# Display your user and group memberships with &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lesson 6 review ==&lt;br /&gt;
&lt;br /&gt;
# What do the three permission groups represent?&lt;br /&gt;
# What is the numeric value of &amp;lt;code&amp;gt;r-x&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does execute permission mean on a directory?&lt;br /&gt;
# Which command changes permissions?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;777&amp;lt;/code&amp;gt; unsafe?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
= Lesson 7 — Redirect output and build pipelines =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Save command output, separate errors, and connect small tools with pipes.&lt;br /&gt;
&lt;br /&gt;
== 7.1 Standard input, output, and error ==&lt;br /&gt;
&lt;br /&gt;
Every command starts with three standard data streams:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Stream&lt;br /&gt;
! Number&lt;br /&gt;
! Normal source or destination&lt;br /&gt;
|-&lt;br /&gt;
| Standard input (stdin)&lt;br /&gt;
| 0&lt;br /&gt;
| Your keyboard&lt;br /&gt;
|-&lt;br /&gt;
| Standard output (stdout)&lt;br /&gt;
| 1&lt;br /&gt;
| Your terminal&lt;br /&gt;
|-&lt;br /&gt;
| Standard error (stderr)&lt;br /&gt;
| 2&lt;br /&gt;
| Your terminal&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Redirection changes where these streams go.&lt;br /&gt;
&lt;br /&gt;
== 7.2 Replace or append a file ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-07&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-07&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;first line&amp;quot; &amp;gt; output.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;second line&amp;quot; &amp;gt;&amp;gt; output.txt&lt;br /&gt;
cat output.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; creates a file or &#039;&#039;&#039;replaces all existing content&#039;&#039;&#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; creates a file or appends to the end.&lt;br /&gt;
&lt;br /&gt;
Always inspect an important filename before using &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Save command output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
date &amp;gt; current-date.txt&lt;br /&gt;
ls -lah &amp;quot;$HOME&amp;quot; &amp;gt; home-listing.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 7.3 Redirect errors ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
touch existing-file&lt;br /&gt;
ls existing-file missing-file &amp;gt; normal.txt 2&amp;gt; errors.txt&lt;br /&gt;
cat normal.txt&lt;br /&gt;
cat errors.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Combine normal output and errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ls existing-file missing-file &amp;gt; everything.txt 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Discard output only when you intentionally do not need it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
command -v nano &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/null&amp;lt;/code&amp;gt; discards data. The value &amp;lt;code&amp;gt;$?&amp;lt;/code&amp;gt; is the previous command&#039;s exit status: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; usually means success and a non-zero value means an error or another special result.&lt;br /&gt;
&lt;br /&gt;
== 7.4 Pipes ==&lt;br /&gt;
&lt;br /&gt;
A pipe &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; sends one command&#039;s standard output to the next command&#039;s standard input.&lt;br /&gt;
&lt;br /&gt;
[[File:DWShells-Pipeline.png|center|frameless|1000px|alt=Diagram showing cat output piped through grep and then wc to count matching lines]]&lt;br /&gt;
&lt;br /&gt;
Create safe practice data:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; \&lt;br /&gt;
  &amp;quot;INFO login accepted&amp;quot; \&lt;br /&gt;
  &amp;quot;ERROR invalid password&amp;quot; \&lt;br /&gt;
  &amp;quot;INFO session opened&amp;quot; \&lt;br /&gt;
  &amp;quot;ERROR disk quota warning&amp;quot; \&lt;br /&gt;
  &amp;quot;INFO session closed&amp;quot; &amp;gt; activity.log&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now build pipelines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat activity.log | grep &amp;quot;ERROR&amp;quot;&lt;br /&gt;
grep &amp;quot;ERROR&amp;quot; activity.log | wc -l&lt;br /&gt;
sort activity.log&lt;br /&gt;
sort activity.log | uniq&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;grep &amp;quot;ERROR&amp;quot; activity.log&amp;lt;/code&amp;gt; is more direct than piping &amp;lt;code&amp;gt;cat&amp;lt;/code&amp;gt; into &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;, but both forms help demonstrate the data flow.&lt;br /&gt;
&lt;br /&gt;
== 7.5 Useful filter commands ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Command&lt;br /&gt;
! Purpose&lt;br /&gt;
! Example&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;&lt;br /&gt;
| Keep lines matching a pattern.&lt;br /&gt;
| &amp;lt;code&amp;gt;grep -i &amp;quot;error&amp;quot; activity.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;&lt;br /&gt;
| Sort lines.&lt;br /&gt;
| &amp;lt;code&amp;gt;sort names.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt;&lt;br /&gt;
| Remove or count adjacent duplicate lines.&lt;br /&gt;
| &amp;lt;code&amp;gt;sort names.txt | uniq -c&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;wc&amp;lt;/code&amp;gt;&lt;br /&gt;
| Count lines, words, or bytes.&lt;br /&gt;
| &amp;lt;code&amp;gt;wc -l activity.log&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;cut&amp;lt;/code&amp;gt;&lt;br /&gt;
| Select delimited fields.&lt;br /&gt;
| &amp;lt;code&amp;gt;cut -d: -f1 /etc/passwd&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tr&amp;lt;/code&amp;gt;&lt;br /&gt;
| Translate or delete characters.&lt;br /&gt;
| &amp;lt;code&amp;gt;printf &#039;hello\n&#039; | tr &#039;a-z&#039; &#039;A-Z&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt;&lt;br /&gt;
| Display and save output at the same time.&lt;br /&gt;
| &amp;lt;code&amp;gt;date | tee date.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;code&amp;gt;/etc/passwd&amp;lt;/code&amp;gt; example displays local account names from a normally public system file. It does not reveal passwords; modern Linux stores password hashes elsewhere with restricted access.&lt;br /&gt;
&lt;br /&gt;
== Lesson 7 lab ==&lt;br /&gt;
&lt;br /&gt;
# Create a file containing at least six lines, including three lines with the word &amp;lt;code&amp;gt;PASS&amp;lt;/code&amp;gt; and two with &amp;lt;code&amp;gt;FAIL&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Display only &amp;lt;code&amp;gt;FAIL&amp;lt;/code&amp;gt; lines, ignoring case.&lt;br /&gt;
# Count the &amp;lt;code&amp;gt;PASS&amp;lt;/code&amp;gt; lines using a pipeline.&lt;br /&gt;
# Save the sorted content to &amp;lt;code&amp;gt;sorted.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Append the current date to &amp;lt;code&amp;gt;sorted.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Run a command using a nonexistent filename and save its error to &amp;lt;code&amp;gt;error.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Use &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt; to display and save &amp;lt;code&amp;gt;whoami&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Lesson 7 review ==&lt;br /&gt;
&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Which number represents standard error?&lt;br /&gt;
# What does a pipe do?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt; often placed before &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt;?&lt;br /&gt;
# What does exit status zero usually mean?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 8 — Search, match, and quote safely =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Locate files and text without scanning the whole server, and understand how the shell treats special characters.&lt;br /&gt;
&lt;br /&gt;
== 8.1 Search text with grep ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
grep &amp;quot;ERROR&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
grep -i &amp;quot;error&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
grep -n &amp;quot;INFO&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
grep -v &amp;quot;INFO&amp;quot; &amp;quot;$HOME/linux-course/lesson-07/activity.log&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; — ignore letter case.&lt;br /&gt;
* &amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; — show line numbers.&lt;br /&gt;
* &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; — show non-matching lines.&lt;br /&gt;
* &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; — search directories recursively.&lt;br /&gt;
* &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; — show filenames containing a match.&lt;br /&gt;
&lt;br /&gt;
Search only your course directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
grep -Rin &amp;quot;linux&amp;quot; &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Avoid broad recursive searches from &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;. They are slow, generate permission errors, and consume shared server resources.&lt;br /&gt;
&lt;br /&gt;
== 8.2 Find files by name and type ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type f -name &amp;quot;*.txt&amp;quot;&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type d -name &amp;quot;lesson-*&amp;quot;&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type f -size +1k&lt;br /&gt;
find &amp;quot;$HOME/linux-course&amp;quot; -type f -mtime -1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-type f&amp;lt;/code&amp;gt; — regular files.&lt;br /&gt;
* &amp;lt;code&amp;gt;-type d&amp;lt;/code&amp;gt; — directories.&lt;br /&gt;
* &amp;lt;code&amp;gt;-name&amp;lt;/code&amp;gt; — case-sensitive name pattern.&lt;br /&gt;
* &amp;lt;code&amp;gt;-iname&amp;lt;/code&amp;gt; — case-insensitive name pattern.&lt;br /&gt;
* &amp;lt;code&amp;gt;-size +1k&amp;lt;/code&amp;gt; — larger than 1 KiB.&lt;br /&gt;
* &amp;lt;code&amp;gt;-mtime -1&amp;lt;/code&amp;gt; — modified within about the last day.&lt;br /&gt;
&lt;br /&gt;
Keep the search starting point narrow. Search &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; or a project directory, not the entire server.&lt;br /&gt;
&lt;br /&gt;
== 8.3 Shell expansion and quoting ==&lt;br /&gt;
&lt;br /&gt;
Before a command runs, Bash processes variables, wildcards, quotes, and substitutions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
course=&amp;quot;Linux Basics&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$course&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &#039;$course&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;Linux Basics&lt;br /&gt;
$course&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Form&lt;br /&gt;
! Behavior&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;double quotes&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Preserve spaces but expand variables and command substitutions.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&#039;single quotes&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
| Treat nearly everything literally.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;&lt;br /&gt;
| Escape the next special character outside single quotes.&lt;br /&gt;
|-&lt;br /&gt;
| Unquoted text&lt;br /&gt;
| May be split at spaces and expanded as a wildcard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Correctly handle spaces in names:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson 08&amp;quot;&lt;br /&gt;
touch &amp;quot;$HOME/linux-course/lesson 08/my notes.txt&amp;quot;&lt;br /&gt;
ls -l &amp;quot;$HOME/linux-course/lesson 08/my notes.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quoting variables is a vital habit:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
file=&amp;quot;$HOME/linux-course/lesson 08/my notes.txt&amp;quot;&lt;br /&gt;
cat &amp;quot;$file&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 8.4 Command substitution ==&lt;br /&gt;
&lt;br /&gt;
Command substitution places output inside another command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
today=&amp;quot;$(date +%F)&amp;quot;&lt;br /&gt;
printf &#039;Today is %s\n&#039; &amp;quot;$today&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The modern &amp;lt;code&amp;gt;$(command)&amp;lt;/code&amp;gt; form is easier to read and nest than old backquote syntax.&lt;br /&gt;
&lt;br /&gt;
== 8.5 Environment variables ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$HOME&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$USER&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$SHELL&amp;quot;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;$PATH&amp;quot;&lt;br /&gt;
env | sort | less&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt; is the list of directories Bash searches for commands. Do not add unsafe or world-writable directories to it.&lt;br /&gt;
&lt;br /&gt;
== Lesson 8 lab ==&lt;br /&gt;
&lt;br /&gt;
# Find all &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; files inside &amp;lt;code&amp;gt;$HOME/linux-course&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Search those course files recursively for the word &amp;lt;code&amp;gt;DWShells&amp;lt;/code&amp;gt;, ignoring case.&lt;br /&gt;
# Create a directory containing a space and a file containing a space.&lt;br /&gt;
# Store that file&#039;s full path in a variable and display it using correct quoting.&lt;br /&gt;
# Store the current date in &amp;lt;code&amp;gt;today&amp;lt;/code&amp;gt; using command substitution.&lt;br /&gt;
# Print &amp;lt;code&amp;gt;Course date: YYYY-MM-DD&amp;lt;/code&amp;gt; using that variable.&lt;br /&gt;
&lt;br /&gt;
== Lesson 8 review ==&lt;br /&gt;
&lt;br /&gt;
# Why should a &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt; search start from a narrow directory?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;grep -i&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;grep -v&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Do variables expand inside single quotes?&lt;br /&gt;
# Why should path variables normally be double-quoted?&lt;br /&gt;
# What does &amp;lt;code&amp;gt;$(date +%F)&amp;lt;/code&amp;gt; do?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 9 — Manage your processes and jobs =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Inspect your own programs, use foreground and background jobs, and stop a process gracefully.&lt;br /&gt;
&lt;br /&gt;
== 9.1 What is a process? ==&lt;br /&gt;
&lt;br /&gt;
A process is a running instance of a program. Every process has a process ID, or &#039;&#039;&#039;PID&#039;&#039;&#039;, an owner, resource usage, and a state.&lt;br /&gt;
&lt;br /&gt;
View your processes:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps&lt;br /&gt;
ps -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
ps -f -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
pgrep -a -u &amp;quot;$USER&amp;quot; .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The dot is a regular-expression pattern that matches process names. This command is an alternative that does not require &amp;lt;code&amp;gt;pgrep&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps -f -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a live display:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
top -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt; to leave &amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== 9.2 Foreground and background jobs ==&lt;br /&gt;
&lt;br /&gt;
Start a harmless practice command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sleep 300&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+Z to suspend it, then:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
jobs&lt;br /&gt;
bg&lt;br /&gt;
jobs&lt;br /&gt;
fg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Press Ctrl+C to stop it.&lt;br /&gt;
&lt;br /&gt;
Start directly in the background:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sleep 10 &amp;amp;&lt;br /&gt;
jobs&lt;br /&gt;
wait&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;&amp;lt;/code&amp;gt; starts a command as a background job.&lt;br /&gt;
* &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; shows jobs started from the current shell.&lt;br /&gt;
* &amp;lt;code&amp;gt;fg&amp;lt;/code&amp;gt; brings a job to the foreground.&lt;br /&gt;
* &amp;lt;code&amp;gt;bg&amp;lt;/code&amp;gt; continues a suspended job in the background.&lt;br /&gt;
* &amp;lt;code&amp;gt;wait&amp;lt;/code&amp;gt; waits for background jobs to finish.&lt;br /&gt;
&lt;br /&gt;
== 9.3 Stop processes safely ==&lt;br /&gt;
&lt;br /&gt;
First identify the correct PID and confirm it belongs to you:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ps -f -u &amp;quot;$USER&amp;quot;&lt;br /&gt;
kill PID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Plain &amp;lt;code&amp;gt;kill PID&amp;lt;/code&amp;gt; sends SIGTERM, a request to exit cleanly. If the program remains after you wait and recheck, SIGKILL is a last resort:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
kill -KILL PID&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
SIGKILL prevents cleanup and may corrupt data. Never signal a PID that you have not verified. Normal users cannot manage another user&#039;s protected processes.&lt;br /&gt;
&lt;br /&gt;
You can stop a process by a matching name that belongs to you, but verify carefully:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
pgrep -a -u &amp;quot;$USER&amp;quot; sleep&lt;br /&gt;
pkill -u &amp;quot;$USER&amp;quot; -x sleep&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 9.4 Resource responsibility ==&lt;br /&gt;
&lt;br /&gt;
DWShells is shared. A process that uses excessive CPU, memory, disk, network traffic, or process slots harms other learners.&lt;br /&gt;
&lt;br /&gt;
* Run only software allowed by the DWShells Acceptable Use Policy.&lt;br /&gt;
* Stop experiments when you finish.&lt;br /&gt;
* Do not create fork bombs or uncontrolled loops.&lt;br /&gt;
* Do not run cryptocurrency miners, scanners, attacks, spam, proxies, or unauthorized public services.&lt;br /&gt;
* Use persistent background programs only when your account plan and DWShells staff permit them.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nohup&amp;lt;/code&amp;gt;, terminal multiplexers, schedulers, and long-running services are useful tools, but their availability does not mean every use is allowed. Check policy first.&lt;br /&gt;
&lt;br /&gt;
== 9.5 Administrator services ==&lt;br /&gt;
&lt;br /&gt;
You may see tutorials using:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl status SERVICE&lt;br /&gt;
journalctl -u SERVICE&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These are service-administration tools. Some read-only views may work, but changing services requires authorization and is outside this beginner shell course. Do not try to bypass account restrictions.&lt;br /&gt;
&lt;br /&gt;
== Lesson 9 lab ==&lt;br /&gt;
&lt;br /&gt;
# Start &amp;lt;code&amp;gt;sleep 180&amp;lt;/code&amp;gt; in the foreground.&lt;br /&gt;
# Suspend it with Ctrl+Z.&lt;br /&gt;
# Continue it in the background.&lt;br /&gt;
# Show it with &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Bring it back with &amp;lt;code&amp;gt;fg&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Stop it with Ctrl+C.&lt;br /&gt;
# Start &amp;lt;code&amp;gt;sleep 120 &amp;amp;&amp;lt;/code&amp;gt;, find its PID, and stop it using normal &amp;lt;code&amp;gt;kill&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Confirm that no practice &amp;lt;code&amp;gt;sleep&amp;lt;/code&amp;gt; process remains.&lt;br /&gt;
&lt;br /&gt;
== Lesson 9 review ==&lt;br /&gt;
&lt;br /&gt;
# What does PID mean?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Which signal does plain &amp;lt;code&amp;gt;kill PID&amp;lt;/code&amp;gt; normally send?&lt;br /&gt;
# Why is SIGKILL a last resort?&lt;br /&gt;
# Why must long-running programs follow DWShells policy?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 10 — Inspect the system, use network tools, and transfer files =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Gather read-only system information, perform limited connectivity checks, create archives, and move files securely.&lt;br /&gt;
&lt;br /&gt;
== 10.1 System information ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat /etc/os-release&lt;br /&gt;
uname -r&lt;br /&gt;
uname -m&lt;br /&gt;
hostname&lt;br /&gt;
uptime&lt;br /&gt;
date&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt; identifies Debian and its version.&lt;br /&gt;
* &amp;lt;code&amp;gt;uname -r&amp;lt;/code&amp;gt; shows the kernel release.&lt;br /&gt;
* &amp;lt;code&amp;gt;uname -m&amp;lt;/code&amp;gt; shows the hardware architecture.&lt;br /&gt;
* &amp;lt;code&amp;gt;uptime&amp;lt;/code&amp;gt; shows how long the server has run and its load averages.&lt;br /&gt;
&lt;br /&gt;
Load average is not simply a CPU percentage. It represents work running or waiting; interpretation depends on CPU count and workload.&lt;br /&gt;
&lt;br /&gt;
== 10.2 Memory, disk, and quota ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
free -h&lt;br /&gt;
df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
du -h --max-depth=1 &amp;quot;$HOME/linux-course&amp;quot; | sort -h&lt;br /&gt;
quota -s&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;free -h&amp;lt;/code&amp;gt; summarizes system memory.&lt;br /&gt;
* &amp;lt;code&amp;gt;df -h&amp;lt;/code&amp;gt; shows filesystem capacity and free space.&lt;br /&gt;
* &amp;lt;code&amp;gt;du -sh&amp;lt;/code&amp;gt; measures the space used by a directory.&lt;br /&gt;
* &amp;lt;code&amp;gt;quota -s&amp;lt;/code&amp;gt; shows your assigned quota when quotas and the command are enabled.&lt;br /&gt;
&lt;br /&gt;
Do not run broad &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt; searches over the whole server. Measure only paths you own or need.&lt;br /&gt;
&lt;br /&gt;
== 10.3 Read-only network checks ==&lt;br /&gt;
&lt;br /&gt;
Availability depends on DWShells policy:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ip address show&lt;br /&gt;
getent hosts darkworld.network&lt;br /&gt;
ping -c 4 darkworld.network&lt;br /&gt;
curl -I https://darkworld.network/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ip address show&amp;lt;/code&amp;gt; displays configured interfaces and addresses.&lt;br /&gt;
* &amp;lt;code&amp;gt;getent hosts&amp;lt;/code&amp;gt; resolves a hostname using system configuration.&lt;br /&gt;
* &amp;lt;code&amp;gt;ping -c 4&amp;lt;/code&amp;gt; sends four ICMP echo requests; some sites block them.&lt;br /&gt;
* &amp;lt;code&amp;gt;curl -I&amp;lt;/code&amp;gt; retrieves HTTP response headers without downloading the page body.&lt;br /&gt;
&lt;br /&gt;
These tools are for legitimate troubleshooting. Do not probe addresses, enumerate ports, bypass filters, or scan systems without explicit authorization.&lt;br /&gt;
&lt;br /&gt;
== 10.4 Create and inspect tar archives ==&lt;br /&gt;
&lt;br /&gt;
Prepare an archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
tar -czf lesson-04-backup.tar.gz lesson-04/&lt;br /&gt;
tar -tzf lesson-04-backup.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Options:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;-c&amp;lt;/code&amp;gt; create an archive.&lt;br /&gt;
* &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; list archive contents.&lt;br /&gt;
* &amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; extract.&lt;br /&gt;
* &amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; use gzip compression.&lt;br /&gt;
* &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt; the next argument is the archive filename.&lt;br /&gt;
&lt;br /&gt;
Extract into a new, empty directory:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/restore-test&amp;quot;&lt;br /&gt;
tar -xzf lesson-04-backup.tar.gz -C &amp;quot;$HOME/linux-course/restore-test&amp;quot;&lt;br /&gt;
find &amp;quot;$HOME/linux-course/restore-test&amp;quot; -maxdepth 2 -type f&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
List an untrusted archive before extraction. Archives can contain unexpected paths or links. Ask staff before extracting unknown downloads.&lt;br /&gt;
&lt;br /&gt;
If installed, ZIP commands are:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
zip -r lesson-04.zip lesson-04/&lt;br /&gt;
unzip -l lesson-04.zip&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 10.5 Copy files with SCP ==&lt;br /&gt;
&lt;br /&gt;
Run these commands on &#039;&#039;&#039;your local computer&#039;&#039;&#039;, not inside the existing SSH session.&lt;br /&gt;
&lt;br /&gt;
Upload a local file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp local-notes.txt USERNAME@shells.darkworld.network:~/linux-course/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Download your archive:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp USERNAME@shells.darkworld.network:~/linux-course/lesson-04-backup.tar.gz .&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
With a custom SSH port, SCP uses uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp -P PORT_NUMBER local-notes.txt USERNAME@shells.darkworld.network:~/linux-course/&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note the difference: SSH uses lowercase &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, while SCP uses uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
For an interactive file-transfer session:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sftp USERNAME@shells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Useful SFTP commands include &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lpwd&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;lls&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;put&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;get&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;. Commands beginning with &amp;lt;code&amp;gt;l&amp;lt;/code&amp;gt; refer to the local computer.&lt;br /&gt;
&lt;br /&gt;
== Lesson 10 lab ==&lt;br /&gt;
&lt;br /&gt;
# Record the Debian version, kernel version, architecture, hostname, and date in &amp;lt;code&amp;gt;$HOME/linux-course/lesson-10-system.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Measure the size of your course directory.&lt;br /&gt;
# Check available space on the filesystem containing your home directory.&lt;br /&gt;
# Resolve &amp;lt;code&amp;gt;darkworld.network&amp;lt;/code&amp;gt; using &amp;lt;code&amp;gt;getent&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Create a compressed tar archive of one lesson directory.&lt;br /&gt;
# List its content without extracting it.&lt;br /&gt;
# Extract it into a new &amp;lt;code&amp;gt;restore-test&amp;lt;/code&amp;gt; directory and compare the restored files.&lt;br /&gt;
# If you have a local SSH client, download the archive with SCP.&lt;br /&gt;
&lt;br /&gt;
== Lesson 10 review ==&lt;br /&gt;
&lt;br /&gt;
# Which file identifies the Debian release?&lt;br /&gt;
# What is the difference between &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Why can a failed &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt; be inconclusive?&lt;br /&gt;
# Which tar option lists an archive?&lt;br /&gt;
# Which SCP option specifies a custom port?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 11 — Write your first Bash scripts =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Combine commands into a reusable script with variables, input, tests, and a loop.&lt;br /&gt;
&lt;br /&gt;
== 11.1 A first script ==&lt;br /&gt;
&lt;br /&gt;
Create a script:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/lesson-11&amp;quot;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/lesson-11&amp;quot;&lt;br /&gt;
nano hello.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Hello, $USER&amp;quot;&lt;br /&gt;
echo &amp;quot;Your home directory is $HOME&amp;quot;&lt;br /&gt;
echo &amp;quot;Today is $(date +%F)&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save, then run it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x hello.sh&lt;br /&gt;
./hello.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The first line is the &#039;&#039;&#039;shebang&#039;&#039;&#039;. It tells Linux to run the file with Bash. &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; means “the file in the current directory.”&lt;br /&gt;
&lt;br /&gt;
You can also run a script without execute permission by explicitly starting Bash:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
bash hello.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 11.2 Variables and arguments ==&lt;br /&gt;
&lt;br /&gt;
Create &amp;lt;code&amp;gt;greet.sh&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
name=&amp;quot;$1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -z &amp;quot;$name&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 NAME&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Welcome to DWShells, $name!&amp;quot;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x greet.sh&lt;br /&gt;
./greet.sh&lt;br /&gt;
./greet.sh &amp;quot;New Learner&amp;quot;&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; — the script name.&lt;br /&gt;
* &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; — the first argument.&lt;br /&gt;
* &amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; — true when a string is empty.&lt;br /&gt;
* &amp;lt;code&amp;gt;&amp;amp;gt;&amp;amp;amp;2&amp;lt;/code&amp;gt; — send the usage message to standard error.&lt;br /&gt;
* &amp;lt;code&amp;gt;exit 0&amp;lt;/code&amp;gt; — success; &amp;lt;code&amp;gt;exit 1&amp;lt;/code&amp;gt; — failure.&lt;br /&gt;
&lt;br /&gt;
== 11.3 Tests ==&lt;br /&gt;
&lt;br /&gt;
Common safe tests:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Test&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -f &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| A regular file exists.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -d &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| A directory exists.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -r &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The path is readable.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ -w &amp;quot;$path&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The path is writable.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ &amp;quot;$a&amp;quot; = &amp;quot;$b&amp;quot; ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| Two strings are equal.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;[ &amp;quot;$number&amp;quot; -gt 10 ]&amp;lt;/code&amp;gt;&lt;br /&gt;
| The integer is greater than 10.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Spaces after &amp;lt;code&amp;gt;[&amp;lt;/code&amp;gt; and before &amp;lt;code&amp;gt;]&amp;lt;/code&amp;gt; are required.&lt;br /&gt;
&lt;br /&gt;
== 11.4 Loops ==&lt;br /&gt;
&lt;br /&gt;
Create three files and report their line counts:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;one&amp;quot; &amp;gt; one.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;gt; two.txt&lt;br /&gt;
printf &#039;%s\n&#039; &amp;quot;one&amp;quot; &amp;quot;two&amp;quot; &amp;quot;three&amp;quot; &amp;gt; three.txt&lt;br /&gt;
&lt;br /&gt;
for file in *.txt; do&lt;br /&gt;
    printf &#039;%s: &#039; &amp;quot;$file&amp;quot;&lt;br /&gt;
    wc -l &amp;lt; &amp;quot;$file&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because &amp;lt;code&amp;gt;&amp;quot;$file&amp;quot;&amp;lt;/code&amp;gt; is quoted, names containing spaces are handled safely.&lt;br /&gt;
&lt;br /&gt;
== 11.5 A practical system report ==&lt;br /&gt;
&lt;br /&gt;
Create &amp;lt;code&amp;gt;system-report.sh&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
set -u&lt;br /&gt;
&lt;br /&gt;
output=&amp;quot;$HOME/linux-course/system-report.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;DWShells learner system report&amp;quot;&lt;br /&gt;
    echo &amp;quot;Generated: $(date --iso-8601=seconds)&amp;quot;&lt;br /&gt;
    echo &amp;quot;User: $USER&amp;quot;&lt;br /&gt;
    echo &amp;quot;Host: $(hostname)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Kernel: $(uname -r)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Architecture: $(uname -m)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Home: $HOME&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Course directory size:&amp;quot;&lt;br /&gt;
    du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Home filesystem:&amp;quot;&lt;br /&gt;
    df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
} &amp;gt; &amp;quot;$output&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod 600 &amp;quot;$output&amp;quot;&lt;br /&gt;
echo &amp;quot;Report written to $output&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Run and inspect:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod u+x system-report.sh&lt;br /&gt;
bash -n system-report.sh&lt;br /&gt;
./system-report.sh&lt;br /&gt;
less &amp;quot;$HOME/linux-course/system-report.txt&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt; checks Bash syntax without running the script. It cannot detect every logical problem, so still review the code.&lt;br /&gt;
&lt;br /&gt;
== 11.6 Script safety habits ==&lt;br /&gt;
&lt;br /&gt;
* Quote variables: &amp;lt;code&amp;gt;&amp;quot;$file&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;quot;$1&amp;quot;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Validate required arguments and paths.&lt;br /&gt;
* Use absolute paths or known directories for important data.&lt;br /&gt;
* Do not put passwords, tokens, or private keys inside scripts.&lt;br /&gt;
* Avoid recursive deletion in early scripts.&lt;br /&gt;
* Check exit statuses when failure matters.&lt;br /&gt;
* Run &amp;lt;code&amp;gt;bash -n script.sh&amp;lt;/code&amp;gt; before the first execution.&lt;br /&gt;
* Read every downloaded script before running it.&lt;br /&gt;
&lt;br /&gt;
== Lesson 11 lab ==&lt;br /&gt;
&lt;br /&gt;
# Create an executable script named &amp;lt;code&amp;gt;course-summary.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Make it print the current user, date, working directory, Debian version, and course-directory size.&lt;br /&gt;
# Accept one argument as the learner&#039;s display name.&lt;br /&gt;
# If no name is supplied, print a usage message to standard error and exit non-zero.&lt;br /&gt;
# Write the report to &amp;lt;code&amp;gt;$HOME/linux-course/summary.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Set the report to permission &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check the script with &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;, run it, and inspect the result.&lt;br /&gt;
&lt;br /&gt;
== Lesson 11 review ==&lt;br /&gt;
&lt;br /&gt;
# What is a shebang?&lt;br /&gt;
# Why is &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; used to run a script in the current directory?&lt;br /&gt;
# What do &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; represent?&lt;br /&gt;
# What exit status normally means success?&lt;br /&gt;
# Why should variables containing paths be quoted?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 12 — Secure your account and complete the final project =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Goal:&#039;&#039;&#039; Use SSH keys safely, recognize risky behavior, follow shared-server rules, and demonstrate the skills learned.&lt;br /&gt;
&lt;br /&gt;
== 12.1 Account security ==&lt;br /&gt;
&lt;br /&gt;
* Use a unique, long password that you do not use on another website.&lt;br /&gt;
* Never share your DWShells account.&lt;br /&gt;
* Do not send passwords or private keys through IRC, email, screenshots, or paste sites.&lt;br /&gt;
* Check the hostname and SSH host-key warning before entering credentials.&lt;br /&gt;
* Log out from computers you do not control.&lt;br /&gt;
* Keep your local computer and SSH client updated.&lt;br /&gt;
* Report unexpected logins, altered files, or host-key changes to DWShells staff.&lt;br /&gt;
&lt;br /&gt;
Change your password, if the service permits:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
passwd&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The command asks for the current password and then the new password twice. None of them are displayed.&lt;br /&gt;
&lt;br /&gt;
== 12.2 SSH keys ==&lt;br /&gt;
&lt;br /&gt;
Generate a modern key on &#039;&#039;&#039;your local computer&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -a 64&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Choose a strong passphrase. The private key stays on your computer. The public key, usually ending in &amp;lt;code&amp;gt;.pub&amp;lt;/code&amp;gt;, may be added to the server.&lt;br /&gt;
&lt;br /&gt;
If supported:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
ssh-copy-id USERNAME@shells.darkworld.network&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Or copy the single public-key line into:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$HOME/.ssh/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then secure the paths:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
chmod 700 &amp;quot;$HOME/.ssh&amp;quot;&lt;br /&gt;
chmod 600 &amp;quot;$HOME/.ssh/authorized_keys&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Never upload or share the private-key file.&#039;&#039;&#039; Public keys may be shared for access setup; private keys must remain private.&lt;br /&gt;
&lt;br /&gt;
== 12.3 Recognize dangerous command patterns ==&lt;br /&gt;
&lt;br /&gt;
Pause and investigate commands that:&lt;br /&gt;
&lt;br /&gt;
* download something and immediately pipe it into &amp;lt;code&amp;gt;sh&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;;&lt;br /&gt;
* use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;, or request administrator credentials;&lt;br /&gt;
* contain broad recursive deletion;&lt;br /&gt;
* change many permissions to &amp;lt;code&amp;gt;777&amp;lt;/code&amp;gt;;&lt;br /&gt;
* hide output and errors while making system changes;&lt;br /&gt;
* use encoded or deliberately unreadable text;&lt;br /&gt;
* ask for your password, token, cookie, private key, or wallet;&lt;br /&gt;
* start scanners, miners, proxies, spam, denial-of-service tools, or unexplained background programs.&lt;br /&gt;
&lt;br /&gt;
A command being popular online does not make it safe for a shared server.&lt;br /&gt;
&lt;br /&gt;
== 12.4 Shared-shell responsibility ==&lt;br /&gt;
&lt;br /&gt;
Follow the current DWShells Acceptable Use Policy and the limits of your free or support account. At minimum:&lt;br /&gt;
&lt;br /&gt;
* Use only resources assigned to your account.&lt;br /&gt;
* Do not try to read, modify, or enter another user&#039;s private data.&lt;br /&gt;
* Do not evade quotas, restrictions, monitoring, or network controls.&lt;br /&gt;
* Do not scan, attack, exploit, spam, phish, mine cryptocurrency, or host prohibited content.&lt;br /&gt;
* Do not expose public services without approval.&lt;br /&gt;
* Keep permissions restrictive and remove abandoned data and processes.&lt;br /&gt;
* Contact staff before an experiment that may create unusual resource or network use.&lt;br /&gt;
&lt;br /&gt;
Technical ability is not permission. If a command works but policy does not allow it, do not use it.&lt;br /&gt;
&lt;br /&gt;
== Lesson 12 lab — Final project: Learner system report package ==&lt;br /&gt;
&lt;br /&gt;
Build a safe project that demonstrates the course.&lt;br /&gt;
&lt;br /&gt;
=== Required structure ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
linux-final/&lt;br /&gt;
├── README.txt&lt;br /&gt;
├── bin/&lt;br /&gt;
│   └── learner-report.sh&lt;br /&gt;
├── output/&lt;br /&gt;
│   └── learner-report.txt&lt;br /&gt;
└── notes/&lt;br /&gt;
    └── commands.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Requirements ===&lt;br /&gt;
&lt;br /&gt;
# Create the structure inside &amp;lt;code&amp;gt;$HOME/linux-course/linux-final&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Write &amp;lt;code&amp;gt;README.txt&amp;lt;/code&amp;gt; explaining the project&#039;s purpose and how to run it.&lt;br /&gt;
# Write &amp;lt;code&amp;gt;notes/commands.txt&amp;lt;/code&amp;gt; containing ten useful commands from this course and a one-line explanation of each.&lt;br /&gt;
# Write &amp;lt;code&amp;gt;bin/learner-report.sh&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The script must accept the learner&#039;s display name as its first argument.&lt;br /&gt;
# When the argument is missing, it must show usage and exit non-zero.&lt;br /&gt;
# The report must include:&lt;br /&gt;
## learner display name;&lt;br /&gt;
## DWShells username;&lt;br /&gt;
## hostname;&lt;br /&gt;
## current date in ISO format;&lt;br /&gt;
## Debian version;&lt;br /&gt;
## kernel release and architecture;&lt;br /&gt;
## home directory;&lt;br /&gt;
## course-directory disk usage;&lt;br /&gt;
## home-filesystem free space.&lt;br /&gt;
# The script must write &amp;lt;code&amp;gt;output/learner-report.txt&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The script must quote variables and must not use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt;, broad searches, or destructive commands.&lt;br /&gt;
# Set the script to &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; and its report to &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Check it using &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Run it twice to prove it can safely replace its own report.&lt;br /&gt;
# Create &amp;lt;code&amp;gt;$HOME/linux-course/linux-final.tar.gz&amp;lt;/code&amp;gt;.&lt;br /&gt;
# List the archive content and extract it into a separate test directory.&lt;br /&gt;
# Confirm that the restored project contains all required files.&lt;br /&gt;
&lt;br /&gt;
=== Suggested commands to begin ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mkdir -p &amp;quot;$HOME/linux-course/linux-final&amp;quot;/{bin,output,notes}&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
touch README.txt notes/commands.txt&lt;br /&gt;
nano bin/learner-report.sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The brace expression creates the three directories under the same parent. If you prefer, create each one with a separate &amp;lt;code&amp;gt;mkdir&amp;lt;/code&amp;gt; command.&lt;br /&gt;
&lt;br /&gt;
=== Self-check ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
find . -maxdepth 3 -print | sort&lt;br /&gt;
ls -l bin/learner-report.sh output/learner-report.txt&lt;br /&gt;
bash -n bin/learner-report.sh&lt;br /&gt;
bin/learner-report.sh &amp;quot;Your Display Name&amp;quot;&lt;br /&gt;
cat output/learner-report.txt&lt;br /&gt;
cd &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
tar -czf linux-final.tar.gz linux-final/&lt;br /&gt;
tar -tzf linux-final.tar.gz&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Lesson 12 review ==&lt;br /&gt;
&lt;br /&gt;
# Where should an SSH private key be stored and who may receive it?&lt;br /&gt;
# What permissions are recommended for &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;authorized_keys&amp;lt;/code&amp;gt;?&lt;br /&gt;
# Why is piping a new download directly to Bash risky?&lt;br /&gt;
# Does technical access automatically grant permission?&lt;br /&gt;
# What should you do when a planned activity may create unusual server load?&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Command cheat sheet =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Task&lt;br /&gt;
! Command example&lt;br /&gt;
|-&lt;br /&gt;
| Show current directory&lt;br /&gt;
| &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| List all files in detail&lt;br /&gt;
| &amp;lt;code&amp;gt;ls -lah&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Return home&lt;br /&gt;
| &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Create nested directories&lt;br /&gt;
| &amp;lt;code&amp;gt;mkdir -p project/docs&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Create an empty file&lt;br /&gt;
| &amp;lt;code&amp;gt;touch notes.txt&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Copy a file safely&lt;br /&gt;
| &amp;lt;code&amp;gt;cp -i source destination&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Move or rename safely&lt;br /&gt;
| &amp;lt;code&amp;gt;mv -i old new&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Remove with confirmation&lt;br /&gt;
| &amp;lt;code&amp;gt;rm -i file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Read a long text file&lt;br /&gt;
| &amp;lt;code&amp;gt;less file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Edit a text file&lt;br /&gt;
| &amp;lt;code&amp;gt;nano file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Search text&lt;br /&gt;
| &amp;lt;code&amp;gt;grep -in &amp;quot;word&amp;quot; file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Find files in your home&lt;br /&gt;
| &amp;lt;code&amp;gt;find &amp;quot;$HOME&amp;quot; -type f -name &amp;quot;*.txt&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Count lines&lt;br /&gt;
| &amp;lt;code&amp;gt;wc -l file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| View permissions&lt;br /&gt;
| &amp;lt;code&amp;gt;ls -l file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Protect a private file&lt;br /&gt;
| &amp;lt;code&amp;gt;chmod 600 file&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Make your script executable&lt;br /&gt;
| &amp;lt;code&amp;gt;chmod u+x script.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Show your processes&lt;br /&gt;
| &amp;lt;code&amp;gt;ps -f -u &amp;quot;$USER&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Stop your process gracefully&lt;br /&gt;
| &amp;lt;code&amp;gt;kill PID&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Measure a directory&lt;br /&gt;
| &amp;lt;code&amp;gt;du -sh directory&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Check filesystem space&lt;br /&gt;
| &amp;lt;code&amp;gt;df -h &amp;quot;$HOME&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Create a compressed archive&lt;br /&gt;
| &amp;lt;code&amp;gt;tar -czf backup.tar.gz directory/&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| List an archive&lt;br /&gt;
| &amp;lt;code&amp;gt;tar -tzf backup.tar.gz&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Check Bash syntax&lt;br /&gt;
| &amp;lt;code&amp;gt;bash -n script.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Log out&lt;br /&gt;
| &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Beginner glossary =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Term&lt;br /&gt;
! Meaning&lt;br /&gt;
|-&lt;br /&gt;
| Argument&lt;br /&gt;
| The target or value supplied to a command.&lt;br /&gt;
|-&lt;br /&gt;
| Bash&lt;br /&gt;
| A common command shell and scripting language.&lt;br /&gt;
|-&lt;br /&gt;
| Command&lt;br /&gt;
| An instruction executed by the shell.&lt;br /&gt;
|-&lt;br /&gt;
| Current directory&lt;br /&gt;
| The directory in which your shell is presently working.&lt;br /&gt;
|-&lt;br /&gt;
| Debian&lt;br /&gt;
| The Linux distribution used by DWShells.&lt;br /&gt;
|-&lt;br /&gt;
| Directory&lt;br /&gt;
| A container for files and other directories.&lt;br /&gt;
|-&lt;br /&gt;
| Environment variable&lt;br /&gt;
| A named value, such as &amp;lt;code&amp;gt;HOME&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;, available to programs.&lt;br /&gt;
|-&lt;br /&gt;
| Exit status&lt;br /&gt;
| A numeric result from a command; zero normally means success.&lt;br /&gt;
|-&lt;br /&gt;
| Filesystem&lt;br /&gt;
| The organized tree of files and directories beginning at &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Home directory&lt;br /&gt;
| A user&#039;s personal workspace, represented by &amp;lt;code&amp;gt;~&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Option&lt;br /&gt;
| A switch that changes command behavior, such as &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
| Path&lt;br /&gt;
| A file or directory location.&lt;br /&gt;
|-&lt;br /&gt;
| Permission&lt;br /&gt;
| A rule controlling read, write, or execute access.&lt;br /&gt;
|-&lt;br /&gt;
| PID&lt;br /&gt;
| Process ID: the unique numeric identifier of a running process.&lt;br /&gt;
|-&lt;br /&gt;
| Pipe&lt;br /&gt;
| The &amp;lt;code&amp;gt;|&amp;lt;/code&amp;gt; operator that sends one command&#039;s output to another command.&lt;br /&gt;
|-&lt;br /&gt;
| Process&lt;br /&gt;
| A running instance of a program.&lt;br /&gt;
|-&lt;br /&gt;
| Prompt&lt;br /&gt;
| The shell&#039;s signal that it is ready for a command.&lt;br /&gt;
|-&lt;br /&gt;
| root directory&lt;br /&gt;
| &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;, the top of the filesystem tree.&lt;br /&gt;
|-&lt;br /&gt;
| root user&lt;br /&gt;
| The system administrator account; different from the root directory.&lt;br /&gt;
|-&lt;br /&gt;
| Shell&lt;br /&gt;
| A program that reads commands and starts programs.&lt;br /&gt;
|-&lt;br /&gt;
| SSH&lt;br /&gt;
| An encrypted protocol for secure remote shell access.&lt;br /&gt;
|-&lt;br /&gt;
| Standard error&lt;br /&gt;
| A stream used for diagnostic and error messages.&lt;br /&gt;
|-&lt;br /&gt;
| Standard input&lt;br /&gt;
| A stream from which a command reads data.&lt;br /&gt;
|-&lt;br /&gt;
| Standard output&lt;br /&gt;
| A stream to which a command writes normal results.&lt;br /&gt;
|-&lt;br /&gt;
| Terminal&lt;br /&gt;
| The application or interface used to interact with a shell.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Where to go next =&lt;br /&gt;
&lt;br /&gt;
After completing the final project, good next topics are:&lt;br /&gt;
&lt;br /&gt;
* Intermediate Bash scripting and error handling.&lt;br /&gt;
* Git version control.&lt;br /&gt;
* Text processing with &amp;lt;code&amp;gt;sed&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;awk&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Secure use of SSH keys and agents.&lt;br /&gt;
* Linux networking fundamentals.&lt;br /&gt;
* System administration in a dedicated lab virtual machine where you are authorized to use &amp;lt;code&amp;gt;sudo&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Practise administration in your own disposable virtual machine, not in a shared DWShells account. Keep using &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;, small tests, restrictive permissions, and verified backups.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Course complete — welcome to the Linux command line!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DWTutorials Linux Basics for Beginners — © 2026 DarkWorld Network. All rights reserved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:DWTutorials]]&lt;br /&gt;
[[Category:DWShells]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Debian]]&lt;br /&gt;
[[Category:Beginner courses]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners/Answer_Key&amp;diff=375</id>
		<title>DWTutorials:Linux Basics for Beginners/Answer Key</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners/Answer_Key&amp;diff=375"/>
		<updated>2026-07-21T21:21:47Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DWTutorials Linux Basics — Instructor Answer Key}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= Instructor Answer Key =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For DWShells staff and course mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page supports the student course [[DWTutorials:Linux Basics for Beginners]]. Protect it if you do not want learners to see suggested answers before completing their work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Copyright:&#039;&#039;&#039; © 2026 DarkWorld Network. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
== Assessment model ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Component&lt;br /&gt;
! Weight&lt;br /&gt;
! Evidence&lt;br /&gt;
|-&lt;br /&gt;
| Lesson review questions&lt;br /&gt;
| 30%&lt;br /&gt;
| Accurate explanations in the learner&#039;s own words&lt;br /&gt;
|-&lt;br /&gt;
| Hands-on labs&lt;br /&gt;
| 40%&lt;br /&gt;
| Correct files, command output, permissions, and safe working habits&lt;br /&gt;
|-&lt;br /&gt;
| Final project&lt;br /&gt;
| 30%&lt;br /&gt;
| Script, report, documentation, permissions, archive, and restore test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Suggested pass mark: &#039;&#039;&#039;70%&#039;&#039;&#039;. Safety violations should be corrected before the learner passes, even if the numeric score is high.&lt;br /&gt;
&lt;br /&gt;
Accept equivalent commands when they are safe and produce the required outcome. Do not require output to match usernames, paths, dates, process IDs, hostnames, package versions, or file sizes shown in the course.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 1 answers =&lt;br /&gt;
&lt;br /&gt;
# A &#039;&#039;&#039;terminal&#039;&#039;&#039; is the interface/application used to enter commands; a &#039;&#039;&#039;shell&#039;&#039;&#039; is the program that interprets those commands.&lt;br /&gt;
# SSH (Secure Shell).&lt;br /&gt;
# Linux deliberately does not echo password characters, reducing information visible to someone watching.&lt;br /&gt;
# &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Ctrl+C.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; Learner can connect, identify the current user and host, print the requested sentence, recall history with the Up arrow, log out with &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, and reconnect.&lt;br /&gt;
&lt;br /&gt;
= Lesson 2 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; is the top of the filesystem; &amp;lt;code&amp;gt;/root&amp;lt;/code&amp;gt; is normally the root administrator&#039;s home directory.&lt;br /&gt;
# The current user&#039;s home directory.&lt;br /&gt;
# &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Absolute, because it begins with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; is the current directory; &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; is its parent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; Ask the learner to move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;, report &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, return home, and explain why &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt; may produce a different location than &amp;lt;code&amp;gt;cd ..&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Lesson 3 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;cp -r SOURCE DESTINATION&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt;.&lt;br /&gt;
# It asks before removal and helps prevent an accidental deletion.&lt;br /&gt;
# Non-hidden names ending in &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; in the selected directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected lab structure:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lesson-03/&lt;br /&gt;
├── activity.log&lt;br /&gt;
├── one.txt&lt;br /&gt;
└── practice/&lt;br /&gt;
    ├── archive/&lt;br /&gt;
    │   └── activity.log&lt;br /&gt;
    ├── one.txt&lt;br /&gt;
    └── two.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top-level &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt; should have been removed. Extra files from earlier examples are acceptable.&lt;br /&gt;
&lt;br /&gt;
= Lesson 4 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt; is better for long content because it supports paging and searching.&lt;br /&gt;
# &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Ctrl+O.&lt;br /&gt;
# &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; displays the beginning; &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt; displays the end.&lt;br /&gt;
# The compared files are identical.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; &amp;lt;code&amp;gt;profile.txt&amp;lt;/code&amp;gt; contains the requested content. The learner can save and exit Nano, select first/last lines, count lines, and explain the &amp;lt;code&amp;gt;diff -u&amp;lt;/code&amp;gt; result.&lt;br /&gt;
&lt;br /&gt;
= Lesson 5 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;man COMMAND&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Whether a command exists and what executable, builtin, function, or alias the shell will use.&lt;br /&gt;
# They may be saved in history and exposed later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner identifies &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt;, understands that &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; is a shell builtin, and uses &amp;lt;code&amp;gt;history | tail -n 10&amp;lt;/code&amp;gt; or an equivalent safe command.&lt;br /&gt;
&lt;br /&gt;
= Lesson 6 answers =&lt;br /&gt;
&lt;br /&gt;
# Owner, group, and others.&lt;br /&gt;
# 5: read (4) plus execute (1).&lt;br /&gt;
# It permits traversal/entry and access to known names, subject to other directory permissions.&lt;br /&gt;
# &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt;.&lt;br /&gt;
# It grants read, write, and execute permissions to everyone, allowing unauthorized modification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected permissions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw------- private.txt&lt;br /&gt;
-rw-r----- shared.txt&lt;br /&gt;
drwx------ private-dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The learner should demonstrate the difference between &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -ld&amp;lt;/code&amp;gt; for a directory.&lt;br /&gt;
&lt;br /&gt;
= Lesson 7 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; replaces/truncates; &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; appends.&lt;br /&gt;
# 2.&lt;br /&gt;
# It connects one command&#039;s standard output to the next command&#039;s standard input.&lt;br /&gt;
# &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt; normally recognizes only adjacent duplicates, so sorting brings equal lines together.&lt;br /&gt;
# Success.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner can use &amp;lt;code&amp;gt;grep -i&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wc -l&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2&amp;gt;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt;, and can explain where normal and error output went.&lt;br /&gt;
&lt;br /&gt;
= Lesson 8 answers =&lt;br /&gt;
&lt;br /&gt;
# To avoid slow, resource-intensive traversal and irrelevant permission errors.&lt;br /&gt;
# &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; ignores case; &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; inverts the match.&lt;br /&gt;
# No.&lt;br /&gt;
# To preserve the entire value as one argument and prevent wildcard expansion or word splitting.&lt;br /&gt;
# It runs &amp;lt;code&amp;gt;date +%F&amp;lt;/code&amp;gt; and substitutes its YYYY-MM-DD output.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner creates and accesses a filename containing a space without accidental splitting, and uses a quoted variable correctly.&lt;br /&gt;
&lt;br /&gt;
= Lesson 9 answers =&lt;br /&gt;
&lt;br /&gt;
# Process ID.&lt;br /&gt;
# &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; shows jobs associated with the current shell; &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt; queries system processes according to its options.&lt;br /&gt;
# SIGTERM.&lt;br /&gt;
# It prevents the process from cleaning up files, locks, and state.&lt;br /&gt;
# The server is shared, resource limits protect everyone, and technical availability is not authorization.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; No practice &amp;lt;code&amp;gt;sleep&amp;lt;/code&amp;gt; process should remain. The learner must verify ownership and PID before sending a signal.&lt;br /&gt;
&lt;br /&gt;
= Lesson 10 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; reports filesystem capacity; &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt; estimates space used by files/directories.&lt;br /&gt;
# ICMP may be filtered even while the destination and other services are available.&lt;br /&gt;
# &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The archive lists and extracts successfully into a separate directory. The original data remains unchanged. If SCP cannot be tested, the learner should still explain local and remote sides correctly.&lt;br /&gt;
&lt;br /&gt;
= Lesson 11 answers =&lt;br /&gt;
&lt;br /&gt;
# The first line that selects the script interpreter, such as &amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The current directory is not normally searched through &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; names the path explicitly.&lt;br /&gt;
# &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; is the script name and &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; is the first argument.&lt;br /&gt;
# 0.&lt;br /&gt;
# To preserve spaces and prevent unintended splitting or wildcard expansion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; &amp;lt;code&amp;gt;course-summary.sh&amp;lt;/code&amp;gt; passes &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;, rejects a missing name with a non-zero exit status, writes the required fields, and sets the output to &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Lesson 12 answers =&lt;br /&gt;
&lt;br /&gt;
# The private key stays on the learner&#039;s local device and is never shared. Only the public key is installed on the server or sent to authorized staff.&lt;br /&gt;
# &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;authorized_keys&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The downloaded content runs before the learner has inspected or verified it.&lt;br /&gt;
# No. Technical access is not authorization.&lt;br /&gt;
# Stop and ask DWShells staff before proceeding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner can explain host-key checking, password/key privacy, safe permissions, shared-resource responsibility, and why policy applies even to technically possible actions.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Final project reference implementation =&lt;br /&gt;
&lt;br /&gt;
This is one valid implementation of &amp;lt;code&amp;gt;bin/learner-report.sh&amp;lt;/code&amp;gt;. Learners may organize their code differently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
set -u&lt;br /&gt;
umask 077&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$#&amp;quot; -ne 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 DISPLAY_NAME&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
display_name=&amp;quot;$1&amp;quot;&lt;br /&gt;
script_dir=&amp;quot;$(cd -- &amp;quot;$(dirname -- &amp;quot;$0&amp;quot;)&amp;quot; &amp;amp;&amp;amp; pwd)&amp;quot;&lt;br /&gt;
project_dir=&amp;quot;$(dirname -- &amp;quot;$script_dir&amp;quot;)&amp;quot;&lt;br /&gt;
output_dir=&amp;quot;$project_dir/output&amp;quot;&lt;br /&gt;
output=&amp;quot;$output_dir/learner-report.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mkdir -p &amp;quot;$output_dir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -r /etc/os-release ]; then&lt;br /&gt;
    debian_version=&amp;quot;$(. /etc/os-release; printf &#039;%s&#039; &amp;quot;$PRETTY_NAME&amp;quot;)&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    debian_version=&amp;quot;Unknown&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;DWShells Linux learner report&amp;quot;&lt;br /&gt;
    echo &amp;quot;Learner: $display_name&amp;quot;&lt;br /&gt;
    echo &amp;quot;Username: $USER&amp;quot;&lt;br /&gt;
    echo &amp;quot;Hostname: $(hostname)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Generated: $(date --iso-8601=seconds)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Debian: $debian_version&amp;quot;&lt;br /&gt;
    echo &amp;quot;Kernel: $(uname -r)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Architecture: $(uname -m)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Home: $HOME&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Linux course usage:&amp;quot;&lt;br /&gt;
    du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Home filesystem:&amp;quot;&lt;br /&gt;
    df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
} &amp;gt; &amp;quot;$output&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod 600 &amp;quot;$output&amp;quot;&lt;br /&gt;
echo &amp;quot;Report written to $output&amp;quot;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suggested checks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
bash -n bin/learner-report.sh&lt;br /&gt;
bin/learner-report.sh&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
bin/learner-report.sh &amp;quot;Test Learner&amp;quot;&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
stat -c &#039;%a %n&#039; bin/learner-report.sh output/learner-report.txt&lt;br /&gt;
cat output/learner-report.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected permissions are &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; for the script and &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt; for the report. A missing name should produce a non-zero status; a successful run should produce status zero.&lt;br /&gt;
&lt;br /&gt;
== Final project rubric ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Area&lt;br /&gt;
! Points&lt;br /&gt;
! Full-credit standard&lt;br /&gt;
|-&lt;br /&gt;
| Required directory structure&lt;br /&gt;
| 3&lt;br /&gt;
| All required directories and files exist in the correct locations.&lt;br /&gt;
|-&lt;br /&gt;
| README&lt;br /&gt;
| 3&lt;br /&gt;
| Clearly explains purpose, requirements, command syntax, and output.&lt;br /&gt;
|-&lt;br /&gt;
| Command notes&lt;br /&gt;
| 3&lt;br /&gt;
| Ten correct commands with clear one-line explanations.&lt;br /&gt;
|-&lt;br /&gt;
| Argument validation&lt;br /&gt;
| 3&lt;br /&gt;
| Missing display name produces usage on stderr and exits non-zero.&lt;br /&gt;
|-&lt;br /&gt;
| Report content&lt;br /&gt;
| 6&lt;br /&gt;
| All nine required fields are present and accurate.&lt;br /&gt;
|-&lt;br /&gt;
| Quoting and safe paths&lt;br /&gt;
| 3&lt;br /&gt;
| Variables are quoted; script works regardless of the caller&#039;s current directory.&lt;br /&gt;
|-&lt;br /&gt;
| Permissions&lt;br /&gt;
| 2&lt;br /&gt;
| Script is 700 and report is 600.&lt;br /&gt;
|-&lt;br /&gt;
| Syntax and repeatability&lt;br /&gt;
| 2&lt;br /&gt;
| Passes &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt; and runs twice without unsafe side effects.&lt;br /&gt;
|-&lt;br /&gt;
| Archive and restore&lt;br /&gt;
| 3&lt;br /&gt;
| Archive lists correctly and restores all files into a separate test location.&lt;br /&gt;
|-&lt;br /&gt;
| Security and policy&lt;br /&gt;
| 2&lt;br /&gt;
| No secrets, privilege escalation, broad searches, destructive operations, or prohibited activity.&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 30&lt;br /&gt;
! Suggested pass for this component: 21/30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Common deductions and coaching ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Issue&lt;br /&gt;
! Coaching response&lt;br /&gt;
|-&lt;br /&gt;
| Learner typed the example &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; prompt.&lt;br /&gt;
| Re-explain prompt versus command; have them retry.&lt;br /&gt;
|-&lt;br /&gt;
| Paths or variables are unquoted.&lt;br /&gt;
| Test with a display name or path containing a space and explain word splitting.&lt;br /&gt;
|-&lt;br /&gt;
| Learner used &amp;lt;code&amp;gt;chmod 777&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Ask which identities need each permission, then choose the minimum required mode.&lt;br /&gt;
|-&lt;br /&gt;
| Learner used SIGKILL first.&lt;br /&gt;
| Practise SIGTERM, wait, recheck, and reserve SIGKILL for a verified last resort.&lt;br /&gt;
|-&lt;br /&gt;
| Learner searched from &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Stop the command and narrow the starting path to &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; or the project.&lt;br /&gt;
|-&lt;br /&gt;
| Learner copied a command without understanding it.&lt;br /&gt;
| Ask them to explain every program, option, argument, redirection, and expansion before rerunning.&lt;br /&gt;
|-&lt;br /&gt;
| Report exposes secrets.&lt;br /&gt;
| Remove the data, rotate any exposed credential, correct the script, and explain secure secret handling.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pre-publication staff checklist ==&lt;br /&gt;
&lt;br /&gt;
Before each course intake:&lt;br /&gt;
&lt;br /&gt;
# Confirm the current SSH hostname and port.&lt;br /&gt;
# Publish or provide the current SSH host-key fingerprint through a trusted channel.&lt;br /&gt;
# Confirm which account home layouts are active, such as &amp;lt;code&amp;gt;/home/free/USER&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/home/support/USER&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Test command availability: &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;getent&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;quota&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Mark unavailable optional commands in the student page.&lt;br /&gt;
# Link the current DWShells Acceptable Use Policy and support channel.&lt;br /&gt;
# Verify storage, process, CPU, memory, and network limits.&lt;br /&gt;
# Test every lab using an ordinary free account and an ordinary support account—not root.&lt;br /&gt;
# Confirm that home-directory permissions prevent cross-user data exposure.&lt;br /&gt;
# Confirm that the answer-key page is protected as intended.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DWTutorials Linux Basics Instructor Answer Key — © 2026 DarkWorld Network. All rights reserved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:DWShells]]&lt;br /&gt;
[[Category:Linux course administration]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners/Answer_Key&amp;diff=374</id>
		<title>DWTutorials:Linux Basics for Beginners/Answer Key</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners/Answer_Key&amp;diff=374"/>
		<updated>2026-07-21T21:21:26Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DWTutorials Linux Basics — Instructor Answer Key}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= Instructor Answer Key =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For DWShells staff and course mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page supports the student course [[DISPLAYTITLE:DWTutorials:Linux Basics for Beginners]]. Protect it if you do not want learners to see suggested answers before completing their work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Copyright:&#039;&#039;&#039; © 2026 DarkWorld Network. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
== Assessment model ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Component&lt;br /&gt;
! Weight&lt;br /&gt;
! Evidence&lt;br /&gt;
|-&lt;br /&gt;
| Lesson review questions&lt;br /&gt;
| 30%&lt;br /&gt;
| Accurate explanations in the learner&#039;s own words&lt;br /&gt;
|-&lt;br /&gt;
| Hands-on labs&lt;br /&gt;
| 40%&lt;br /&gt;
| Correct files, command output, permissions, and safe working habits&lt;br /&gt;
|-&lt;br /&gt;
| Final project&lt;br /&gt;
| 30%&lt;br /&gt;
| Script, report, documentation, permissions, archive, and restore test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Suggested pass mark: &#039;&#039;&#039;70%&#039;&#039;&#039;. Safety violations should be corrected before the learner passes, even if the numeric score is high.&lt;br /&gt;
&lt;br /&gt;
Accept equivalent commands when they are safe and produce the required outcome. Do not require output to match usernames, paths, dates, process IDs, hostnames, package versions, or file sizes shown in the course.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 1 answers =&lt;br /&gt;
&lt;br /&gt;
# A &#039;&#039;&#039;terminal&#039;&#039;&#039; is the interface/application used to enter commands; a &#039;&#039;&#039;shell&#039;&#039;&#039; is the program that interprets those commands.&lt;br /&gt;
# SSH (Secure Shell).&lt;br /&gt;
# Linux deliberately does not echo password characters, reducing information visible to someone watching.&lt;br /&gt;
# &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Ctrl+C.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; Learner can connect, identify the current user and host, print the requested sentence, recall history with the Up arrow, log out with &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, and reconnect.&lt;br /&gt;
&lt;br /&gt;
= Lesson 2 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; is the top of the filesystem; &amp;lt;code&amp;gt;/root&amp;lt;/code&amp;gt; is normally the root administrator&#039;s home directory.&lt;br /&gt;
# The current user&#039;s home directory.&lt;br /&gt;
# &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Absolute, because it begins with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; is the current directory; &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; is its parent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; Ask the learner to move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;, report &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, return home, and explain why &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt; may produce a different location than &amp;lt;code&amp;gt;cd ..&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Lesson 3 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;cp -r SOURCE DESTINATION&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt;.&lt;br /&gt;
# It asks before removal and helps prevent an accidental deletion.&lt;br /&gt;
# Non-hidden names ending in &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; in the selected directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected lab structure:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lesson-03/&lt;br /&gt;
├── activity.log&lt;br /&gt;
├── one.txt&lt;br /&gt;
└── practice/&lt;br /&gt;
    ├── archive/&lt;br /&gt;
    │   └── activity.log&lt;br /&gt;
    ├── one.txt&lt;br /&gt;
    └── two.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top-level &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt; should have been removed. Extra files from earlier examples are acceptable.&lt;br /&gt;
&lt;br /&gt;
= Lesson 4 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt; is better for long content because it supports paging and searching.&lt;br /&gt;
# &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Ctrl+O.&lt;br /&gt;
# &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; displays the beginning; &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt; displays the end.&lt;br /&gt;
# The compared files are identical.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; &amp;lt;code&amp;gt;profile.txt&amp;lt;/code&amp;gt; contains the requested content. The learner can save and exit Nano, select first/last lines, count lines, and explain the &amp;lt;code&amp;gt;diff -u&amp;lt;/code&amp;gt; result.&lt;br /&gt;
&lt;br /&gt;
= Lesson 5 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;man COMMAND&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Whether a command exists and what executable, builtin, function, or alias the shell will use.&lt;br /&gt;
# They may be saved in history and exposed later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner identifies &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt;, understands that &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; is a shell builtin, and uses &amp;lt;code&amp;gt;history | tail -n 10&amp;lt;/code&amp;gt; or an equivalent safe command.&lt;br /&gt;
&lt;br /&gt;
= Lesson 6 answers =&lt;br /&gt;
&lt;br /&gt;
# Owner, group, and others.&lt;br /&gt;
# 5: read (4) plus execute (1).&lt;br /&gt;
# It permits traversal/entry and access to known names, subject to other directory permissions.&lt;br /&gt;
# &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt;.&lt;br /&gt;
# It grants read, write, and execute permissions to everyone, allowing unauthorized modification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected permissions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw------- private.txt&lt;br /&gt;
-rw-r----- shared.txt&lt;br /&gt;
drwx------ private-dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The learner should demonstrate the difference between &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -ld&amp;lt;/code&amp;gt; for a directory.&lt;br /&gt;
&lt;br /&gt;
= Lesson 7 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; replaces/truncates; &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; appends.&lt;br /&gt;
# 2.&lt;br /&gt;
# It connects one command&#039;s standard output to the next command&#039;s standard input.&lt;br /&gt;
# &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt; normally recognizes only adjacent duplicates, so sorting brings equal lines together.&lt;br /&gt;
# Success.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner can use &amp;lt;code&amp;gt;grep -i&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wc -l&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2&amp;gt;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt;, and can explain where normal and error output went.&lt;br /&gt;
&lt;br /&gt;
= Lesson 8 answers =&lt;br /&gt;
&lt;br /&gt;
# To avoid slow, resource-intensive traversal and irrelevant permission errors.&lt;br /&gt;
# &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; ignores case; &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; inverts the match.&lt;br /&gt;
# No.&lt;br /&gt;
# To preserve the entire value as one argument and prevent wildcard expansion or word splitting.&lt;br /&gt;
# It runs &amp;lt;code&amp;gt;date +%F&amp;lt;/code&amp;gt; and substitutes its YYYY-MM-DD output.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner creates and accesses a filename containing a space without accidental splitting, and uses a quoted variable correctly.&lt;br /&gt;
&lt;br /&gt;
= Lesson 9 answers =&lt;br /&gt;
&lt;br /&gt;
# Process ID.&lt;br /&gt;
# &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; shows jobs associated with the current shell; &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt; queries system processes according to its options.&lt;br /&gt;
# SIGTERM.&lt;br /&gt;
# It prevents the process from cleaning up files, locks, and state.&lt;br /&gt;
# The server is shared, resource limits protect everyone, and technical availability is not authorization.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; No practice &amp;lt;code&amp;gt;sleep&amp;lt;/code&amp;gt; process should remain. The learner must verify ownership and PID before sending a signal.&lt;br /&gt;
&lt;br /&gt;
= Lesson 10 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; reports filesystem capacity; &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt; estimates space used by files/directories.&lt;br /&gt;
# ICMP may be filtered even while the destination and other services are available.&lt;br /&gt;
# &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The archive lists and extracts successfully into a separate directory. The original data remains unchanged. If SCP cannot be tested, the learner should still explain local and remote sides correctly.&lt;br /&gt;
&lt;br /&gt;
= Lesson 11 answers =&lt;br /&gt;
&lt;br /&gt;
# The first line that selects the script interpreter, such as &amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The current directory is not normally searched through &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; names the path explicitly.&lt;br /&gt;
# &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; is the script name and &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; is the first argument.&lt;br /&gt;
# 0.&lt;br /&gt;
# To preserve spaces and prevent unintended splitting or wildcard expansion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; &amp;lt;code&amp;gt;course-summary.sh&amp;lt;/code&amp;gt; passes &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;, rejects a missing name with a non-zero exit status, writes the required fields, and sets the output to &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Lesson 12 answers =&lt;br /&gt;
&lt;br /&gt;
# The private key stays on the learner&#039;s local device and is never shared. Only the public key is installed on the server or sent to authorized staff.&lt;br /&gt;
# &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;authorized_keys&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The downloaded content runs before the learner has inspected or verified it.&lt;br /&gt;
# No. Technical access is not authorization.&lt;br /&gt;
# Stop and ask DWShells staff before proceeding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner can explain host-key checking, password/key privacy, safe permissions, shared-resource responsibility, and why policy applies even to technically possible actions.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Final project reference implementation =&lt;br /&gt;
&lt;br /&gt;
This is one valid implementation of &amp;lt;code&amp;gt;bin/learner-report.sh&amp;lt;/code&amp;gt;. Learners may organize their code differently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
set -u&lt;br /&gt;
umask 077&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$#&amp;quot; -ne 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 DISPLAY_NAME&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
display_name=&amp;quot;$1&amp;quot;&lt;br /&gt;
script_dir=&amp;quot;$(cd -- &amp;quot;$(dirname -- &amp;quot;$0&amp;quot;)&amp;quot; &amp;amp;&amp;amp; pwd)&amp;quot;&lt;br /&gt;
project_dir=&amp;quot;$(dirname -- &amp;quot;$script_dir&amp;quot;)&amp;quot;&lt;br /&gt;
output_dir=&amp;quot;$project_dir/output&amp;quot;&lt;br /&gt;
output=&amp;quot;$output_dir/learner-report.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mkdir -p &amp;quot;$output_dir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -r /etc/os-release ]; then&lt;br /&gt;
    debian_version=&amp;quot;$(. /etc/os-release; printf &#039;%s&#039; &amp;quot;$PRETTY_NAME&amp;quot;)&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    debian_version=&amp;quot;Unknown&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;DWShells Linux learner report&amp;quot;&lt;br /&gt;
    echo &amp;quot;Learner: $display_name&amp;quot;&lt;br /&gt;
    echo &amp;quot;Username: $USER&amp;quot;&lt;br /&gt;
    echo &amp;quot;Hostname: $(hostname)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Generated: $(date --iso-8601=seconds)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Debian: $debian_version&amp;quot;&lt;br /&gt;
    echo &amp;quot;Kernel: $(uname -r)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Architecture: $(uname -m)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Home: $HOME&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Linux course usage:&amp;quot;&lt;br /&gt;
    du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Home filesystem:&amp;quot;&lt;br /&gt;
    df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
} &amp;gt; &amp;quot;$output&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod 600 &amp;quot;$output&amp;quot;&lt;br /&gt;
echo &amp;quot;Report written to $output&amp;quot;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suggested checks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
bash -n bin/learner-report.sh&lt;br /&gt;
bin/learner-report.sh&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
bin/learner-report.sh &amp;quot;Test Learner&amp;quot;&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
stat -c &#039;%a %n&#039; bin/learner-report.sh output/learner-report.txt&lt;br /&gt;
cat output/learner-report.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected permissions are &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; for the script and &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt; for the report. A missing name should produce a non-zero status; a successful run should produce status zero.&lt;br /&gt;
&lt;br /&gt;
== Final project rubric ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Area&lt;br /&gt;
! Points&lt;br /&gt;
! Full-credit standard&lt;br /&gt;
|-&lt;br /&gt;
| Required directory structure&lt;br /&gt;
| 3&lt;br /&gt;
| All required directories and files exist in the correct locations.&lt;br /&gt;
|-&lt;br /&gt;
| README&lt;br /&gt;
| 3&lt;br /&gt;
| Clearly explains purpose, requirements, command syntax, and output.&lt;br /&gt;
|-&lt;br /&gt;
| Command notes&lt;br /&gt;
| 3&lt;br /&gt;
| Ten correct commands with clear one-line explanations.&lt;br /&gt;
|-&lt;br /&gt;
| Argument validation&lt;br /&gt;
| 3&lt;br /&gt;
| Missing display name produces usage on stderr and exits non-zero.&lt;br /&gt;
|-&lt;br /&gt;
| Report content&lt;br /&gt;
| 6&lt;br /&gt;
| All nine required fields are present and accurate.&lt;br /&gt;
|-&lt;br /&gt;
| Quoting and safe paths&lt;br /&gt;
| 3&lt;br /&gt;
| Variables are quoted; script works regardless of the caller&#039;s current directory.&lt;br /&gt;
|-&lt;br /&gt;
| Permissions&lt;br /&gt;
| 2&lt;br /&gt;
| Script is 700 and report is 600.&lt;br /&gt;
|-&lt;br /&gt;
| Syntax and repeatability&lt;br /&gt;
| 2&lt;br /&gt;
| Passes &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt; and runs twice without unsafe side effects.&lt;br /&gt;
|-&lt;br /&gt;
| Archive and restore&lt;br /&gt;
| 3&lt;br /&gt;
| Archive lists correctly and restores all files into a separate test location.&lt;br /&gt;
|-&lt;br /&gt;
| Security and policy&lt;br /&gt;
| 2&lt;br /&gt;
| No secrets, privilege escalation, broad searches, destructive operations, or prohibited activity.&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 30&lt;br /&gt;
! Suggested pass for this component: 21/30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Common deductions and coaching ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Issue&lt;br /&gt;
! Coaching response&lt;br /&gt;
|-&lt;br /&gt;
| Learner typed the example &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; prompt.&lt;br /&gt;
| Re-explain prompt versus command; have them retry.&lt;br /&gt;
|-&lt;br /&gt;
| Paths or variables are unquoted.&lt;br /&gt;
| Test with a display name or path containing a space and explain word splitting.&lt;br /&gt;
|-&lt;br /&gt;
| Learner used &amp;lt;code&amp;gt;chmod 777&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Ask which identities need each permission, then choose the minimum required mode.&lt;br /&gt;
|-&lt;br /&gt;
| Learner used SIGKILL first.&lt;br /&gt;
| Practise SIGTERM, wait, recheck, and reserve SIGKILL for a verified last resort.&lt;br /&gt;
|-&lt;br /&gt;
| Learner searched from &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Stop the command and narrow the starting path to &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; or the project.&lt;br /&gt;
|-&lt;br /&gt;
| Learner copied a command without understanding it.&lt;br /&gt;
| Ask them to explain every program, option, argument, redirection, and expansion before rerunning.&lt;br /&gt;
|-&lt;br /&gt;
| Report exposes secrets.&lt;br /&gt;
| Remove the data, rotate any exposed credential, correct the script, and explain secure secret handling.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pre-publication staff checklist ==&lt;br /&gt;
&lt;br /&gt;
Before each course intake:&lt;br /&gt;
&lt;br /&gt;
# Confirm the current SSH hostname and port.&lt;br /&gt;
# Publish or provide the current SSH host-key fingerprint through a trusted channel.&lt;br /&gt;
# Confirm which account home layouts are active, such as &amp;lt;code&amp;gt;/home/free/USER&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/home/support/USER&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Test command availability: &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;getent&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;quota&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Mark unavailable optional commands in the student page.&lt;br /&gt;
# Link the current DWShells Acceptable Use Policy and support channel.&lt;br /&gt;
# Verify storage, process, CPU, memory, and network limits.&lt;br /&gt;
# Test every lab using an ordinary free account and an ordinary support account—not root.&lt;br /&gt;
# Confirm that home-directory permissions prevent cross-user data exposure.&lt;br /&gt;
# Confirm that the answer-key page is protected as intended.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DWTutorials Linux Basics Instructor Answer Key — © 2026 DarkWorld Network. All rights reserved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:DWShells]]&lt;br /&gt;
[[Category:Linux course administration]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
	<entry>
		<id>https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners/Answer_Key&amp;diff=373</id>
		<title>DWTutorials:Linux Basics for Beginners/Answer Key</title>
		<link rel="alternate" type="text/html" href="https://wiki.darkworld.network/index.php?title=DWTutorials:Linux_Basics_for_Beginners/Answer_Key&amp;diff=373"/>
		<updated>2026-07-21T21:20:46Z</updated>

		<summary type="html">&lt;p&gt;Fizi: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:DWTutorials Linux Basics — Instructor Answer Key}}&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
= Instructor Answer Key =&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For DWShells staff and course mentors&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page supports the student course {{DISPLAYTITLE:DWTutorials:Linux Basics for Beginners}}. Protect it if you do not want learners to see suggested answers before completing their work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Copyright:&#039;&#039;&#039; © 2026 DarkWorld Network. All rights reserved.&lt;br /&gt;
&lt;br /&gt;
== Assessment model ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Component&lt;br /&gt;
! Weight&lt;br /&gt;
! Evidence&lt;br /&gt;
|-&lt;br /&gt;
| Lesson review questions&lt;br /&gt;
| 30%&lt;br /&gt;
| Accurate explanations in the learner&#039;s own words&lt;br /&gt;
|-&lt;br /&gt;
| Hands-on labs&lt;br /&gt;
| 40%&lt;br /&gt;
| Correct files, command output, permissions, and safe working habits&lt;br /&gt;
|-&lt;br /&gt;
| Final project&lt;br /&gt;
| 30%&lt;br /&gt;
| Script, report, documentation, permissions, archive, and restore test&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Suggested pass mark: &#039;&#039;&#039;70%&#039;&#039;&#039;. Safety violations should be corrected before the learner passes, even if the numeric score is high.&lt;br /&gt;
&lt;br /&gt;
Accept equivalent commands when they are safe and produce the required outcome. Do not require output to match usernames, paths, dates, process IDs, hostnames, package versions, or file sizes shown in the course.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Lesson 1 answers =&lt;br /&gt;
&lt;br /&gt;
# A &#039;&#039;&#039;terminal&#039;&#039;&#039; is the interface/application used to enter commands; a &#039;&#039;&#039;shell&#039;&#039;&#039; is the program that interprets those commands.&lt;br /&gt;
# SSH (Secure Shell).&lt;br /&gt;
# Linux deliberately does not echo password characters, reducing information visible to someone watching.&lt;br /&gt;
# &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Ctrl+C.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; Learner can connect, identify the current user and host, print the requested sentence, recall history with the Up arrow, log out with &amp;lt;code&amp;gt;exit&amp;lt;/code&amp;gt;, and reconnect.&lt;br /&gt;
&lt;br /&gt;
= Lesson 2 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt; is the top of the filesystem; &amp;lt;code&amp;gt;/root&amp;lt;/code&amp;gt; is normally the root administrator&#039;s home directory.&lt;br /&gt;
# The current user&#039;s home directory.&lt;br /&gt;
# &amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Absolute, because it begins with &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;.&amp;lt;/code&amp;gt; is the current directory; &amp;lt;code&amp;gt;..&amp;lt;/code&amp;gt; is its parent.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; Ask the learner to move to &amp;lt;code&amp;gt;/etc&amp;lt;/code&amp;gt;, report &amp;lt;code&amp;gt;pwd&amp;lt;/code&amp;gt;, return home, and explain why &amp;lt;code&amp;gt;cd -&amp;lt;/code&amp;gt; may produce a different location than &amp;lt;code&amp;gt;cd ..&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Lesson 3 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;cp -r SOURCE DESTINATION&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;mv&amp;lt;/code&amp;gt;.&lt;br /&gt;
# It asks before removal and helps prevent an accidental deletion.&lt;br /&gt;
# Non-hidden names ending in &amp;lt;code&amp;gt;.txt&amp;lt;/code&amp;gt; in the selected directory.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected lab structure:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lesson-03/&lt;br /&gt;
├── activity.log&lt;br /&gt;
├── one.txt&lt;br /&gt;
└── practice/&lt;br /&gt;
    ├── archive/&lt;br /&gt;
    │   └── activity.log&lt;br /&gt;
    ├── one.txt&lt;br /&gt;
    └── two.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The top-level &amp;lt;code&amp;gt;two.txt&amp;lt;/code&amp;gt; should have been removed. Extra files from earlier examples are acceptable.&lt;br /&gt;
&lt;br /&gt;
= Lesson 4 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt; is better for long content because it supports paging and searching.&lt;br /&gt;
# &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Ctrl+O.&lt;br /&gt;
# &amp;lt;code&amp;gt;head&amp;lt;/code&amp;gt; displays the beginning; &amp;lt;code&amp;gt;tail&amp;lt;/code&amp;gt; displays the end.&lt;br /&gt;
# The compared files are identical.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; &amp;lt;code&amp;gt;profile.txt&amp;lt;/code&amp;gt; contains the requested content. The learner can save and exit Nano, select first/last lines, count lines, and explain the &amp;lt;code&amp;gt;diff -u&amp;lt;/code&amp;gt; result.&lt;br /&gt;
&lt;br /&gt;
= Lesson 5 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;--help&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;man COMMAND&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;q&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Whether a command exists and what executable, builtin, function, or alias the shell will use.&lt;br /&gt;
# They may be saved in history and exposed later.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner identifies &amp;lt;code&amp;gt;mkdir -p&amp;lt;/code&amp;gt;, understands that &amp;lt;code&amp;gt;cd&amp;lt;/code&amp;gt; is a shell builtin, and uses &amp;lt;code&amp;gt;history | tail -n 10&amp;lt;/code&amp;gt; or an equivalent safe command.&lt;br /&gt;
&lt;br /&gt;
= Lesson 6 answers =&lt;br /&gt;
&lt;br /&gt;
# Owner, group, and others.&lt;br /&gt;
# 5: read (4) plus execute (1).&lt;br /&gt;
# It permits traversal/entry and access to known names, subject to other directory permissions.&lt;br /&gt;
# &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt;.&lt;br /&gt;
# It grants read, write, and execute permissions to everyone, allowing unauthorized modification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expected permissions:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;-rw------- private.txt&lt;br /&gt;
-rw-r----- shared.txt&lt;br /&gt;
drwx------ private-dir&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The learner should demonstrate the difference between &amp;lt;code&amp;gt;ls -l&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;ls -ld&amp;lt;/code&amp;gt; for a directory.&lt;br /&gt;
&lt;br /&gt;
= Lesson 7 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; replaces/truncates; &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt; appends.&lt;br /&gt;
# 2.&lt;br /&gt;
# It connects one command&#039;s standard output to the next command&#039;s standard input.&lt;br /&gt;
# &amp;lt;code&amp;gt;uniq&amp;lt;/code&amp;gt; normally recognizes only adjacent duplicates, so sorting brings equal lines together.&lt;br /&gt;
# Success.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner can use &amp;lt;code&amp;gt;grep -i&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;wc -l&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;sort&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;&amp;gt;&amp;gt;&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2&amp;gt;&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;tee&amp;lt;/code&amp;gt;, and can explain where normal and error output went.&lt;br /&gt;
&lt;br /&gt;
= Lesson 8 answers =&lt;br /&gt;
&lt;br /&gt;
# To avoid slow, resource-intensive traversal and irrelevant permission errors.&lt;br /&gt;
# &amp;lt;code&amp;gt;-i&amp;lt;/code&amp;gt; ignores case; &amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; inverts the match.&lt;br /&gt;
# No.&lt;br /&gt;
# To preserve the entire value as one argument and prevent wildcard expansion or word splitting.&lt;br /&gt;
# It runs &amp;lt;code&amp;gt;date +%F&amp;lt;/code&amp;gt; and substitutes its YYYY-MM-DD output.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner creates and accesses a filename containing a space without accidental splitting, and uses a quoted variable correctly.&lt;br /&gt;
&lt;br /&gt;
= Lesson 9 answers =&lt;br /&gt;
&lt;br /&gt;
# Process ID.&lt;br /&gt;
# &amp;lt;code&amp;gt;jobs&amp;lt;/code&amp;gt; shows jobs associated with the current shell; &amp;lt;code&amp;gt;ps&amp;lt;/code&amp;gt; queries system processes according to its options.&lt;br /&gt;
# SIGTERM.&lt;br /&gt;
# It prevents the process from cleaning up files, locks, and state.&lt;br /&gt;
# The server is shared, resource limits protect everyone, and technical availability is not authorization.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; No practice &amp;lt;code&amp;gt;sleep&amp;lt;/code&amp;gt; process should remain. The learner must verify ownership and PID before sending a signal.&lt;br /&gt;
&lt;br /&gt;
= Lesson 10 answers =&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;/etc/os-release&amp;lt;/code&amp;gt;.&lt;br /&gt;
# &amp;lt;code&amp;gt;df&amp;lt;/code&amp;gt; reports filesystem capacity; &amp;lt;code&amp;gt;du&amp;lt;/code&amp;gt; estimates space used by files/directories.&lt;br /&gt;
# ICMP may be filtered even while the destination and other services are available.&lt;br /&gt;
# &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Uppercase &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The archive lists and extracts successfully into a separate directory. The original data remains unchanged. If SCP cannot be tested, the learner should still explain local and remote sides correctly.&lt;br /&gt;
&lt;br /&gt;
= Lesson 11 answers =&lt;br /&gt;
&lt;br /&gt;
# The first line that selects the script interpreter, such as &amp;lt;code&amp;gt;#!/bin/bash&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The current directory is not normally searched through &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;./&amp;lt;/code&amp;gt; names the path explicitly.&lt;br /&gt;
# &amp;lt;code&amp;gt;$0&amp;lt;/code&amp;gt; is the script name and &amp;lt;code&amp;gt;$1&amp;lt;/code&amp;gt; is the first argument.&lt;br /&gt;
# 0.&lt;br /&gt;
# To preserve spaces and prevent unintended splitting or wildcard expansion.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; &amp;lt;code&amp;gt;course-summary.sh&amp;lt;/code&amp;gt; passes &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt;, rejects a missing name with a non-zero exit status, writes the required fields, and sets the output to &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Lesson 12 answers =&lt;br /&gt;
&lt;br /&gt;
# The private key stays on the learner&#039;s local device and is never shared. Only the public key is installed on the server or sent to authorized staff.&lt;br /&gt;
# &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;authorized_keys&amp;lt;/code&amp;gt;.&lt;br /&gt;
# The downloaded content runs before the learner has inspected or verified it.&lt;br /&gt;
# No. Technical access is not authorization.&lt;br /&gt;
# Stop and ask DWShells staff before proceeding.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lab check:&#039;&#039;&#039; The learner can explain host-key checking, password/key privacy, safe permissions, shared-resource responsibility, and why policy applies even to technically possible actions.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
= Final project reference implementation =&lt;br /&gt;
&lt;br /&gt;
This is one valid implementation of &amp;lt;code&amp;gt;bin/learner-report.sh&amp;lt;/code&amp;gt;. Learners may organize their code differently.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
set -u&lt;br /&gt;
umask 077&lt;br /&gt;
&lt;br /&gt;
if [ &amp;quot;$#&amp;quot; -ne 1 ]; then&lt;br /&gt;
    echo &amp;quot;Usage: $0 DISPLAY_NAME&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
display_name=&amp;quot;$1&amp;quot;&lt;br /&gt;
script_dir=&amp;quot;$(cd -- &amp;quot;$(dirname -- &amp;quot;$0&amp;quot;)&amp;quot; &amp;amp;&amp;amp; pwd)&amp;quot;&lt;br /&gt;
project_dir=&amp;quot;$(dirname -- &amp;quot;$script_dir&amp;quot;)&amp;quot;&lt;br /&gt;
output_dir=&amp;quot;$project_dir/output&amp;quot;&lt;br /&gt;
output=&amp;quot;$output_dir/learner-report.txt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
mkdir -p &amp;quot;$output_dir&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ -r /etc/os-release ]; then&lt;br /&gt;
    debian_version=&amp;quot;$(. /etc/os-release; printf &#039;%s&#039; &amp;quot;$PRETTY_NAME&amp;quot;)&amp;quot;&lt;br /&gt;
else&lt;br /&gt;
    debian_version=&amp;quot;Unknown&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
    echo &amp;quot;DWShells Linux learner report&amp;quot;&lt;br /&gt;
    echo &amp;quot;Learner: $display_name&amp;quot;&lt;br /&gt;
    echo &amp;quot;Username: $USER&amp;quot;&lt;br /&gt;
    echo &amp;quot;Hostname: $(hostname)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Generated: $(date --iso-8601=seconds)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Debian: $debian_version&amp;quot;&lt;br /&gt;
    echo &amp;quot;Kernel: $(uname -r)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Architecture: $(uname -m)&amp;quot;&lt;br /&gt;
    echo &amp;quot;Home: $HOME&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Linux course usage:&amp;quot;&lt;br /&gt;
    du -sh &amp;quot;$HOME/linux-course&amp;quot;&lt;br /&gt;
    echo&lt;br /&gt;
    echo &amp;quot;Home filesystem:&amp;quot;&lt;br /&gt;
    df -h &amp;quot;$HOME&amp;quot;&lt;br /&gt;
} &amp;gt; &amp;quot;$output&amp;quot;&lt;br /&gt;
&lt;br /&gt;
chmod 600 &amp;quot;$output&amp;quot;&lt;br /&gt;
echo &amp;quot;Report written to $output&amp;quot;&lt;br /&gt;
exit 0&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Suggested checks:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd &amp;quot;$HOME/linux-course/linux-final&amp;quot;&lt;br /&gt;
bash -n bin/learner-report.sh&lt;br /&gt;
bin/learner-report.sh&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
bin/learner-report.sh &amp;quot;Test Learner&amp;quot;&lt;br /&gt;
echo &amp;quot;$?&amp;quot;&lt;br /&gt;
stat -c &#039;%a %n&#039; bin/learner-report.sh output/learner-report.txt&lt;br /&gt;
cat output/learner-report.txt&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected permissions are &amp;lt;code&amp;gt;700&amp;lt;/code&amp;gt; for the script and &amp;lt;code&amp;gt;600&amp;lt;/code&amp;gt; for the report. A missing name should produce a non-zero status; a successful run should produce status zero.&lt;br /&gt;
&lt;br /&gt;
== Final project rubric ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Area&lt;br /&gt;
! Points&lt;br /&gt;
! Full-credit standard&lt;br /&gt;
|-&lt;br /&gt;
| Required directory structure&lt;br /&gt;
| 3&lt;br /&gt;
| All required directories and files exist in the correct locations.&lt;br /&gt;
|-&lt;br /&gt;
| README&lt;br /&gt;
| 3&lt;br /&gt;
| Clearly explains purpose, requirements, command syntax, and output.&lt;br /&gt;
|-&lt;br /&gt;
| Command notes&lt;br /&gt;
| 3&lt;br /&gt;
| Ten correct commands with clear one-line explanations.&lt;br /&gt;
|-&lt;br /&gt;
| Argument validation&lt;br /&gt;
| 3&lt;br /&gt;
| Missing display name produces usage on stderr and exits non-zero.&lt;br /&gt;
|-&lt;br /&gt;
| Report content&lt;br /&gt;
| 6&lt;br /&gt;
| All nine required fields are present and accurate.&lt;br /&gt;
|-&lt;br /&gt;
| Quoting and safe paths&lt;br /&gt;
| 3&lt;br /&gt;
| Variables are quoted; script works regardless of the caller&#039;s current directory.&lt;br /&gt;
|-&lt;br /&gt;
| Permissions&lt;br /&gt;
| 2&lt;br /&gt;
| Script is 700 and report is 600.&lt;br /&gt;
|-&lt;br /&gt;
| Syntax and repeatability&lt;br /&gt;
| 2&lt;br /&gt;
| Passes &amp;lt;code&amp;gt;bash -n&amp;lt;/code&amp;gt; and runs twice without unsafe side effects.&lt;br /&gt;
|-&lt;br /&gt;
| Archive and restore&lt;br /&gt;
| 3&lt;br /&gt;
| Archive lists correctly and restores all files into a separate test location.&lt;br /&gt;
|-&lt;br /&gt;
| Security and policy&lt;br /&gt;
| 2&lt;br /&gt;
| No secrets, privilege escalation, broad searches, destructive operations, or prohibited activity.&lt;br /&gt;
|-&lt;br /&gt;
! Total&lt;br /&gt;
! 30&lt;br /&gt;
! Suggested pass for this component: 21/30&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Common deductions and coaching ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Issue&lt;br /&gt;
! Coaching response&lt;br /&gt;
|-&lt;br /&gt;
| Learner typed the example &amp;lt;code&amp;gt;$&amp;lt;/code&amp;gt; prompt.&lt;br /&gt;
| Re-explain prompt versus command; have them retry.&lt;br /&gt;
|-&lt;br /&gt;
| Paths or variables are unquoted.&lt;br /&gt;
| Test with a display name or path containing a space and explain word splitting.&lt;br /&gt;
|-&lt;br /&gt;
| Learner used &amp;lt;code&amp;gt;chmod 777&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Ask which identities need each permission, then choose the minimum required mode.&lt;br /&gt;
|-&lt;br /&gt;
| Learner used SIGKILL first.&lt;br /&gt;
| Practise SIGTERM, wait, recheck, and reserve SIGKILL for a verified last resort.&lt;br /&gt;
|-&lt;br /&gt;
| Learner searched from &amp;lt;code&amp;gt;/&amp;lt;/code&amp;gt;.&lt;br /&gt;
| Stop the command and narrow the starting path to &amp;lt;code&amp;gt;$HOME&amp;lt;/code&amp;gt; or the project.&lt;br /&gt;
|-&lt;br /&gt;
| Learner copied a command without understanding it.&lt;br /&gt;
| Ask them to explain every program, option, argument, redirection, and expansion before rerunning.&lt;br /&gt;
|-&lt;br /&gt;
| Report exposes secrets.&lt;br /&gt;
| Remove the data, rotate any exposed credential, correct the script, and explain secure secret handling.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Pre-publication staff checklist ==&lt;br /&gt;
&lt;br /&gt;
Before each course intake:&lt;br /&gt;
&lt;br /&gt;
# Confirm the current SSH hostname and port.&lt;br /&gt;
# Publish or provide the current SSH host-key fingerprint through a trusted channel.&lt;br /&gt;
# Confirm which account home layouts are active, such as &amp;lt;code&amp;gt;/home/free/USER&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/home/support/USER&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Test command availability: &amp;lt;code&amp;gt;bash&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;nano&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;man&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;less&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;grep&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;tar&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;getent&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;curl&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;ping&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;quota&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Mark unavailable optional commands in the student page.&lt;br /&gt;
# Link the current DWShells Acceptable Use Policy and support channel.&lt;br /&gt;
# Verify storage, process, CPU, memory, and network limits.&lt;br /&gt;
# Test every lab using an ordinary free account and an ordinary support account—not root.&lt;br /&gt;
# Confirm that home-directory permissions prevent cross-user data exposure.&lt;br /&gt;
# Confirm that the answer-key page is protected as intended.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;DWTutorials Linux Basics Instructor Answer Key — © 2026 DarkWorld Network. All rights reserved.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:DWShells]]&lt;br /&gt;
[[Category:Linux course administration]]&lt;/div&gt;</summary>
		<author><name>Fizi</name></author>
	</entry>
</feed>