| 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. | ok a quick guide to linking IRCD''s by Jackh4xor. (Unreal Moded ircd)
Ok so i am assuming you have compiled your IRCd's as one hub, one leaf..
To make things easier to follow from here on we will refer to the hub as server one, and the leaf as server two.
Ok so lets jump in and start to edit the unrealircd.conf for server one.
Server One
The first block we need to look at is the "me" block, your me block should look something like this;
<div class="jscript"><pre>me {
name "yourserverhub.com";
info "santasunreallinkingguide";
numeric 1;
};
</pre></div>
Ok so not alot to this block, all pretty simple stuff, you need to edit the name line so that it is relevant to your server one, same with the info line; The most important line of this entire block is the "numeric" line. It is important that the numeric line is different for each of the servers your are going to link otherwise they will collide and and you will get connection refused upon trying to connect to your other servers.
Ok so now that the me block is out of the way, the next thing we are going to want to do is create some class blocks.
As a rule it is always best to create these class blocks directly below your "me" block.
You will need two class blocks one for clients, and one for servers.... These blocks should look similar to these;
<div class="jscript"><pre>class clients
{
pingfreq 600;
maxclients 90000;
sendq 150000;
recvq 4000;
};
class servers
{
pingfreq 90;
maxclients 10; /* Max servers we can have linked at a time */
sendq 1000000;
connfreq 100; /* How many seconds between each connection attempt */
};
</pre></div>
Ok so again, all pretty simple stuff here these two blocks deal with how the servers and clients connect, starting with the "class clients" block we have ping freq, you are going to want to set this around 600 if your servers are hosting bots, (the higher you set the ping freq - the less "ping time outs" you will get)
Next line we have max clients set this so that it is relevant to your OS's security limits and unreal build, (on linux check your max connections by typing "ulimit -n" in console) sendq and recvq set these fairly high also.
ok "class server" block as said, deals with how the server connections are dealt with, "ping freq" set this as you like,
"maxclients" in this block is simply the maximum number of servers you can connect to, sendq (set this pretty high) and "connfreq" (how many seconds between each connection attempt)
simple simple. So far these steps can be applied to both server one and server two configs infact the only block you will need to edit for server two so far is the "me" block (remembering to change the numeric).
now we have to create a listen block, this is the block that will tell the IRCd to listen for server connections on a specified port, (you cannot use the same port that your clients connect to) for this tutorial we will use port "12345"
your block should look like this:
<div class="jscript"><pre>listen 127.0.0.1:12345 {
options {
serversonly;
};</pre></div>
Ok so again all very simple stuff, here we are telling the IRCD to listen for connections on localhost port 12345;
you can use either the local loopback ip address of your server, the normal ip address or simply "localhost" when defining the IP.
Options, obviously we want it to listen for "servers only" you can also add other options such as auto connect but for this tutorial we will use this simple listen block.
OK if you have made it this far, you are ready to now create your "link" block for server one.
Link blocks look like this;
<div class="jscript"><pre>link serverleaf.com { /* name of the server you want to link to has to be the same as the name given in its meblock */
username *;
hostname 99.99.99.99; /*the server you want to link to ip address */
bind-ip *;
port 12345; /* port for server to connect to defined inn the listen block above */
leaf * ; /* server two is a leaf */
password-connect "password"; /* passwords much match on both servers */
password-receive "password";
class servers;
options {
};
};
</pre></div>
I have commented the block to help you remember how things go, because this is the block that most people make errors on.
the first line `"link" it is important that you use name of the server you want to link to, the name has to be the same as the name given in that servers "me" block.
In this tutorial we use wildcard for username.
the hostname line, we specify the ip address of the server we want to connect to.
we use wildcard for "bind-ip"
we then specify the port we created in the server listen block.
specify that the server we are connnecting is the leaf.
and set the passwords which must be the same for bother servers.........
server one, done.
Server Two
ok for this section, i will blast through alot quicker, as most of it is covered in the first section
me block
<div class="jscript"><pre>me {
name "leafserver.com";
info "jackh4xorguide";
numeric 2;
};
</pre></div>
Ok so edit the me block so that it is relevant to your server two (leaf)
CHANGE THE NUMERIC.
class blocks can be exactly the same as server one.
<div class="jscript"><pre>class clients
{
pingfreq 600;
maxclients 90000;
sendq 150000;
recvq 4000;
};
class servers
{
pingfreq 90;
maxclients 10; /* Max servers we can have linked at a time */
sendq 1000000;
connfreq 100; /* How many seconds between each connection attempt */
};
</pre></div>
listen block for servers can also be exactly the same as server one if using local loopback for IP, otherwise just specify server two's IP address.
<div class="jscript"><pre>listen 127.0.0.1:12345 {
options {
serversonly;
};</pre></div>
link block
link yourserverone.com { /* name of the server you want to link to has to be the same as the name given in its meblock */
username *;
hostname 88.88.88.88; /*the server you want to link to ip address */
bind-ip *;
port 12345; /* port for server to connect to defined inn the listen block above */
hub * ; /* server two is a leaf */
password-connect "password"; /* passwords much match on both servers */
password-receive "password";
class servers;
options {
};
};
ok so for server two link block you are going to want to link to yourserverone.com (as specified in the server one "me" block)
set the hostname to your server one's IP. set the port 12345, set the passwords so they are the same as the other server.
....and thats it your done.
almost..
ok so now rehash or restart your servers oper up on one of your IRCDs for this example we are on the leaf (server 2) and type <div class="jscript"><pre>/connect yourserverone.com 12345</pre></div>
/connect server port
if all is well your IRCDs will now be linked.
To make bots spread evenly over the two IRCDs you will now need to setup a "round robin" dns.
anyway below i will provide an unrealircd.conf template, laid out in the way described in this tutorial for you to use.
########################################
# ME Block #
#######################################
me {
name "yourserverone.com";
info "jackh4xor";
numeric 1;
};
####################################################
# class block #
###################################################
class clients
{
pingfreq 600;
maxclients 90000;
sendq 150000;
recvq 4000;
};
class servers
{
pingfreq 90;
maxclients 10; /* Max servers we can have linked at a time */
sendq 1000000;
connfreq 100; /* How many seconds between each connection attempt */
};
####################################
# server listen block ############
##################################
listen 66.66.66.66:12345 {
options {
serversonly;
};
};
#################################################
# LINK BLOCK ############
###############################################
link yourserverttwo.net {
username *;
hostname 11.11.11.11;
bind-ip *;
port 12345;
hub * ;
password-connect "password";
password-receive "password";
class servers;
options {
};
};
########################################
# Admin Block #
########################################
admin {
"jackh4xor";
};
########################################
# Allow Block #
########################################
allow {
ip *@*;
hostname *@*;
class clients;
maxperip 5;
};
########################################
# Listen Block #
########################################
listen *:6667;
########################################
# Operator Block #
########################################
oper Jackh4xor {
class clients;
from {
userhost *@*;
};
password "" { md5; };
flags
{
global;
services-admin;
can_rehash;
can_die;
can_restart;
helpop;
can_wallops;
can_globops;
can_localroute;
can_globalroute;
can_localkill;
can_globalkill;
can_kline;
can_gzline;
can_gkline;
can_unkline;
can_localnotice;
can_globalnotice;
netadmin;
can_zline;
get_umodew;
get_host;
can_override;
};
snomask *;
maxlogins "2";
};
########################################
# Settings #
#######################################
drpass {
restart "muster321pw";
die "pw123muster";
};
set {
network-name "Linked Net";
default-server "irc.FGT.eu";
services-server "services.priv8.com";
help-channel "#lobby";
hiddenhost-prefix "0wn3d";
cloak-keys {
// Don't use the same keys
"aIRgFoAr1HnF5h5sDb7x4YwA6pW";
"P9FdZnR1gl5sJ7hVz4Zb7x4YwpW";
"OI8r1ZnR6gl3sJ7hVz4Zb7x4YnX";
};
hosts {
local "darkc0de.com";
global "darkc0de.com";
coadmin "darkc0de.com";
admin "darkc0de.com";
netadmin "darkc0de.com";
servicesadmin "darkc0de.com";
host-on-oper-up "yes";
};
};
set {
allowed-nickchars {
latin1;
};
kline-address "[email protected]";
modes-on-connect "+xwGi";
modes-on-oper "+xwgspH";
restrict-usermodes "G";
restrict-channelmodes "G";
modes-on-join "+nust";
oper-auto-join "#admins";
dns {
nameserver 127.0.0.1;
timeout 2s;
retries 2;
};
options {
hide-ulines;
show-connect-info;
show-opermotd;
allow-part-if-shunned;
flat-map;
fail-oper-warn;
};
maxchannelsperuser 30;
anti-spam-quit-message-time 100s;
static-quit "Client hat die Verbindung getrennt";
oper-only-stats "*";
throttle {
connections 3;
period 60s;
};
anti-flood {
nick-flood 50:60;
};
spamfilter {
ban-time 1d;
ban-reason "Spam/Advertising";
virus-help-channel "#help";
};
default-bantime "0";
};
# ##### Modules #####
include "help.conf";
include "badwords.channel.conf";
include "badwords.message.conf";
include "badwords.quit.conf";
include "spamfilter.conf";
loadmodule "src/modules/commands.so";
loadmodule "src/modules/cloak.so";
# ########################################
# # Log Block #
# ########################################
log ircd.log {
maxsize 5MB;
flags {
errors;
kills;
sadmin-commands;
chg-commands;
oper-override;
spamfilter;
kline;
tkl;
};
};
ban nick {
mask "*S*e*r*v*";
reason "Gesperrt";
};
ulines {
services.priv8.com;
stats.priv8.com;
};
tld {
mask *@*;
motd "motd.conf";
rules "rules.conf";
};
|