Linux за българи: Форуми

Игри за Linux => Общ форум => Темата е започната от: PornStar в Sep 26, 2012, 19:59



Титла: Обяснение на урок
Публикувано от: PornStar в Sep 26, 2012, 19:59
Здравейте,

От скоро се занимавам с линукс и не съм много напред, та зак'во ми е тоя линукс освен за цс сървъри, наех си аз VPS, настроих сървърите, всичко, и остана само едно, стартиращ скрипт ама нещо не ми се получава, ето го самия скрипт и 'обяснението' - http://amxmodxbg.org/forum/archive/linux-%D1%81%D1%82%D0%B0%D1%80%D1%82%D0%B8%D1%80%D0%B0%D1%89-%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82-%D0%B7%D0%B0-counterstrike-%D1%81%D1%8A%D1%80%D0%B2%D1%8A%D1%80%D0%B8-33998.html. Ще съм благодарен на някой, който ми обясни от до как става, има един файл hlds-2.txt, к'во да го правя ми кажи..., нищо не пише в тая тема, милиарди грешки ми дава, а няма кой да ми помогне. Вие сте последната ми надежда.

Btw: Ползвам Debian, без графична среда.

Благодаря !


Титла: Re: Обяснение на урок
Публикувано от: edmon в Sep 26, 2012, 22:15
още ли я мъчите тая игра....:))


Титла: Re: Обяснение на урок
Публикувано от: go_fire в Sep 26, 2012, 22:26
Пускай си сървъра на ОС дето познаваш и се не бой. Тоя пуст ГНУ/Линукс на теб с нищо няма да е полезен. Приятелски съвет, та да се спестиш много беди и несполуки.


Титла: Re: Обяснение на урок
Публикувано от: dev_urandom в Sep 26, 2012, 23:55
Здравейте,

От скоро се занимавам с линукс и не съм много напред, та зак'во ми е тоя линукс освен за цс сървъри <cut>

Мъка, и аз се чудя за какво ти е ...


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 13:36
Аз ако имах възможност щях да се преместя, но това предлагат от хостинг компанията. Ако някой ще помага, да помага, както казах, ако имах възможност щях да мина на windows.


Титла: Re: Обяснение на урок
Публикувано от: zdraganov в Sep 27, 2012, 14:14
Погледни документацията http://amxmodxbg.org/doc/ ($2) . Скрипта не успях да го открия, но може да пейстнеш изхода от изпълнението му да анализираме тук.


Титла: Re: Обяснение на урок
Публикувано от: go_fire в Sep 27, 2012, 15:02
Ами  щом плащаме за домуване, няма нищо по-логично от това да изискаме от поддръжката да ни реши проблема. Още повече, че най-вероятно нямаш пълен достъп до машината (то се не знае, не си описал ограниченията на услугата). Но питам се аз, от кой зор, тръгваш да се занимаваш с нещо, набутваш се с пари, а нито си го проиграл предварително, нито имаш грамотно техническо лице на разположение.

Тази тема не е за този раздел. Да има игра намесена, има и ОС намесена, но не и някаква връзка между двете.


Титла: Re: Обяснение на урок
Публикувано от: bop_bop_mara в Sep 27, 2012, 15:32
Още повече, че най-вероятно нямаш пълен достъп до машината (то се не знае, не си описал ограниченията на услугата)
наех си аз VPS
Аз мисля, че това е напълно описателно и съпорта на хостинга по никакъв начин няма какво да се занимава с проблема му.

Сега да оставим настрана личните си мнения за автора, и, ако някой ще помага, да го направи. Ако не - да си мълчи (т. 4 от Правилата на форума).

PornStar, наистина не се разбира какъв е този скрипт, що е. За да има някой достъп до темите във форума, посочен от теб, трябва да е регистриран.

По принцип във форума има доста теми за CS сървъри, може да пуснеш търсене за hlds в търсачката и да погледнеш. Имаше и нещо за стартиращ скрипт, което обаче май остана недоизяснено.

Най-добре е да ни опишеш подробно каква Линукс дистрибуция се ползва (това влияе на това къде се поставя скрипта и какви команди го правят стартиращ със зареждането на системата), какво пише във въпросния урок, какво пробваш ти от него и каква грешка ти дава.

ПС. Хубаво ще е и да покажеш на всички, че, въпреки липсата на някои предварителни знания и умения, имаш воля да се научиш на нещата и да разсъждаваш, а не само да копираш и да искаш реения наготово. :)


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 16:37
Здравейте,

В темата бях го написал, но няма нищо, използвам Debian, без графична среда. Ето го "урока":

Цитат
Здравейте 

Поради това, че спирам Virtual.New.BG, за да не се загуби полезния скрипт го качвам тук!

Този скрипт прави следното:

* Държи вашия сървър винаги пуснат, демек когато крашне скрипта ще го дигне отново
* Конзола която е в отделна сесия и винаги можете да влезете в нея
* Имате възможност по-всяко време (чрез команда) да спрете, пуснете сървъра дори и да го рестартирате
* Автоматично стартиране на сървъра всеки път щом пуснете вашата машина
* Лесно се настройва и върши много добра работа

И нека да започнем с настройките на скрипта: (Той е прикачен по-долу в поста)
1. Преди да започнем със скрипта, трябва да инсталиране едно приложение ако го нямате със следната команда:
За Debian базираните:
Код:
apt-get install screen

За RedHat базираните
Код:
yum install screen


2. Правите файл с някакво име в папката /etc/init.d
Код:
nano /etc/init.d/classic

3. Слагате в него съдържанието и го настройвате:
Код:
TITLE='Counter-Strike Dedicated Server' - Най-добре е тук да сложите името на сървъра ви (За да не се бъркате)
SESSION='hlds' - Името на сесията, чрез която по-късно ако ви се наложи да влезнете в конзолата на сървъра
DAEMON='hlds_run' - Името на демота който ще стартирате (Както обикновено той е hlds_run)
DIR='/home/hlds' - Пътя до директорията на сървъра
USER='root' - Под какъв потребител да върви сървъра (Препоръчително е да си остане root)

# Game options
IP='127.0.0.1' - Ип-то на сървъра през което той да тръгне
PORT='27015' - Порта на сървъра
MAP='de_dust2' - Стартиращата карта (С коя карта да тръгне сървъра)
GAME='cstrike' - Коя модификация искате да пуснете (За CS - cstrike. За Half-Life - valve)
PLAYERS='21' - Колко максимални играча да има сървъра
TICRATE='600' - sys_ticrate на сървъра
PINGBOOST='2' - Буустера на сървъра възможности 1, 2 или 3
SVLAN='0' - sv_lan опцията
RCON='' - И rcon паролата (Ако не искате такава оставете това празно)


4. След като сте настроили сървъра е време да му зададем права:
Код:
chmod +x името-на-файла

Пример:
Код:
chmod +x classic


5. Сега време да вкараме скрипта в процесите на Linux-а за Debian базирани:
Код:
update-rc.d името-на-файла defaults 99

Пример:
Код:
update-rc.d classic defaults 99


5. Сега време да вкараме скрипта в процесите на Linux-а за RedHat базирани:
Код:
chkconfig --level 345 името-на-файла on

Пример:
Код:
chkconfig --level 345 classic on


6. Вече скрипта е готов за работа, ето и командите да опериране с него:
6.1. Стартиране на сървъра:
Код:
/etc/init.d/classic start

6.2. Спиране на сървъра:
Код:
/etc/init.d/classic stop

6.3. Рестартиране на сървъра:
Код:
/etc/init.d/classic restart


7. Как да влезем в неговата сесия (Демек в конзолата на сървъра)
Код:
/etc/init.d/името-на-файла watch

Пример:
Код:
/etc/init.d/classic watch


8. Как да излезем от конзолата без сървъра да спре:
8.1. Натискате едновременно комбинацията от бутони:
Код:
Ctrl + A + D

Внимание: Ако настинете комбинацията
Код:
Ctrl + C

Сървъра ви ще спре!

Промени:
1. Преправяне на скрипта, за да тръгне на новия Debian Squeezy
2. Пренаписване времето за което сървъра се рестартира (Така се избягват евентуално дубликиране на сесиите)
3. Добавяне на нова опция в скрипта "watch" която Ви позволява директно влизане в конзолата на сървъра
4. Премахване на HighPriority опцията, тъй като беше излишна

Има един прикачен файл, съдържанието му:

Код:
#!/bin/sh
### BEGIN INIT INFO
# Provides:          csservers
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
# This script edit by kostov[Virtual.New.BG]
# Server options
TITLE='Counter-Strike Dedicated Server'
SESSION='hlds'
DAEMON='hlds_run'
DIR='/home/slidenew2'
USER='root'

# Game options
IP='213.145.104.230'
PORT='37015'
MAP='slide_kzfr_woodslide'
GAME='cstrike'
PLAYERS='5'
TICRATE='580'
PINGBOOST='2'
SVLAN='0'
RCON=''

# Server options string
OPTS="-game $GAME +ip $IP +maxplayers $PLAYERS +map $MAP -port $PORT +sv_lan $SVLAN +rcon_password $RCON +sys_ticrate $TICRATE -pingboost $PINGBOOST -master  -noipx -nojoy +log off -pidfile $DIR/$GAME/$SESSION.pid"

# Screen command
CURRENT_USER=$(/usr/bin/whoami)
if [ "$CURRENT_USER" = "$USER" ]; then
    INTERFACE="/usr/bin/screen -A -m -d -S $SESSION"
  else
    INTERFACE="sudo -u $USER /usr/bin/screen -A -m -d -S $SESSION"
fi

service_start() {
    if [ -f $DIR/$GAME/$SESSION.pid ] || [ -f $DIR/$GAME/$SESSION-screen.pid ]; then
        if [ "$(ps -p `cat $DIR/$GAME/$SESSION.pid` | wc -l)" -gt 1 ]; then
            echo -e "Cannot start $TITLE.  Server is already running."
        else
            if [ "$(ps -p `cat $DIR/$GAME/$SESSION.pid` | wc -l)" -gt 1 ]; then
                kill -9 `cat $DIR/$GAME/$SESSION-screen.pid`
                echo "Killing process ID $id"
                echo "Removing $TITLE screen pid file"
                rm -rf $DIR/$GAME/$SESSION-screen.pid
break
            fi
if [ -f $DIR/$GAME/$SESSION-screen.pid ]; then
rm -rf $DIR/$GAME/$SESSION-screen.pid
fi
        echo "Removing $TITLE pid file"
        rm -rf $DIR/$GAME/$SESSION.pid
        screen -wipe 1> /dev/null 2> /dev/null
        service_start
        fi
    else
        if [ -x $DIR/$DAEMON ]; then
            echo "Starting $TITLE"
            cd $DIR
            $INTERFACE $DIR/$DAEMON $OPTS
            sleep 15
            ps -ef | grep SCREEN | grep "$SESSION" | grep -v grep | awk '{ print $2}' > $DIR/$GAME/$SESSION-screen.pid
            echo "$TITLE screen process ID written to $DIR/$GAME/$SESSION-screen.pid"
            echo "$TITLE server process ID written to $DIR/$GAME/$SESSION.pid"
           
            echo "$TITLE started."
            chmod 666 $DIR/$GAME/*.pid #1> /dev/null 2> /dev/null
            chown $USER $DIR/$GAME/*.pid #1> /dev/null 2> /dev/null
            sleep 15
        fi
    fi
}

service_stop() {
    if [ -f $DIR/$GAME/$SESSION.pid ] || [ -f $DIR/$GAME/$SESSION-screen.pid ]; then
        echo "Stopping $TITLE"
        for id in `cat $DIR/$GAME/$SESSION-screen.pid`
            do kill -9 $id
            echo "Killing process ID $id"
            echo "Removing $TITLE screen pid file"
            rm -rf $DIR/$GAME/$SESSION-screen.pid
            break
        done
        echo "Removing $TITLE pid file"
        rm -rf $DIR/$GAME/$SESSION.pid
        screen -wipe 1> /dev/null 2> /dev/null
        echo "$TITLE stopped."
    else
        echo -e "Cannot stop $TITLE. Server is not running."
    fi   
}


service_watch() {
        if [ `screen -wipe | grep $SESSION | grep -v grep | awk '{ print $2 }'` == '(Attached)' ]; then
                echo -e "Someone is already attached to the console of the server.\n Might want to check who"
        else
                screen -r $SESSION
        fi
}


case "$1" in
    'start')
        service_start
        ;;
    'stop')
        service_stop
        ;;
    'restart')
        service_stop
        sleep 10
        service_start
        ;;
'watch')
service_watch
;;
    *)
        echo "Usage $0 start|stop|restart|watch"
esac

exit 0

Какво правя аз?
Във създадения файл (примерно classic) поставям съдържанието на горния код и следвам стъпките описани в урока. Тръгна да пускам сървъра, но нищо, нито съобщението, нито нищо, пробвах да спра сървъра, но ми изписа, че сървъра изобщо не е бил стартиран?


Титла: Re: Обяснение на урок
Публикувано от: bop_bop_mara в Sep 27, 2012, 17:22
Цитат
2. Правите файл с някакво име в папката /etc/init.d
Код:
nano /etc/init.d/classic

3. Слагате в него съдържанието и го настройвате:
Прикаченият файл е самият стартиращ скрипт, който трябва да сложиш в твоята система под името /etc/init.d/classic (classic може да го смениш и с нещо по твой избор). След това трябва да го редактираш така, че настройките, които е описал човека, да отговарят на твоите.

Може да тръгнем стъпка по стъпка.

Първо, може ли изхода от командите:
Код
GeSHi (Bash):
  1. ls -l /etc/init.d/classic
  2. cat /etc/init.d/classic
Първата ще покаже дали файлът съществува и някои негови допълнителни атрибути, като права за достъп и собственик. Втората ще ни покаже съдържанието му.

Също така, на Дебиана качен ли е прикачения файл и под какво име (вкл. в коя директория)? И, за всеки случай, имаш ли идея какво е абсолютно и относително име на файл (абсолютен и относителен път до файл)?


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 17:41
root@stzvps:~# ls -l /etc/init.d/classic
--wx-wx-wx 1 root root 3768 Sep 27 13:39 /etc/init.d/classic

А резултата от cat си е самия код

Цитат
#!/bin/sh
### BEGIN INIT INFO
# Provides:          csservers
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO
# This script edit by kostov[Virtual.New.BG]
# Server options
TITLE='x4x0r'
SESSION='hlds'
DAEMON='hlds_run'
DIR='/home/ZombiePlague'
USER='root'

# Game options
IP='79.124.16.82'
PORT='27015'
MAP='de_dust2'
GAME='cstrike'
PLAYERS='5'
TICRATE='580'
PINGBOOST='2'
SVLAN='0'
RCON=''

# Server options string
OPTS="-game $GAME +ip $IP +maxplayers $PLAYERS +map $MAP -port $PORT +sv_lan $SVLAN +rcon_password $RCON +sys_ticrate $TICRATE -pingboost $PINGBOOST -master  -noipx -nojoy +log off -pidfile $DIR/$GAME/$SESSION.pid"

# Screen command
CURRENT_USER=$(/usr/bin/whoami)
if [ "$CURRENT_USER" = "$USER" ]; then
    INTERFACE="/usr/bin/screen -A -m -d -S $SESSION"
  else
    INTERFACE="sudo -u $USER /usr/bin/screen -A -m -d -S $SESSION"
fi

service_start() {
    if [ -f $DIR/$GAME/$SESSION.pid ] || [ -f $DIR/$GAME/$SESSION-screen.pid ]; then
        if [ "$(ps -p `cat $DIR/$GAME/$SESSION.pid` | wc -l)" -gt 1 ]; then
            echo -e "Cannot start $TITLE.  Server is already running."
        else
            if [ "$(ps -p `cat $DIR/$GAME/$SESSION.pid` | wc -l)" -gt 1 ]; then
                kill -9 `cat $DIR/$GAME/$SESSION-screen.pid`
                echo "Killing process ID $id"
                echo "Removing $TITLE screen pid file"
                rm -rf $DIR/$GAME/$SESSION-screen.pid
        break
            fi
        if [ -f $DIR/$GAME/$SESSION-screen.pid ]; then
        rm -rf $DIR/$GAME/$SESSION-screen.pid
        fi
        echo "Removing $TITLE pid file"
        rm -rf $DIR/$GAME/$SESSION.pid
        screen -wipe 1> /dev/null 2> /dev/null
        service_start
        fi
    else
        if [ -x $DIR/$DAEMON ]; then
            echo "Starting $TITLE"
            cd $DIR
            $INTERFACE $DIR/$DAEMON $OPTS
            sleep 15
            ps -ef | grep SCREEN | grep "$SESSION" | grep -v grep | awk '{ print $2}' > $DIR/$GAME/$SESSION-screen.pid
            echo "$TITLE screen process ID written to $DIR/$GAME/$SESSION-screen.pid"
            echo "$TITLE server process ID written to $DIR/$GAME/$SESSION.pid"

            echo "$TITLE started."
            chmod 666 $DIR/$GAME/*.pid #1> /dev/null 2> /dev/null
            chown $USER $DIR/$GAME/*.pid #1> /dev/null 2> /dev/null
            sleep 15
        fi
    fi
}

service_stop() {
    if [ -f $DIR/$GAME/$SESSION.pid ] || [ -f $DIR/$GAME/$SESSION-screen.pid ]; then
        echo "Stopping $TITLE"
        for id in `cat $DIR/$GAME/$SESSION-screen.pid`
            do kill -9 $id
            echo "Killing process ID $id"
            echo "Removing $TITLE screen pid file"
            rm -rf $DIR/$GAME/$SESSION-screen.pid
            break
        done
        echo "Removing $TITLE pid file"
        rm -rf $DIR/$GAME/$SESSION.pid
        screen -wipe 1> /dev/null 2> /dev/null
        echo "$TITLE stopped."
    else
        echo -e "Cannot stop $TITLE. Server is not running."
    fi
}


service_watch() {
        if [ `screen -wipe | grep $SESSION | grep -v grep | awk '{ print $2 }'` == '(Attached)' ]; then
                echo -e "Someone is already attached to the console of the server.\n Might want to check who"
        else
                screen -r $SESSION
        fi
}


case "$1" in
    'start')
        service_start
        ;;
    'stop')
        service_stop
        ;;
    'restart')
        service_stop
        sleep 10
        service_start
        ;;
        'watch')
                service_watch
                ;;
    *)
        echo "Usage $0 start|stop|restart|watch"
esac

exit 0

Може да не съм написал правилната директория, когато вляза в ftp главната директория е root, и там се намира самата папка ZombiePlague. В скрипта съм писал /home/ZombiePlague.


Титла: Re: Обяснение на урок
Публикувано от: bop_bop_mara в Sep 27, 2012, 18:24
Цитат
Код:
root@stzvps:~# ls -l /etc/init.d/classic
--wx-wx-wx 1 root root 3768 Sep 27 13:39 /etc/init.d/classic
Като за начало, това не е добре - правата за достъп не дават четене на никой и писане и изпълняване на всички.

Имаш ли познания за права за достъп под Линукс (и Unix-like системи)? Да ти потърсим подходящо четиво, преди да ти кажем как да ги нагласиш?

Цитат
А резултата от cat си е самия код
Много добре, значи си се справил със създаването на файла. Остава и настройките да са правилни (тук аз не мога да ти помагам).

Цитат
В скрипта съм писал /home/ZombiePlague.
Това ме обърка. В смисъл, в скрипта (изхода от cat) няма никъде /home/ZombiePlague. Каква е тази папка - папката със сървъра ли?


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 18:38
Цитат
Код:
root@stzvps:~# ls -l /etc/init.d/classic
--wx-wx-wx 1 root root 3768 Sep 27 13:39 /etc/init.d/classic
Като за начало, това не е добре - правата за достъп не дават четене на никой и писане и изпълняване на всички.

Имаш ли познания за права за достъп под Линукс (и Unix-like системи)? Да ти потърсим подходящо четиво, преди да ти кажем как да ги нагласиш?

Цитат
А резултата от cat си е самия код
Много добре, значи си се справил със създаването на файла. Остава и настройките да са правилни (тук аз не мога да ти помагам).

Цитат
В скрипта съм писал /home/ZombiePlague.
Това ме обърка. В смисъл, в скрипта (изхода от cat) няма никъде /home/ZombiePlague. Каква е тази папка - папката със сървъра ли?

Грешката беше моя, да това е папката на сървъра. А за правата предполагам, че ще стане така:

chmod 777 -R classic, като предварително съм влязъл в папката init.d (имам предвид cd /etc/init.d/)


Титла: Re: Обяснение на урок
Публикувано от: bop_bop_mara в Sep 27, 2012, 18:53
Грешката беше моя, да това е папката на сървъра. А за правата предполагам, че ще стане така:

chmod 777 -R classic, като предварително съм влязъл в папката init.d (имам предвид cd /etc/init.d/)

Ако това е папката на сървъра, предполагам, че вечи си оправил съответния ред в скрипта.
За правата - 755 ми се струва максимумът, който би трябвало да е нужен. За това колко е минимумът, обаче, не мога да кажа. :)

След като оправиш тези неща, трябва да си готов с точки 1 до 4 от указанията. Пробвай нататък (5 и 6) и кажи дали всичко е наред.


Титла: Re: Обяснение на урок
Публикувано от: dejuren в Sep 27, 2012, 19:03
леко встрани от темата
Цитат
8. Как да излезем от конзолата без сървъра да спре:
8.1. Натискате едновременно комбинацията от бутони:
Код:
Ctrl + A + D

Внимание: Ако настинете комбинацията
Код:
Ctrl + C
Сървъра ви ще спре!
Тук авторът е допуснал малка грешка. Комбинацията Ctrl + A се натиска първо, следвана от D (не Ctrl+D).

Имаш ли познания за права за достъп под Линукс (и Unix-like системи)? Да ти потърсим подходящо четиво, преди да ти кажем как да ги нагласиш?
Винаги давам двете като подходящи четива ;)

http://wiki.ubuntuusers-bg.org/doku.php?id=ubuntu_chicks
http://wiki.ubuntuusers-bg.org/doku.php?id=work_with_console


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 19:16
root:~# /etc/init.d/classic start
root:~# /etc/init.d/classic stop
-e Cannot stop x4x0r. Server is not running.


Титла: Re: Обяснение на урок
Публикувано от: ddantgwyn в Sep 27, 2012, 19:34
root:~# /etc/init.d/classic start

След това казва ли нещо?

И покажи какво ще казва

root:~# /etc/init.d/classic stаtus

веднага след като стартираш скрипта


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 19:42
root:~# /etc/init.d/classic start
root:~# /etc/init.d/classic status
Usage /etc/init.d/classic start|stop|restart|watch

:(

След това пробвах със стоп, и пак пише, че не е пуснат.


Титла: Re: Обяснение на урок
Публикувано от: bop_bop_mara в Sep 27, 2012, 19:43
Може да покажеш и изхода от
Код
GeSHi (Bash):
  1. ls -ld /home/ZombiePlague


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 19:46
root:~# ls -ld /home/ZombiePlague
ls: cannot access /home/ZombiePlague: No such file or directory
root@:~# ls -ld /root/ZombiePlague
drwxr-xr-x 7 root root 4096 Sep 26 21:01 /root/ZombiePlague
root@stzvps:~#

Какво по-дяволите?


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 19:49
ТРЪГНАА !!! ПИЧ, ЗАДЪЛЖЕН СЪМ ТИ ! ХИЛЯДИ БЛАГОДАРНОСТИ !


Титла: Re: Обяснение на урок
Публикувано от: ddantgwyn в Sep 27, 2012, 19:51
ТРЪГНАА !!! ПИЧ, ЗАДЪЛЖЕН СЪМ ТИ ! ХИЛЯДИ БЛАГОДАРНОСТИ !

ааа, аз невинен, то така си беше  ::)

а ако визираш bop_bop_mara -- тя е девойка :D


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 19:53
Извинявам се  :D


Титла: Re: Обяснение на урок
Публикувано от: bop_bop_mara в Sep 27, 2012, 19:54
ТРЪГНАА !!! ПИЧ, ЗАДЪЛЖЕН СЪМ ТИ ! ХИЛЯДИ БЛАГОДАРНОСТИ !
Значи в крайна сметка проблемът беше в правата на скрипта и обърканото име на директорията със сървъра?


Титла: Re: Обяснение на урок
Публикувано от: PornStar в Sep 27, 2012, 19:57
Точно така. За това даже не ми трябваше да зная нещо относно Linux, ама а де.