Все о создании серверов pw

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Все о создании серверов pw » Perfect World сервер » Perfect World сервер 1.3.6 на debian и mysql


Perfect World сервер 1.3.6 на debian и mysql

Сообщений 1 страница 10 из 10

1

Perfect World сервер 1.3.6 на debian и mysql
--------------------------------------------------------------------------------

Доброго времени суток господа!
Поставьте на закачку файлы вот от сюда, а мы пока чуть-чуть поговорим:)

[Story...]
Впервые идея поднять свой собственный сервер ПВ появилась достаточно давно. Захотелось распробовать все вкусности этой игры и немножко побыть Богом Идеального Мира:) Однако тема отошла на второй план, т.к. лень и наличие рабочих фришек взяли вверх (пусть там и не получилось побыть богом)

Сначала был Х10к на pwgame.net... По началу даже нравилось, хотя возможность играть была только до 18:00 по МСК:( потом сервер подгружался и лагал так, как никто никогда не лагал:) Администрация правда в итоге на халяву поставила новый серв... Ставили дето неделю наверно... говорили что вайпа не будет, потом говорили что вероятность все же есть, потом запустили временный сервер где почти не давали голд, потом дали оч много голда, и потом сразу вайп:) зачем давали последний раз стоко голда, я так и не понял:) Корочь я забросил его к чертям...

И чудо проваденья завело меня на firefly. Чесно говоря, это самый лучший серв из всех где я был (спс Сантьяга, я тя тут видел;)) Со своими косяками конечн, но все же на нем было правдо интересно играть:)... В конце декабря случилось горе:( закрался фф... и до сих пор закрыт:( пришлось идти дальше...

Дальше на серверах не задерживался:\ Пангу - мало чем отличается от оффа, не катит:( СэмПВ - узкий канал, лаги:( БлекРоуз - лаги, жадный одмин (первый раз увидел чтоб ЧИ продавали за 40 рублей:) может там уже сейчас и мобов продают? заплатил чирик - на тебе Росянку:)) Ад сервер - нипомню почему не попробывал:) помню что собирался, но почемуто не стал. говорят норм серв...

Вобщем я бы так и прыгал, когда наконец не заметил, что все (!) пвп серваки лежат:( это было последней каплей. Я твердо решил, что поставлю свой сервер ПВ!:)

[Sources...]
Я просмотрел несколько форумов посвещеных поднятию и развитию серверов ПВ (Google.com рулит!:)) и остановился на двух наиболее перспективных (на мой взгляд) в плане идей. Это собсно русскоязычный ЭмуДев и забугорный мморпг-дев поэтому все что ниже изложено взято так или иначе с этих 2х источников (ссылки я буду приводить по ходу пьесы)

[Hard Working]
Сказано - сделано. С благочестивым рвение я начал пробовать свои силы в серверостроении. Скажу сразу, до этого никогда не поднимал сервера... Т.е. поднимал, но то были более обычные apache, proftpd, sshd, iced, qmail, smb и прочее, но вот конкретно игровых никогда:) Поэтому сначала я перечитал все что только смог найти на руском и на английском, была даже статья на немецком переведенная на руский (опять спс Google:))
Вооружившись кое-какими знаниями я пошел в бой. Решил для начала запустить на coLinuxе. Перебрал много, ниче не вышло:( Потом выкачал дистрибутив от TriRozhkи от сюда и чет меня прям осенило по поводу конфигов и "[A" и все пошло:)
Следующий шаг. IWeb. Нашел тут. Попарился с сертификатами в фаирфокс... заработало:) пофанился от души прочитав и приминив знания на практике
Далее. Перенос из coLinux на собсно сам Linux:). Взял Debian(любимый дистрибутив, всем советую) Взял статьи вот тут и тут и собсно все сделал, немного подковыряв authd.
Теперь последнее. Отказ от порочного MSSQL и переход на добродушный MySQL:) Оказалось что все намного проще чем я думал... Пищу для ума взял тут. И вот он нш результат:) Рабочий сервер под линуксом на MySQL...

[HowTo...]
Поехали по порядку...

1. Установка Debian.
- При установке самое главное помнить, что полностью запушенный сервак кушает порядка 6 Гигов оперативкм... Поэтому если у нас нет 6 Гигов оперативки, делаем раздел подкачки (swap) на 6 Гигов:)
- Для экономии места на винте, можно установить лишь минимальную систему, все нужное мы поставим сами
- После запуска системы, заходим под пользователем root и устанавливаем нужные нам пакеты:

Код:
# apt-get install apache2 
# apt-get install mysql-server 
# apt-get install php5 
# apt-get install php5-mysql 
# apt-get install libapache2-mod-php5 
# apt-get install phpmyadmin 
# apt-get install unzip 
# apt-get install mc

- Теперь установим пароль для пользователя root в MySQL:
Введем в консоли команду

Код:
# mysql

Теперь выполним 2 простых SQL запроса(не забудь ставить ; в конце):

Код:
>SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Новый_пароль'); 
>FLUSH PRIVILEGES;

Выйдем из программы командой /q

1.1 Востановление базы MySQL.
Этот шаг можно делать с машины под управлением Windows.
- Распакуем куда-нить себе на винт файлы из sql.rar
- В браузере откройте страничку http://IP_вашего_сервера/phpmyadmin введите логин root и пароль, который мы установили шагом назад.
- В правом столбце выбираем Импорт и указываем путь к файлу PW_tabels.sql
- Потом выбираем базу pw и нажимаем кнопку SQL в верхнем ряду.
- Вставляем в поле запроса содержимое файла PW_procedures.sql, вместо ";" в поле Разделитель вставляем "$$" и нажимаем кнопку Пошел

2. Установка сервер. Настройка.
- Распакуем содержимое сервера прямо в корень

Код:
# unzip PW1.3.6.zip

- Запустим MidnightCommander (команда mc) и найдем файл /home/glinkd/gamesys.conf Откроем его для редактирования (F4). В нем 4 раза встречается примерно следующий фрагмент

Код:
type	 =	tcp 
port	 =	29000 
address	 =	192.168.0.200

и мы 4 раза, заменяем 192.168.0.200 на IP адрес нашего будущего сервера.
- Находим и открываем для редактирования (F4) файл /home/mauthd/build/conf/table.xml Находим в самом начале вот такой фрагмент

Код:
url="jdbc:mysql://127.0.0.1:3306/pw? 
useUnicode=true&characterEncoding=utf8" username="root" 
password="1"/>

Заменяем 1 на пароль пользователя root сервера баз данных MySQL. (тот, что мы установили в конце шага 1)
- Таким же образом редактируем файлы /var/www/register/config.php

Код:
$DBHost = "localhost"; // localhost or your IP 
$DBUser = "root"; // Database user 
$DBPassword = ""; // Database password 
$DBName = "pw"; // Database name

?>

Вписываем пароль пользователя root сервера баз данных MySQL.
- Правим файл /var/www/register/status.php

Код:
/*-------Config------*/

$DBHost = "localhost"; // localhost or your IP 
$DBUser = "root"; // Database user 
$DBPassword = ""; // Database password 
$DBName = "dbo"; // Database name 
$ServerIP = "192.168.1.2"; // IP your PW Server 
$ServerPort = "29000"; // Port your PW Server

Вписываем пароль пользователя root сервера баз данных MySQL. Указываем вместо dbo имя нашей базы (в моем случае pw) и заменяем IP адрес на свой.
- Откроем файл /etc/hosts и допишем ему в конец примерно следущие строчки

Код:
192.168.1.2 dbserver 
192.168.1.2 database 
127.0.0.1 auth 
127.0.0.1 aumanager 
127.0.0.1 manager 
127.0.0.1 link1 
127.0.0.1 game1 
127.0.0.1 game2 
127.0.0.1 game3 
127.0.0.1 delivery 
127.0.0.1 backup 
127.0.0.1 gmserver

Заменв IP адрес 192.168.1.2 на наш
- Применяем права доступа:

Код:
# chmod 777 -R /home 
# chmod 777 -R /etc/ssl 
# chmod 777 /etc/gmopgen.xml 
# chmod 777 /etc/GMserver.conf 
# chmod 777 /etc/iweb.conf 
# chmod 777 -R /usr/java 
# chmod 777 -R /usr/lib 
# chmod 777 -R /usr/local/jakarta-tomcat-5.5.9/bin/*.sh 
# chmod 777 -R /lib 
# chmod 777 /root/pwserver.sh

- Добавляем библиотеки

Код:
# ldconfig

- Рейты указываются в файле /home/gamed/ptemplate.conf в строчках

Код:
exp_bonus = 100000 
MONEY_bonus = 2000 
sp_bonus = 2000 
DROP_bonus = 2000

- В скрипт регистрации я добавил автоначисление голда

Код:
$mysqlresult=MySQL_Query("select * from `users` WHERE `name`='$Login'"); 
$User_ID=MySQL_result($mysqlresult,0,'ID'); 
MySQL_Query("call usecash('$User_ID',1,0,1,0,500000,1,@error)") or die ("usecash failed!");

Укажите вместо 500000 свое количество, или закоментируйте все это безобразие если оно вам не нужно:)
(Количество указывается в серебре. Т.е. 500000 - это 5000 золота и 00 серебра)
- IWeb. [ВНИМАНИЕ!] так уж получилось что эта версия iweb оч не дружит с apache в плане занимаемых портов:( выходов 4:
Перед запуском останавливать apache (# /etc/inid.d/apache2 stop)
Поменять настройки портов apache
Не запускать и даже не устанавливать apache2. Перенести скрипт регистрации на другой сервер.
Не пользоваться iweb
Закоментировать строки

Код:
echo "=== IWEB AND ROLE MANAGEMENT ===" 
/usr/local/jakarta-tomcat-5.5.9/bin/startup.sh 
sleep 5 
echo "=== DONE! ===" 
echo ""

в файлах

Код:
/home/startup.sh 
/home/startup_min.sh 
/home/startup_max.sh

3. Запуск сервера
-В папке /root лежит мой самописный скриптик pwserver.sh для запуска сервера
Запусти его, выбери режим (1 - все данжи, 2 - только MainWorld, 3 - запуск /home/startup.sh)
1. Все данжи. Полный запуск сервера.
2. Только MainWorld. Удобно, когда надо быстро запустить только сервер.
3. Настроеный запуск из /home/startup.sh Например чтобы проверить какой-нить определенный данж

[Client side...]
Чтобы подключится к серверу надо в клиенте с рус офа произвести кое какие изменения:
- в файл element\userdata\server\serverlist.txt добавить/написать строчку вроде этой:

Код:
Elizabeth 29000 192.168.1.2где Elizabeth

- имя сервера, можно указать любое
29000 - порт сервера, его оставить таким же
192.168.1.2 - IP адрес сервера указать свой
- заменить файл шопа в element\data\gshop.data
он должен быть таким же как и тот, что на сервере (/home/gamed/config/gshop.data)
тот, что сейчас на сервере и выложен в ссылке наверху
- запустить клиент можно или через патчер или через bat файл следующего содержания:

Код:
cd element 
start elementclient.exe game:cpw

[IWeb...]
IWeb взял от сюда. Спс Refuge:) Собственно нам нужно только выполнить пункт 5 вот из этого поста.

Ну вот и все;)
Надеюсь кому то этот матерьял поможет, иначе зачем я его столько чепятал:\
©BlackPPoint

0

2

При запуске ругается на саму первую строчку в файле pwserver.sh

0

3

я его тупо удалил. Дальше начал ругаться на все строки с echo в блоках if. Переписал их от руки, как ни странно помогло. Ругается на строки самих if. Переписал их отруки не помогло.

Запрос из файла PW_procedures.sql  мой sql наотрез отказывается выполнять всевремя спихивая на синтаксическую ошибку. Замену всех ; на $$ я проводил.

при запуске через /home/startup_min.sh снова ругается на 1-ую строку удалил. Вроде бы начал запускаться сервер. Во всех категориях за исключением GAMEDBD, UNIQUENAMED выдает ошибки что не может найти файл или директорию и имя файла того что написанно в коде в этом блоке. Хотя они там есть.

блок echo "=== AUTH ==="
#cd $PW_PATH/authd/build/; ./authd &
cd $PW_PATH/mauthd/build/; ./authd &
Файл authd несуществует вообще я лично проверил, несуществует вообще нигде на моем сервере

К гайду еще вам стоит дописать что вновь созданному при первом запуске каталогу home/Logs нужно дать права а то у меня тоже что-то ругался пока не дал права.

ну естественно дальше по запуске везде ошибки конекта.
Ну что скажете?

0

4

ладно я сам уже разобрался там еще надо сделать вот так apt-get install ia32-libs
при запуске через /home/startup_min.sh надо заменить вот это

echo "=== AUTH ==="
#cd $PW_PATH/authd/build/; ./authd &
cd $PW_PATH/mauthd/build/; ./authd &

на вот это

echo "=== AUTH ==="
#cd $PW_PATH/authd/build/; ./authd &
cd $PW_PATH/mauthd/build/; ./authd.sh &

ну в остальном у вас вроде все впорядке только pwserver.sh всеравно не работает.

0

5

А на виндовсе пойдёт????

0

6

нет

0

7

Быстро, качественно и вежлево я остался доволен идите сюда вам тут тоже помогут создать сервер пв http://pw-fix.3dn.ru/

0

8

спасибо

0

9

Создам сервер pw:
Обычный - от 250р;
С новой расой, джинами - от 800р;
Защита от - 70р;
Дополнительные пожелания под заказ.
__________________________________________________
Продам / создам различные "Хак/бот - программа/код".

Связаться можно по:
skype - sof21211

0

10

спасибоо

0


Вы здесь » Все о создании серверов pw » Perfect World сервер » Perfect World сервер 1.3.6 на debian и mysql