]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - makeconf
Stupid typo :p
[user/henk/code/inspircd.git] / makeconf
1 #!/bin/sh
2 # InspIRCd Configuration Creator
3 #
4 # Copyright 2003 The ChatSpike Development Team
5 # <Craig@chatspike.net>
6 # <brain@chatspike.net>
7 #
8 # $Id$
9 #
10 ########################################################
11
12 echo "Configuring Default Values"
13
14 ME=`pwd`
15 SERV_NAME="my.server.name"
16 SERV_DESC="My InspIRCd Server"
17 SERV_NET="MyNetwork"
18
19 ADMIN_NAME="My Name"
20 ADMIN_NICK="MyNick"
21 ADMIN_MAIL="My@E-Mail.Address"
22
23 DIE_PASS="DieNow"
24 RESTART_PASS="RestartNow"
25 DIE_WAIT="5"
26
27 CONNECT_ALLOW="*"
28 CONNECT_PASS="ServerPass"
29
30 VHOST_DOMAIN="inspircd.org"
31
32 OPER_NICK="Fred"
33 OPER_PASS="mysecret"
34 OPER_HOST="*@*"
35 OPER_TYPE="NetAdmin"
36
37 FILES_MOTD="$ME/conf/inspire.motd"
38 FILES_RULE="$ME/conf/inspire.rules"
39
40 OP_PREFIX="Quit: "
41 OP_DEBUG="default"
42 OP_HALFY="yes"
43 OP_PROTE="yes"
44 OP_FOUND="yes"
45
46 rm -f makeconf.temp
47
48 c=""
49 n=""
50
51 if [ "`eval echo -n 'a'`" = "-n a" ] ; then
52         c="\c"
53  else
54         n="-n"
55 fi
56
57 clear
58 echo -e "'\033[1;33m####\033[0;37m:'\033[1;33m##\033[0;37m::: \033[1;33m##\033[0;37m::'\033[1;33m######\033[0;37m::'\033[1;33m########\033[0;37m::'\033[1;33m####\033[0;37m:'\033[1;33m########\033[0;37m:::'\033[1;33m######\033[0;37m::'\033[1;33m########\033[0;37m::"
59 echo -e ". \033[1;33m##\033[0;37m:: \033[1;33m###\033[0;37m:: \033[1;33m##\033[0;37m:'\033[1;33m##\033[0;37m... \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m.... \033[1;33m##\033[0;37m:. \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m.... \033[1;33m##\033[0;37m:'\033[1;33m##\033[0;37m... \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m.... \033[1;33m##\033[0;37m:"
60 echo -e ": \033[1;33m##\033[0;37m:: \033[1;33m####\033[0;37m: \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m:::..:: \033[1;33m##\033[0;37m:::: \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m:::: \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m:::..:: \033[1;33m##\033[0;37m:::: \033[1;33m##\033[0;37m:"
61 echo -e ": \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m \033[1;33m##\033[0;37m \033[1;33m##\033[0;37m:. \033[1;33m######\033[0;37m:: \033[1;33m########\033[0;37m::: \033[1;33m##\033[0;37m:: \033[1;33m########\033[0;37m:: \033[1;33m##\033[0;37m::::::: \033[1;33m##\033[0;37m:::: \033[1;33m##\033[0;37m:"
62 echo -e ": \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m. \033[1;33m####\033[0;37m::..... \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m.....:::: \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m.. \033[1;33m##\033[0;37m::: \033[1;33m##\033[0;37m::::::: \033[1;33m##\033[0;37m:::: \033[1;33m##\033[0;37m:"
63 echo -e ": \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m:. \033[1;33m###\033[0;37m:'\033[1;33m##\033[0;37m::: \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m::::::::: \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m::. \033[1;33m##\033[0;37m:: \033[1;33m##\033[0;37m::: \033[1;33m##\033[0;37m: \033[1;33m##\033[0;37m:::: \033[1;33m##\033[0;37m:"
64 echo -e "'\033[1;33m####\033[0;37m: \033[1;33m##\033[0;37m::. \033[1;33m##\033[0;37m:. \033[1;33m######\033[0;37m:: \033[1;33m##\033[0;37m::::::::'\033[1;33m####\033[0;37m: \033[1;33m##\033[0;37m:::. \033[1;33m##\033[0;37m:. \033[1;33m######\033[0;37m:: \033[1;33m########\033[0;37m::"
65 echo -e "\033[0;37m\033[0;37m....::..::::..:::......:::..:::::::::....::..:::::..:::......:::........:::"
66 echo ""
67 echo -e "\033[1;37mWelcome to the inspircd.conf file maker!!"
68 echo -e "\033[0;37m"
69 echo -e "*** Although with most values, hitting \033[1;37m<RETURN>\033[0;37m will use the default, ***"
70 echo "*** others are not like this. Where possible, Please fill in all the  ***"
71 echo "*** values manually. Once complete, you *WILL* be required to edit    ***"
72 echo "*** the created file manually, to ensure values are correct. Enjoy!   ***"
73 echo -e "*** Between the [\033[1;32mBRACKETS\033[0;37m] will be default / example values to help   ***"
74
75 echo ""
76 echo ""
77
78 echo "The first Part of this is the server Configuration. Here we will take"
79 echo "Details, Such as the servers name, Description, and The administrators"
80 echo "information. Once complete, the Screen will clear, and stage 2 will begin"
81
82 echo ""
83 echo "Enter Servers Name"
84 echo -e $n "[\033[1;32m$SERV_NAME\033[0;37m] -> $c"
85 read cc
86 if [ "$cc" ] ; then
87         SERV_NAME=$cc
88 fi
89
90
91 echo ""
92 echo "Enter Server Description"
93 echo -e $n "[\033[1;32m$SERV_DESC\033[0;37m] -> $c"
94 read cc
95 if [ "$cc" ] ; then
96         SERV_DESC=$cc
97 fi
98
99
100 echo ""
101 echo "Enter Your Network Name"
102 echo -e $n "[\033[1;32m$SERV_NET\033[0;37m] -> $c"
103 read cc
104 if [ "$cc" ] ; then
105         SERV_NET=$cc
106 fi
107
108
109 echo ""
110 echo ""
111
112 echo ""
113 echo "Enter Administrators Full Name"
114 echo -e $n "[\033[1;32m$ADMIN_NAME\033[0;37m] -> $c"
115 read cc
116 if [ "$cc" ] ; then
117         ADMIN_NAME=$cc
118 fi
119
120
121 echo ""
122 echo "Enter Administrators NickName"
123 echo -e $n "[\033[1;32m$ADMIN_NICK\033[0;37m] -> $c"
124 read cc
125 if [ "$cc" ] ; then
126         ADMIN_NICK=$cc
127 fi
128
129
130 echo ""
131 echo "Enter Administrators Email Address"
132 echo -e $n "[\033[1;32m$ADMIN_MAIL\033[0;37m] -> $c"
133 read cc
134 if [ "$cc" ] ; then
135         ADMIN_MAIL=$cc
136 fi
137
138
139 echo "Section Complete, Writing Config File Header."
140
141 ###
142 # Config file header Here!
143 ###
144
145 echo "########################################################################" >> makeconf.temp
146 echo "#                                                                      #" >> makeconf.temp
147 echo "#                     ---------------------------                      #" >> makeconf.temp
148 echo "#                     InspIRCd Configuration File                      #" >> makeconf.temp
149 echo "#                     ---------------------------                      #" >> makeconf.temp
150 echo "#                                                                      #" >> makeconf.temp
151 echo "##################################||####################################" >> makeconf.temp
152 echo "                                 #||#" >> makeconf.temp
153 echo "##################################||####################################" >> makeconf.temp
154 echo "#                                                                      #" >> makeconf.temp
155 echo "#         This is an example of the config file for InspIRCd.          #" >> makeconf.temp
156 echo "#             Change the options to suit your network                  #" >> makeconf.temp
157 echo "#                                                                      #" >> makeconf.temp
158 echo "#                 Written by      : makeconf (Craig@inspircd.org)      #" >> makeconf.temp
159 echo "#                                                                      #" >> makeconf.temp
160 echo "########################################################################" >> makeconf.temp
161 echo "" >> makeconf.temp
162 echo "" >> makeconf.temp
163
164 ###
165 # Complete, server tag now
166 ###
167
168 echo "#-#-#-#-#-#-#-#-#-#-#-#-  SERVER DESCRIPTION  -#-#-#-#-#-#-#-#-#-#-#-#-" >> makeconf.temp
169 echo "<server  name=\"$SERV_NAME\"" >> makeconf.temp
170 echo "         description=\"$SERV_DESC\"" >> makeconf.temp
171 echo "         network=\"$SERV_NET\">" >> makeconf.temp
172 echo "" >> makeconf.temp
173 echo "" >> makeconf.temp
174
175 ###
176 # Admin Tag..
177 ###
178
179 echo "#-#-#-#-#-#-#-#-#-#-#-#-   ADMIN INFORMATION   -#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
180 echo "<admin  name=\"$ADMIN_NAME\"" >> makeconf.temp
181 echo "        nick=\"$ADMIN_NICK\"" >> makeconf.temp
182 echo "        email=\"$ADMIN_MAIL\">" >> makeconf.temp
183 echo "" >> makeconf.temp
184 echo "" >> makeconf.temp
185
186 ###
187 # Complete.
188 ###
189
190 clear
191 echo "Congratulations, you have successfully Configured your Server and Administrator"
192 echo "Information Correctly. Proceeding to Servers Port Configuration."
193
194 echo ""
195 echo ""
196
197 echo "Now its time to specify which IP and ports you wish to run the IRCd on."
198 echo "When asked please enter the IP Address, and ports. As a note, you may"
199 echo "Leave the IP Address blank to bind to all avaliable interfaces."
200 echo ""
201 echo "To end, either type \"done\" as the IP, or leave the Port Blank."
202 echo ""
203
204 ###
205 # Write Config Header..
206 ###
207
208 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
209 echo "#                                                                     #" >> makeconf.temp
210 echo "#   Just remove this... Its here to make you read through this file   #" >> makeconf.temp
211 echo "#   properly after running \"makeconf\"                               #" >> makeconf.temp
212 echo "" >> makeconf.temp
213 echo "<die value=\"tut tut, someone didnt check their config file properly\">" >> makeconf.temp
214 echo "" >> makeconf.temp
215 echo "" >> makeconf.temp
216
217
218 echo "#-#-#-#-#-#-#-#-#-#-#-#-   PORT CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-" >> makeconf.temp
219
220 ###
221 # Ok, done.. Proceed :)
222 ###
223
224 BOUND_PORT=""
225 ok=0
226 default=0
227 while [ $ok -eq 0 ] ; do
228         echo "Enter the IP"
229         echo $n "[] -> $c"
230         read cc
231         if [ "$cc" == "done" ] ; then
232                 ok=1
233         else
234                 BIND_IP=$cc
235         fi
236         if [ "$ok" != "1" ] ; then
237                 echo -e "Ports Already Bound: \033[1;32m$BOUND_PORT\033[0;37m"
238                 echo "Enter Port to Bind to $BIND_IP"
239                 echo $n "[] -> $c"
240                 read cc
241                 if [ ! "$cc" ] ; then
242                         ok=1
243                 else
244                         default=1
245                         BOUND_PORT="$BOUND_PORT $cc"
246                         echo "<bind address=\"$BIND_IP\" port=\"$cc\">" >> makeconf.temp
247                 fi
248         fi
249 done
250
251 if [ "$default" == "0" ] ; then 
252         echo "<bind address=\"\" port=\"6667\">" >> makeconf.temp
253 fi
254
255 ###
256 # OoOok.. Finishing section
257 ###
258
259 echo "" >> makeconf.temp
260 echo "" >> makeconf.temp
261
262 ###
263 # Finished, Port Configuration Complete :D
264 ###
265
266
267 clear
268 if [ "$default" == "0" ] ; then
269         echo "<bind address=\"\" port=\"6667\">" >> makeconf.temp
270         echo ""
271         echo ""
272 fi
273 echo "See? that wasnt so hard, The next bit is easier, just more important."
274
275 echo ""
276 echo ""
277 echo "I now need you to specify Passwords which will shut down, and restart"
278 echo "your server, these are _IMPORTANT_ and i will not allow you to use the"
279 echo "default passwords, you must use your own."
280 ok=0
281 while [ $ok -eq 0 ] ; do
282         echo ""
283         echo "Enter the password to Kill the IRCd"
284         echo -e $n "[\033[1;32m$DIE_PASS\033[0;37m] -> $c"
285         read cc
286         if [ ! "$cc" ] ; then
287                 echo ""
288                 echo "You _MUST_ specify your Own Password, try again."
289         else
290                 DIE_PASS=$cc
291                 ok=1
292         fi
293 done
294
295 echo ""
296 echo ""
297 ok=0
298 while [ $ok -eq 0 ] ; do
299         echo ""
300         echo "Now Enter the Password you will use to Restart."
301         echo -e $n "[\033[1;32m$RESTART_PASS\033[0;37m] -> $c"
302         read cc
303         if [ ! "$cc" ] ; then
304                 echo ""
305                 echo "You _MUST_ specify your Own Password, try again."
306         else
307                 RESTART_PASS=$cc
308                 ok=1
309         fi
310 done
311
312 echo ""
313 echo "Enter the Pause Between Issuing a DIE/RESTART request to the IRCd Actually doing it [in Seconds]"
314 echo -e $n "[\033[1;32m$DIE_WAIT\033[0;37m] -> $c" 
315 read cc
316 if [ "$cc" ] ; then
317         DIE_WAIT=$cc
318 fi
319
320 ###
321 # Now Write the config.. What phun
322 ###
323
324 echo "#-#-#-#-#-#-#-#-#-#-  DIE/RESTART CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-" >> makeconf.temp
325 echo "<power  diepass=\"$DIE_PASS\"" >> makeconf.temp
326 echo "        restartpass=\"$RESTART_PASS\"" >> makeconf.temp
327 echo "        pause=\"$DIE_WAIT\">" >> makeconf.temp
328 echo "" >> makeconf.temp
329 echo "" >> makeconf.temp
330
331 ###
332 # <Insert done comment here>
333 ###
334 clear
335 echo "ok, seeing as we managed that, we have to Arrange a list of people allowed to connect :)"
336 echo ""
337 echo ""
338
339 echo "This section allows you to Specify who is allowed Access to the IRCd. IP Addresses only Please"
340 echo "Although you can choose to use wildcards if you please. The default is * with no password."
341 echo "Type \"done\" at the IP Address, or leave it blank to finish, you do _NOT_ have to specify"
342 echo "any passwords"
343 echo ""
344
345
346 ###
347 # Just another Friendly Header :p
348 ###
349
350 echo "#-#-#-#-#-#-#-#-#-#-  CONNECTIONS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-" >> makeconf.temp
351
352 ok=0
353 default=0
354
355 while [ $ok -eq 0 ] ; do 
356        echo "" 
357        echo "Enter The IP Address" 
358        echo -e $n "[\033[1;32m$CONNECT_ALLOW\033[0;37m] -> $c" 
359        read cc 
360        if [ "$cc" == "done" ] ; then 
361                ok=1 
362        elif [ ! "$cc" ] ; then 
363                ok=1 
364        else 
365                ALLOW_IP=$cc 
366        fi 
367        if [ "$ok" != "1" ] ; then 
368                echo "A Registration Timeout is the time it takes before Ping Timeouting"
369                echo "a client trying to connect to the server, which hasnt issued the initial"
370                echo "commands. It is recommended that you set this to 90, if you give no"
371                echo "value, the default will be used."
372                echo "Enter 'registration' timeout"
373                echo $n "[\033[1;32m90\033[0;37m] -> $c"
374                read cc
375                if [ ! "$cc" ] ; then
376                 TIMEOUT = "90"
377                else
378                 TIMEOUT = $cc
379                fi
380                echo "Enter Password [If Applicable]" 
381                echo $n "[] -> $c" 
382                read cc 
383                if [ ! "$cc" ] ; then
384                default=1 
385                        echo "<connect allow=\"$ALLOW_IP\" timeout=\"$TIMEOUT\">" >> makeconf.temp 
386                else 
387                        echo "<connect allow=\"$ALLOW_IP\" password=\"$cc\" timeout=\"$TIMEOUT\>" >> makeconf.temp 
388                fi 
389        fi 
390 done 
391 if [ "$default" == "0" ] ; then
392          echo "<connect allow=\"*\">" >> makeconf.temp
393 fi
394
395 ###
396 # Insert Line Break before deny
397 ###
398
399 echo "" >> makeconf.temp
400
401
402 ###
403 # Another part done
404 ###
405
406 if [ "$default" == "0" ] ; then 
407         echo "No allow lines Specified, using defaults."
408 fi
409 echo ""
410 echo ""
411 echo "Now For the denies.. These will prevent users accessing the server, once again,"
412 echo "entering nothing, or \"done\" will complete the cycle, and allow you to continue"
413 echo ""
414 echo "Enter the IP Address"
415 ok=0
416 while [ $ok -eq 0 ] ; do
417         echo -e $n "[\033[1;32m$CONNECT_ALLOW\033[0;37m] -> $c"
418         read cc
419         if [ "$cc" == "done" ] ; then
420                 ok=1
421         elif [ ! "$cc" ] ; then
422                 ok=1
423         else
424                echo "<connect deny=\"$cc\">" >> makeconf.temp
425         fi
426 done
427
428 ###
429 # Footer Now
430 ###
431
432 echo "" >> makeconf.temp
433 echo "" >> makeconf.temp
434
435 clear
436 echo "Ok, now thats finished, we come to oper Classes And Compositions. Due to the Nature"
437 echo "of this, this Script will set the default tags, if you wish to change them, you will"
438 echo "have to edit the Finished config manually, in most cases they shouldnt be changed."
439
440 echo ""
441 echo ""
442 echo "Before we do that thou, i need to ask for the Domain name of your server, for example,"
443 echo "chatspike.net. This will be used To generate your vhosts."
444 echo -e $n "[\033[1;32m$VHOST_DOMAIN\033[0;37m] -> $c"
445 read cc
446 if [ "$cc" ] ; then
447         VHOST_DOMAIN=$cc
448 fi
449
450 echo "#-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-" >> makeconf.temp
451 echo "<class name=\"Shutdown\" commands=\"DIE RESTART REHASH\">" >> makeconf.temp
452 echo "<class name=\"ServerLink\" commands=\"CONNECT SQUIT\">" >> makeconf.temp
453 echo "<class name=\"BanControl\" commands=\"KILL GLINE KLINE ZLINE QLINE SHUN\">" >> makeconf.temp
454 echo "<class name=\"OperChat\" commands=\"WALLOPS CHATOPS\">" >> makeconf.temp
455 echo "<class name=\"HostCloak\" commands=\"SETHOST SETIDENT SETNAME\">" >> makeconf.temp
456 echo "" >> makeconf.temp
457 echo "" >> makeconf.temp
458 echo "#-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
459 echo "<type name=\"NetAdmin\" classes=\"OperChat BanControl HostCloak Shutdown ServerLink\" host=\"netadmin.$VHOST_DOMAIN\">" >> makeconf.temp
460 echo "<type name=\"GlobalOp\" classes=\"OperChat BanControl HostCloak ServerLink\" host=\"ircop.$VHOST_DOMAIN\">" >> makeconf.temp
461 echo "<type name=\"LocalOp\" classes=\"OperChat BanControl HostCloak\" host=\"local.$VHOST_DOMAIN\">" >> makeconf.temp
462 echo "<type name=\"Helper\" classes=\"HostCloak\" host=\"helper.$VHOST_DOMAIN\">" >> makeconf.temp
463 echo "" >> makeconf.temp
464 echo "" >> makeconf.temp
465 clear
466 echo "Yay, now comes the fun Part, time to specify Opers."
467
468 echo ""
469 echo ""
470 echo "Ok, heres the deal, gonna ask you four questions, all require answering. They are as follows:"
471 echo "1) The Opers Login, This part will replace <login> in /oper <login> <password>"
472 echo "2) The Opers Password, This will replace <password> in /oper <login> <password>"
473 echo "3) The Opers Host, The oper must be connecting from this host for /oper to work [user@host]"
474 echo "4) The Opers Class, currently all avaliable are: \"NetAdmin\", \"GlobalOp\", \"LocalOp\" and \"Helper\""
475 echo ""
476 echo "You may re-configure the classes later, and if you enter nothing for part one, we will proceed to the next step"
477
478
479 ###
480 # Stolen another few lines >;)
481 ###
482
483 echo "#-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
484
485 ###
486 # Done :p
487 ###
488
489 ok=0
490 while [ $ok -eq 0 ] ; do
491         echo "Enter the opers login name"
492         echo -e $n "[\033[1;32m$OPER_NICK\033[0;37m] -> $c"
493         read cc
494         if [ ! "$cc" ] ; then
495                 ok=1
496         else
497                 OPER_LOGIN=$cc
498         fi
499         if [ $ok -eq 0 ] ; then
500                 ok2=0
501                 while [ $ok2 -eq 0 ] ; do
502                 echo "Enter the Opers Password"
503                 echo -e $n "[\033[1;32m$OPER_PASS\033[0;37m] -> $c"
504                 read cc
505                 if [ ! "$cc" ] ; then
506                         echo "You _MUST_ Enter a password"
507                 else
508                         OPER_PASS=$cc
509                         ok2=1
510                 fi
511                 done
512                 echo "Enter Opers Host [Format User@host]"
513                 echo -e $n "[\033[1;32m$OPER_HOST\033[0;37m] -> $c"
514                 read cc
515                 if [ ! "$cc" ] ; then
516                         OPER_HOST=$OPER_HOST
517                 else
518                         OPER_HOST=$cc
519                 fi
520                 echo "Enter Opers Type [Avaliable: NetAdmin, GlobalOp, LocalOp and Helper] CHOOSE ONLY ONE"
521                 echo -e $n "[\033[1;32m$OPER_TYPE\033[0;37m] -> $c"
522                 read cc
523                 if [ ! "$cc" ] ; then
524                         OPER_TYPE=$OPER_TYPE
525                 else
526                         OPER_TYPE=$cc
527                 fi
528                 echo "Coming for a re-run"
529
530                 echo "<oper  name=\"$OPER_LOGIN\"" >> makeconf.temp
531                 echo "       password=\"$OPER_PASS\"" >> makeconf.temp
532                 echo "       host=\"$OPER_HOST\"" >> makeconf.temp 
533                 echo "       type=\"$OPER_TYPE\">" >> makeconf.temp
534
535         fi
536 done
537
538 echo "" >> makeconf.temp
539 echo "" >> makeconf.temp
540
541 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
542 echo "# You should know what to do here.. if not.. RTFM!! muahahahahaha     #" >> makeconf.temp
543 echo "" >> makeconf.temp
544 echo "<die value=\"And god came down from the heavens and smote down the noob.\">" >> makeconf.temp
545 echo "" >> makeconf.temp
546 echo "" >> makeconf.temp
547
548
549 clear
550 echo "Congratulations, Your Opers are configured!"
551 echo ""
552 echo ""
553 echo "Right, i have guessed where you Message of the Day and Rules Files will be."
554 echo "If these are correct, just hit return, else, type in the correct Location."
555 echo ""
556 echo "First The Message of the day."
557 echo -e $n "[\033[1;32m$FILES_MOTD\033[0;37m] -> $c"
558 read cc
559 if [ "$cc" ] ; then
560         FILES_MOTD=$cc
561 fi
562 echo ""
563 echo "Right, now the Rules file."
564 echo -e $n "[\033[1;32m$FILES_RULE\033[0;37m] -> $c"
565 read cc
566 if [ "$cc" ] ; then
567         FILES_RULE=$cc
568 fi
569
570 echo "#-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION   -#-#-#-#-#-#-#-#-#-" >> makeconf.temp
571 echo "<files  motd=\"$FILES_MOTD\"" >> makeconf.temp
572 echo "        rules=\"$FILES_RULE\">" >> makeconf.temp
573 echo "" >> makeconf.temp
574 echo "" >> makeconf.temp
575 clear
576 echo "Module Time!!"
577 echo ""
578 echo ""
579 echo "Enter the Names of the modules you wish to load, one at a time, below."
580 echo "Type in the name, hit return, type in another one, etc. Once complete, just hit return to end."
581 echo ""
582 echo "The Following Modules are avaliable:"
583 echo ""
584 MODLINE=""
585 for module in src/modules/*.cpp ; do
586         desc=`grep '$ModDesc:' $module | sed 's/\/\* $ModDesc://' | sed 's/\*\///'`
587         mod=`echo $module | sed 's/.cpp/.so/' | sed 's/src\/modules\///'`
588         echo -e "\033[1;32m$mod\t\t\033[0;37m$desc"
589 done
590 echo ""
591
592 ###
593 # Module Header :p
594 ###
595
596 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
597
598 ###
599 # End header
600 ###
601 ok=0
602 while [ "$ok" -eq 0 ] ; do
603 echo $n "[] -> $c"
604 read cc
605 if [ "$cc" ] ; then
606         echo "<module name=\"$cc\">" >> makeconf.temp
607 else
608         ok=1
609 fi
610 done
611
612 echo "" >> makeconf.temp
613 echo "" >> makeconf.temp
614
615 clear
616
617 echo "This is it, The final set of Variables.. Then your config is complete."
618 echo ""
619 echo ""
620 echo "These are just a few tiny Simple things, well explained.. BEGIN!"
621 echo ""
622 echo "Quit Prefix, This comes before all users Quits, it can be what you like."
623 echo -e $n "[\033[1;32m$OP_PREFIX\033[0;37m] -> $c"
624 read cc
625 if [ $cc ] ; then
626         OP_PREFIX=$cc
627 fi
628
629 echo ""
630 echo "Log level [debug, verbose, default, sparse, none]"
631 echo -e $n "[\033[1;32m$OP_DEBUG\033[0;37m] -> $c"
632 read cc
633 if [ "$cc" ] ; then
634         OP_DEBUG=$cc
635 fi
636  
637 echo ""
638 echo "Enable Halfops [Channel Mode +h], [yes/no]"
639 echo -e $n "[\033[1;32m$OP_HALFY\033[0;37m] -> $c"
640 read cc
641 if [ "$cc" ] ; then
642         OP_HALFY=$cc
643 fi
644
645 echo ""
646 echo "Enable User Channel Protection [Channel Mode +a] [yes/no]"
647 echo -e $n "[\033[1;32m$OP_PROTE\033[0;37m] -> $c"
648 read cc
649 if [ "$cc" ] ; then
650         OP_PROTE=$cc
651 fi
652
653 echo ""
654 echo "Enable Channel Founder? [Channel Mode +q] [yes/no]"
655 echo -e $n "[\033[1;32m$OP_FOUND\033[0;37m] -> $c"
656 read cc
657 if [ "$cc" ] ; then
658         OP_FOUND=$cc
659 fi
660
661 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
662 echo "<options  prefixquit=\"$OP_PREFIX\"" >> makeconf.temp 
663 echo "          loglevel=\"$OP_DEBUG\"" >> makeconf.temp
664 echo "          allowhalfop=\"$OP_HALFY\"" >> makeconf.temp
665 echo "          allowprotect=\"$OP_PROTE\"" >> makeconf.temp
666 echo "          allowfounder=\"$OP_FOUND\">" >> makeconf.temp
667 echo "" >> makeconf.temp
668 echo "" >> makeconf.temp
669
670 ME=`pwd`
671 DIR=$ME/conf/inspircd.conf
672 echo ""
673 echo "LAST QUESTION!!"
674 echo "Where am i gonna be placed? [eg. $DIR]"
675 echo -e $n "[\033[1;32m$DIR\033[0;37m] -> $c"
676 read cc
677 if [ "$cc" ] ; then
678  DIR=$cc
679 fi
680
681 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
682 echo "#                                                                     #" >> makeconf.temp
683 echo "#   You should already know what to do here :)                        #" >> makeconf.temp
684 echo "" >> makeconf.temp
685 echo "<die value=\"All l33t noobs must edit their configs.\">" >> makeconf.temp
686 echo "" >> makeconf.temp
687 echo "" >> makeconf.temp
688 echo "#########################################################################" >> makeconf.temp
689 echo "#                                                                       #" >> makeconf.temp
690 echo "#                -InspIRCd Development and Coding Team-                 #" >> makeconf.temp
691 echo "#                          www.inspircd.org                             #" >> makeconf.temp
692 echo "#                                                                       #" >> makeconf.temp
693 echo "#########################################################################" >> makeconf.temp
694
695
696
697
698 mv makeconf.temp $DIR