]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - makeconf
Fixed bugs in ./configure
[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 "Enter Password [If Applicable]" 
369                echo $n "[] -> $c" 
370                read cc 
371                if [ ! "$cc" ] ; then
372                default=1 
373                        echo "<connect allow=\"$ALLOW_IP\">" >> makeconf.temp 
374                else 
375                        echo "<connect allow=\"$ALLOW_IP\" password=\"$cc\">" >> makeconf.temp 
376                fi 
377        fi 
378 done 
379 if [ "$default" == "0" ] ; then
380          echo "<connect allow=\"*\">" >> makeconf.temp
381 fi
382
383 ###
384 # Insert Line Break before deny
385 ###
386
387 echo "" >> makeconf.temp
388
389
390 ###
391 # Another part done
392 ###
393
394 if [ "$default" == "0" ] ; then 
395         echo "No allow lines Specified, using defaults."
396 fi
397 echo ""
398 echo ""
399 echo "Now For the denies.. These will prevent users accessing the server, once again,"
400 echo "entering nothing, or \"done\" will complete the cycle, and allow you to continue"
401 echo ""
402 echo "Enter the IP Address"
403 ok=0
404 while [ $ok -eq 0 ] ; do
405         echo -e $n "[\033[1;32m$CONNECT_ALLOW\033[0;37m] -> $c"
406         read cc
407         if [ "$cc" == "done" ] ; then
408                 ok=1
409         elif [ ! "$cc" ] ; then
410                 ok=1
411         else
412                echo "<connect deny=\"$cc\">" >> makeconf.temp
413         fi
414 done
415
416 ###
417 # Footer Now
418 ###
419
420 echo "" >> makeconf.temp
421 echo "" >> makeconf.temp
422
423 clear
424 echo "Ok, now thats finished, we come to oper Classes And Compositions. Due to the Nature"
425 echo "of this, this Script will set the default tags, if you wish to change them, you will"
426 echo "have to edit the Finished config manually, in most cases they shouldnt be changed."
427
428 echo ""
429 echo ""
430 echo "Before we do that thou, i need to ask for the Domain name of your server, for example,"
431 echo "chatspike.net. This will be used To generate your vhosts."
432 echo -e $n "[\033[1;32m$VHOST_DOMAIN\033[0;37m] -> $c"
433 read cc
434 if [ "$cc" ] ; then
435         VHOST_DOMAIN=$cc
436 fi
437
438 echo "#-#-#-#-#-#-#-#-#-#-#-#-  CLASS CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#-" >> makeconf.temp
439 echo "<class name=\"Shutdown\" commands=\"DIE RESTART REHASH\">" >> makeconf.temp
440 echo "<class name=\"ServerLink\" commands=\"CONNECT SQUIT\">" >> makeconf.temp
441 echo "<class name=\"BanControl\" commands=\"KILL GLINE KLINE ZLINE QLINE SHUN\">" >> makeconf.temp
442 echo "<class name=\"OperChat\" commands=\"WALLOPS CHATOPS\">" >> makeconf.temp
443 echo "<class name=\"HostCloak\" commands=\"SETHOST SETIDENT SETNAME\">" >> makeconf.temp
444 echo "" >> makeconf.temp
445 echo "" >> makeconf.temp
446 echo "#-#-#-#-#-#-#-#-#-#-#-#-  OPERATOR COMPOSITION   -#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
447 echo "<type name=\"NetAdmin\" classes=\"OperChat BanControl HostCloak Shutdown ServerLink\" host=\"netadmin.$VHOST_DOMAIN\">" >> makeconf.temp
448 echo "<type name=\"GlobalOp\" classes=\"OperChat BanControl HostCloak ServerLink\" host=\"ircop.$VHOST_DOMAIN\">" >> makeconf.temp
449 echo "<type name=\"LocalOp\" classes=\"OperChat BanControl HostCloak\" host=\"local.$VHOST_DOMAIN\">" >> makeconf.temp
450 echo "<type name=\"Helper\" classes=\"HostCloak\" host=\"helper.$VHOST_DOMAIN\">" >> makeconf.temp
451 echo "" >> makeconf.temp
452 echo "" >> makeconf.temp
453 clear
454 echo "Yay, now comes the fun Part, time to specify Opers."
455
456 echo ""
457 echo ""
458 echo "Ok, heres the deal, gonna ask you four questions, all require answering. They are as follows:"
459 echo "1) The Opers Login, This part will replace <login> in /oper <login> <password>"
460 echo "2) The Opers Password, This will replace <password> in /oper <login> <password>"
461 echo "3) The Opers Host, The oper must be connecting from this host for /oper to work [user@host]"
462 echo "4) The Opers Class, currently all avaliable are: \"NetAdmin\", \"GlobalOp\", \"LocalOp\" and \"Helper\""
463 echo ""
464 echo "You may re-configure the classes later, and if you enter nothing for part one, we will proceed to the next step"
465
466
467 ###
468 # Stolen another few lines >;)
469 ###
470
471 echo "#-#-#-#-#-#-#-#-#-#-#-  OPERATOR CONFIGURATION   -#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
472
473 ###
474 # Done :p
475 ###
476
477 ok=0
478 while [ $ok -eq 0 ] ; do
479         echo "Enter the opers login name"
480         echo -e $n "[\033[1;32m$OPER_NICK\033[0;37m] -> $c"
481         read cc
482         if [ ! "$cc" ] ; then
483                 ok=1
484         else
485                 OPER_LOGIN=$cc
486         fi
487         if [ $ok -eq 0 ] ; then
488                 ok2=0
489                 while [ $ok2 -eq 0 ] ; do
490                 echo "Enter the Opers Password"
491                 echo -e $n "[\033[1;32m$OPER_PASS\033[0;37m] -> $c"
492                 read cc
493                 if [ ! "$cc" ] ; then
494                         echo "You _MUST_ Enter a password"
495                 else
496                         OPER_PASS=$cc
497                         ok2=1
498                 fi
499                 done
500                 echo "Enter Opers Host [Format User@host]"
501                 echo -e $n "[\033[1;32m$OPER_HOST\033[0;37m] -> $c"
502                 read cc
503                 if [ ! "$cc" ] ; then
504                         OPER_HOST=$OPER_HOST
505                 else
506                         OPER_HOST=$cc
507                 fi
508                 echo "Enter Opers Type [Avaliable: NetAdmin, GlobalOp, LocalOp and Helper] CHOOSE ONLY ONE"
509                 echo -e $n "[\033[1;32m$OPER_TYPE\033[0;37m] -> $c"
510                 read cc
511                 if [ ! "$cc" ] ; then
512                         OPER_TYPE=$OPER_TYPE
513                 else
514                         OPER_TYPE=$cc
515                 fi
516                 echo "Coming for a re-run"
517
518                 echo "<oper  name=\"$OPER_LOGIN\"" >> makeconf.temp
519                 echo "       password=\"$OPER_PASS\"" >> makeconf.temp
520                 echo "       host=\"$OPER_HOST\"" >> makeconf.temp 
521                 echo "       type=\"$OPER_TYPE\">" >> makeconf.temp
522
523         fi
524 done
525
526 echo "" >> makeconf.temp
527 echo "" >> makeconf.temp
528
529 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-  RTFM LINE  -#-#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
530 echo "# You should know what to do here.. if not.. RTFM!! muahahahahaha     #" >> makeconf.temp
531 echo "" >> makeconf.temp
532 echo "<die value=\"And god came down from the heavens and smote down the noob.\">" >> makeconf.temp
533 echo "" >> makeconf.temp
534 echo "" >> makeconf.temp
535
536
537 clear
538 echo "Congratulations, Your Opers are configured!"
539 echo ""
540 echo ""
541 echo "Right, i have guessed where you Message of the Day and Rules Files will be."
542 echo "If these are correct, just hit return, else, type in the correct Location."
543 echo ""
544 echo "First The Message of the day."
545 echo -e $n "[\033[1;32m$FILES_MOTD\033[0;37m] -> $c"
546 read cc
547 if [ "$cc" ] ; then
548         FILES_MOTD=$cc
549 fi
550 echo ""
551 echo "Right, now the Rules file."
552 echo -e $n "[\033[1;32m$FILES_RULE\033[0;37m] -> $c"
553 read cc
554 if [ "$cc" ] ; then
555         FILES_RULE=$cc
556 fi
557
558 echo "#-#-#-#-#-#-#-#-#-#-  MISCELLANEOUS CONFIGURATION   -#-#-#-#-#-#-#-#-#-" >> makeconf.temp
559 echo "<files  motd=\"$FILES_MOTD\"" >> makeconf.temp
560 echo "        rules=\"$FILES_RULE\">" >> makeconf.temp
561 echo "" >> makeconf.temp
562 echo "" >> makeconf.temp
563 clear
564 echo "Module Time!!"
565 echo ""
566 echo ""
567 echo "Enter the Names of the modules you wish to load, one at a time, below."
568 echo "Type in the name, hit return, type in another one, etc. Once complete, just hit return to end."
569 echo ""
570 echo "The Following Modules are avaliable:"
571 echo ""
572 MODLINE=""
573 for module in src/modules/*.cpp ; do
574         desc=`grep '$ModDesc:' $module | sed 's/\/\* $ModDesc://' | sed 's/\*\///'`
575         mod=`echo $module | sed 's/.cpp/.so/' | sed 's/src\/modules\///'`
576         echo -e "\033[1;32m$mod\t\t\033[0;37m$desc"
577 done
578 echo ""
579
580 ###
581 # Module Header :p
582 ###
583
584 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-  MODULE OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
585
586 ###
587 # End header
588 ###
589 ok=0
590 while [ "$ok" -eq 0 ] ; do
591 echo $n "[] -> $c"
592 read cc
593 if [ "$cc" ] ; then
594         echo "<module name=\"$cc\">" >> makeconf.temp
595 else
596         ok=1
597 fi
598 done
599
600 echo "" >> makeconf.temp
601 echo "" >> makeconf.temp
602
603 clear
604
605 echo "This is it, The final set of Variables.. Then your config is complete."
606 echo ""
607 echo ""
608 echo "These are just a few tiny Simple things, well explained.. BEGIN!"
609 echo ""
610 echo "Quit Prefix, This comes before all users Quits, it can be what you like."
611 echo -e $n "[\033[1;32m$OP_PREFIX\033[0;37m] -> $c"
612 read cc
613 if [ $cc ] ; then
614         OP_PREFIX=$cc
615 fi
616
617 echo ""
618 echo "Log level [debug, verbose, default, sparse, none]"
619 echo -e $n "[\033[1;32m$OP_DEBUG\033[0;37m] -> $c"
620 read cc
621 if [ "$cc" ] ; then
622         OP_DEBUG=$cc
623 fi
624  
625 echo ""
626 echo "Enable Halfops [Channel Mode +h], [yes/no]"
627 echo -e $n "[\033[1;32m$OP_HALFY\033[0;37m] -> $c"
628 read cc
629 if [ "$cc" ] ; then
630         OP_HALFY=$cc
631 fi
632
633 echo ""
634 echo "Enable User Channel Protection [Channel Mode +a] [yes/no]"
635 echo -e $n "[\033[1;32m$OP_PROTE\033[0;37m] -> $c"
636 read cc
637 if [ "$cc" ] ; then
638         OP_PROTE=$cc
639 fi
640
641 echo ""
642 echo "Enable Channel Founder? [Channel Mode +q] [yes/no]"
643 echo -e $n "[\033[1;32m$OP_FOUND\033[0;37m] -> $c"
644 read cc
645 if [ "$cc" ] ; then
646         OP_FOUND=$cc
647 fi
648
649 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-  SERVER OPTIONS   -#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
650 echo "<options  prefixquit=\"$OP_PREFIX\"" >> makeconf.temp 
651 echo "          loglevel=\"$OP_DEBUG\"" >> makeconf.temp
652 echo "          allowhalfop=\"$OP_HALFY\"" >> makeconf.temp
653 echo "          allowprotect=\"$OP_PROTE\"" >> makeconf.temp
654 echo "          allowfounder=\"$OP_FOUND\">" >> makeconf.temp
655 echo "" >> makeconf.temp
656 echo "" >> makeconf.temp
657
658 ME=`pwd`
659 DIR=$ME/conf/inspircd.conf
660 echo ""
661 echo "LAST QUESTION!!"
662 echo "Where am i gonna be placed? [eg. $DIR]"
663 echo -e $n "[\033[1;32m$DIR\033[0;37m] -> $c"
664 read cc
665 if [ "$cc" ] ; then
666  DIR=$cc
667 fi
668
669 echo "#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#- YAWN  -#-#-#-#-#-#-#-#-#-#-#-#-#-#-#" >> makeconf.temp
670 echo "#                                                                     #" >> makeconf.temp
671 echo "#   You should already know what to do here :)                        #" >> makeconf.temp
672 echo "" >> makeconf.temp
673 echo "<die value=\"All l33t noobs must edit their configs.\">" >> makeconf.temp
674 echo "" >> makeconf.temp
675 echo "" >> makeconf.temp
676 echo "#########################################################################" >> makeconf.temp
677 echo "#                                                                       #" >> makeconf.temp
678 echo "#                -InspIRCd Development and Coding Team-                 #" >> makeconf.temp
679 echo "#                          www.inspircd.org                             #" >> makeconf.temp
680 echo "#                                                                       #" >> makeconf.temp
681 echo "#########################################################################" >> makeconf.temp
682
683
684
685
686 mv makeconf.temp $DIR