1. Рады видеть Вас на русскоязычном форуме TeamSpeak!

    У нас Вы можете скачать последнюю версию:

    Перед регистрацией рекомендуем ознакомиться

    с Правилами форума.

    Присоединяйтесь! Учите и обучайтесь!

    Скрыть объявление
  2. Новая группа "Новичок" на нашем форуме!

    Новые пользователи будут попадать в группу "Новичок".

    Это сделано для того чтобы "Новички" ознакомились с форумом, так как в большинстве случаев проблема с которой вы хотите обратиться уже обсуждалась.

    Перейти в тему обсуждения
    Быстрый переход в группу Пользователь
  3. VPS/VDS и дедикейт сервера в аренду с DDoS защитой

    • Низкий пинг
    • Действующий SLA
    • Рублевые цены без привязки к курсу валют

    Бесплатный тестовый период VPS-OpenVZ

    Попробовать

Популярно Как запустить два и более серверов на одной машине ?

Тема в разделе "F.A.Q по TeamSpeak 3", создана пользователем Nosferatum, 16 дек 2011.

Статус темы:
Закрыта.
  1. Nosferatum

    Nosferatum Пользователь

    Регистрация:
    09.11.10
    Сообщения:
    173
    Симпатии:
    12
    Баллы:
    216
    Подскажите как мне на одном VDS запустить 2 сервера TS3 или больше на 512 слотов, если 1 БД ? Это возможно ?
     
  2. если вы имеете в виду 2 и больше виртуальных серверов то возможно через команду:

    если имеется в виду 2 физических сервера то потребуется как минимум еще 1 ип адрес, и возможно установка бд в мускл
     
  3. Nosferatum

    Nosferatum Пользователь

    Регистрация:
    09.11.10
    Сообщения:
    173
    Симпатии:
    12
    Баллы:
    216
    Спс, но какраз єтого и нет(((((
     

  4. малость поправлю - второй айпи адрес не потребуется, а вот работы с БД тут да - сколько физических серверов - столько БД будет.
     
  5. ну кстати да, не подумал, можно запустить 2 и больше только последовательность портов будет сохраняться.
    если надо несколько серверов на дефаултном порте 9987, для этого понадобиться несколько ип адресов
     
  6. Nosferatum

    Nosferatum Пользователь

    Регистрация:
    09.11.10
    Сообщения:
    173
    Симпатии:
    12
    Баллы:
    216
    Тоисть с 1 БД никуда ?!
     
  7. никуда, ну можно юзать 2+ бд sqlite
     

  8. да про ето забыл
    1 ТС запускаешь с его БД "sqlite"
    2 ТС запускаешь уже с MySQL

    В итоге два отдельных сервера по 512 слотов каждый.

    Единственное что 1 ТС (тот что с sqlite) будет на дефолтных портах, а вот второй уже можешь хоть на 1000 порту делать, тока не забывай сменить все порты!!!
     
  9. Nosferatum

    Nosferatum Пользователь

    Регистрация:
    09.11.10
    Сообщения:
    173
    Симпатии:
    12
    Баллы:
    216
    Можно узнать поподробней ? Вот я щас один сервер на 512 запустил, что мне сейчас делать чтоб запустить 2 ?
     


  10. Если ОСь NIX

    <div><div style="background:#e4eaf2;border:1px dotted #000;border-bottom:0;border-left:4px solid #8394b2;color:#000;font-weight:bold;font-size:10px;margin:8px auto 0 auto;padding:3px;">Развернуть / Свернуть сообщение...</div><div style="color:#000;background:#FAFCFE;border:1px dotted #000;border-left:4px solid #8394b2;border-top:0;padding:4px;margin: 0 auto 8px auto;display:none;">Установка

    Создание пользователя
    Создаем нового пользователя ts3, от которого будет работать TeamSpeak server.
    # useradd -c ts3_user -d /home/ts3 -r -m -s /dev/null ts3
    Копирование файлов
    Переписываем архив с сервером в каталог /home/ts3 и распаковываем его
    #tar xvfz teamspeak3-server_linux-x86-3.0.0-beta20.tar.gz
    Создание файлов настроек
    Идем в каталог с сервером
    # cd teamspeak3-server_linux-amd64
    И там создаем 2 файла
    ts3server.ini
    machine_id=
    default_voice_port=9987 (тут ставишь свой порт который не занят)
    voice_ip=0.0.0.0
    liscensepath=
    filetransfer_port=30033 (тут ставишь свой порт который не занят)
    filetransfer_ip=0.0.0.0
    query_port=10011 (тут ставишь свой порт который не занят)
    query_ip=0.0.0.0
    dbplugin=ts3db_mysql
    dbpluginparameter=ts3db_mysql.ini
    dbsqlpath=sql/
    dbsqlcreatepath=create_mysql/
    logpath=logs
    logquerycommands=1
    И ts3db_mysql.ini
    [config]
    host=localhost
    port=3306
    username=mysqluser
    password=mysqlpasswd
    database=ts3
    socket=
    Параметры файлов, мне кажется, понятны.
    Создание базы данных
    Создаем файл pre_ts3.sql следующего содержания:
    use mysql;
    INSERT INTO user (Host, User, Password) VALUES ('localhost','ts3',password('sqlpassword'));
    INSERT INTO db (Host, Db, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv,
    Index_priv, Alter_priv) VALUES ('%', 'ts3', 'ts3', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y');
    CREATE DATABASE ts3;
    Не забудьте исправить sqlpassword на свое усмотрение. Для тех кто не понял, это пароль mysql-пользователя ts3, необходимый для доступа к базе данных ts3
    Cоздаём пользователя и базу.
    Далее делаем в консоли.
    # mysql -u root -p < pre_ts3.sql
    # mysqladmin -p flush-privileges
    Проверка библиотек
    Из консоли выполняем
    ldd libts3db_mysql.so
    linux-vdso.so.1 => (0x00007fff6dbf3000)
    libmysqlclient.so.15 => not found
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f597cdea000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f597cb68000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f597c952000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f597c5f3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f597d322000)
    И видим строку
    libmysqlclient.so.15 => not found
    Тк в mandriva 1010 входит уже драйвер клиента libmysqlclient.so.16, а TeamSpeak серверу нужен libmysqlclient.so.15, то мне пришлось взять данный файл из пакета lib64mysql15-5.0.67-3mdv2009.0.x86_64.rpm для 64 битной ОС или libmysql15-5.0.67-3mdv2009.0.i586.rpm для 32 битной от Mandriva 2009.
    Выкачиваем данный пакет, открываем в mc, идем с CONTENTS.cpio, потом в usr/lib64 и копируем файлы libmysqlclient.so.15.0.0 и @libmysqlclient.so.15 в каталог /usr/lib64/ для 64 битной ОС или в /usr/lib для 32 битной
    После этого снова проверяем, с помощью ldd и должны получить
    # ldd libts3db_mysql.so
    linux-vdso.so.1 => (0x00007fff4fbff000)
    libmysqlclient.so.15 => /usr/lib64/libmysqlclient.so.15 (0x00007f150b79b000)
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f150b490000)
    libm.so.6 => /lib64/libm.so.6 (0x00007f150b20d000)
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f150aff7000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f150ac99000)
    libssl.so.0.9.8 => /usr/lib64/libssl.so.0.9.8 (0x00007f150aa45000)
    libcrypto.so.0.9.8 => /usr/lib64/libcrypto.so.0.9.8 (0x00007f150a68c000)
    libz.so.1 => /lib64/libz.so.1 (0x00007f150a477000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f150bd43000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007f150a272000)
    Запуск сервера

    Первый запуск
    Правим файл ts3server_minimal_runscript.sh
    #!/bin/bash

    export LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH"

    if [ -e ts3server_linux_x86 ]; then
    ./ts3server_linux_x86 inifile=ts3server.ini $@
    else
    ./ts3server_linux_amd64 inifile=ts3server.ini $@
    fi
    И запускаем его. И если запуск произошел без ошибок (Программа не вывалилась в консоль), сохраняем строку с token, для получения полномочий superadmin на клиенте. Так же эта строка сохранена в логах в папке logs.
    Останавливаем сервер через (Ctrl-C).
    Настройка сервиса запуска сервера
    Для того чтобы наш сервер работал от имени пользователя ts3.
    1.Меняем пользователя и группу папки /home/ts3
    # chown -R ts3:ts3 /home/ts3
    2.Копируем файл ts3server_startscript.sh в файл /etc/rc.d/init.d/ts3
    3.Правим файл /etc/rc.d/init.d/ts3. Полностью файл выводить не буду - покажу только изменения.
    Итак в начало файла после строки #!/bin/bash, вставляем.

    #TeamSpeak 3
    #For TeamSpeak 3 server
    #
    # /etc/rc.d/init.d/ts3
    #
    # Starts the TeamSpeak 3 daemon
    #
    # chkconfig: 255 99 10
    # description: Runs commands scheduled by the at command at the time \
    # specified when at was run, and runs batch commands when the load \
    # average is low enough.
    # processname: atd
    #
    ### BEGIN INIT INFO
    # Provides: TeamSpeak
    # Required-Start: $network
    # Required-Stop: $network
    # Should-Start: $named mysqld postgresql ldap saslauthd
    # Should-Stop: $named mysqld postgresql ldap saslauthd
    # Default-Start: 2 3 4 5
    # Short-Description: Starts the ts3 server
    # Description: TeamSpeak is flaxible, voice Server
    ### END INIT INFO


    # Source function library.
    #set -x
    # Source function library.
    if [ -f /etc/init.d/functions ] ; then
    . /etc/init.d/functions
    elif [ -f /etc/rc.d/init.d/functions ] ; then
    . /etc/rc.d/init.d/functions
    else
    exit 0
    fi

    # Source networking configuration.
    . /etc/sysconfig/network

    # Check that networking is up.
    [ ${NETWORKING} = "no" ] && exit 0

    RETVAL=0

    #
    # See how we were called.
    #

    Изменяем строку с COMMANDLINE_PARAMETERS
    COMMANDLINE_PARAMETERS="inifile=ts3server.ini" #add any command line parameters you want to pass here
    BINARYPATH="/home/ts3/teamspeak3-server_linux-amd64"
    USER="ts3"
    Закоментировать строки с проверкой на root
    #if [ "${UID}" = "0" $USER = "root" ]; then
    # echo WARNING ! For security reasons we advise: DO NOT RUN THE SERVER AS ROOT
    # for c in $(seq 1 10); do
    # echo -n "!"
    # sleep 1
    # done
    # echo "!"
    #fi
    И изменяем строку запуска
    Было
    "./${BINARYNAME}" ${COMMANDLINE_PARAMETERS} > /dev/null &
    Стало
    su $USER -s "/bin/bash" -c "./${BINARYNAME} ${COMMANDLINE_PARAMETERS}" > /dev/null &</div></div>


    Если ОСь WIN

    <div><div style="background:#e4eaf2;border:1px dotted #000;border-bottom:0;border-left:4px solid #8394b2;color:#000;font-weight:bold;font-size:10px;margin:8px auto 0 auto;padding:3px;">Развернуть / Свернуть сообщение...</div><div style="color:#000;background:#FAFCFE;border:1px dotted #000;border-left:4px solid #8394b2;border-top:0;padding:4px;margin: 0 auto 8px auto;display:none;">1. Создаем файл ts3server.ini в папке с сервера c:/ts3server/ts3server.ini
    содержимое ts3server.ini

    Код:
    machine_id=поле можно пропустить
    default_voice_port=9987 (тут ставишь свой порт который не занят)
    voice_ip=ип адрес сервера
    licensepath=путь к файлу лицензии
    filetransfer_port=30033 (тут ставишь свой порт который не занят)
    filetransfer_ip=ип адрес сервера
    query_port=10011 (тут ставишь свой порт который не занят)
    query_ip=ип адрес сервера
    dbplugin=ts3db_mysql
    dbpluginparameter=ts3db_mysql.ini
    dbsqlpath=sql/
    dbsqlcreatepath=create_mysql/
    logpath=logs
    logquerycommands=1
    2. Создаем файл конфигурации подключения к нашей базе данных, где мы будем хранить наши данные. Файл ts3db_mysql.ini создан и находится в c:/ts3server/ts3db_mysql.ini
    Содержание ts3db_mysql.ini
    Код:
    [config]
    host=ип адрес сервера где находиться база mysql
    username=имя пользователя к базе данных
    password=пароль к базе данных
    database=имя базы данных на сервере mysql
    3. После нам нужно создать базу данных mysql.
    4. Запускаем Vertrigoserv, значок звездочки на рабочем столе
    5.Создаем базу данных на сервере mysql для этого после запуска vertrigo идем по такой ссылке http://127.0.0.1/ph pmyadmin/ имя root пароль vertrigo, в поле Новая база данных пишем название например ts3db В поле сопоставление выбираем utf8_general_ci. База данных создана

    6. Теперь подружим сервер тимспика с базой данных майскуель, для этого прописываем данные в ts3db_mysql.ini (в папке сервера c:/ts3server )

    Код:
    [config]
    host=localhost
    username=root
    password=vertrigo
    database=ts3db
    7. Запускаем сервер с такими параметрами c:/ts3server/ts3server_win32.exe inifile=ts3server.ini</div></div>
     
  11. немного не соглашусь, можно запустить и под sqlite 2 и больше сервера с помощью параметра machine_id=
    вкратце:
    1. создаем 2 директории с сервером в каждой, закидываем 2 разных лиценз ключа
    2. 1 сервер запускаем как обычный, 2 же запускаем с параметром machine_id=1(2 и т.д., значение зависит от количества физических серверов)
    в итоге получиться 2 сервера на одном ип юзающие 2 разные бд, но тот что с параметром machine_id будет юзать свободный порты, которые опять же зависят от того какие порты заняты на 1 сервере.

    можно поэкспериментировать с параметром createinifile=1, машин_ид можно указать и там.
     
  12. если надо что бы использовалась именно 1 бд на все сервера, то можно сделать еще проще, опять же потребуется один из серверов запускать с параметром machine_id=1, и привязывать в ручную через licensepath= ключ
     
  13. Nosferatum

    Nosferatum Пользователь

    Регистрация:
    09.11.10
    Сообщения:
    173
    Симпатии:
    12
    Баллы:
    216
    Блин столько много написали что я так и не понял как на 1 БД запустить 2 сервера))))))
     
  14. Archi

    ArchiIcon TeamSpeak Addic Администратор

    Регистрация:
    23.04.11
    Сообщения:
    871
    Симпатии:
    313
    Баллы:
    532
    На одной базе sqlite (БД), Вы не как не запустите 2 разных сервера... за исключением виртуальных серверов!
    А так изучайте то что написали в верхних постах. Все написано правильно, я думаю получиться, хотя сам не пробовал.
    Нечего сложного там нету. Все написали достаточно внятно и понятно.
     
  15. Nosferatum

    Nosferatum Пользователь

    Регистрация:
    09.11.10
    Сообщения:
    173
    Симпатии:
    12
    Баллы:
    216
    Тоисть я могу к єтому
    Код:
    servercreate virtualserver_name=TeamSpeak\s&#93;\p&#91;\sServer virtualserver_port=9988 virtualserver_maxclients=32
    серверу прилепить лицензию на 512 слотов я так понимаю, или я ошибся ?
     
  16. Archi

    ArchiIcon TeamSpeak Addic Администратор

    Регистрация:
    23.04.11
    Сообщения:
    871
    Симпатии:
    313
    Баллы:
    532
    нет!!! лицензию дается на 512 слотов 10 виртуальных серверов.
     
Статус темы:
Закрыта.
Загрузка...