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