如何部署和運行Scut服務器及游戲:Windows篇


概述

Scut游戲引擎是一個永久免費的全腳本游戲服務器框架,采用MVC框架設計,簡化數據庫設計和編碼工作;降低對開發人員的開發難度;同時提供了豐富的類庫和API接口。

一、    安裝環境

必須安裝的軟件如下

  • Redis:key-value數據庫,2.6.x以上版本
  • 數據庫:MSSQL 2005以上版本
  • Web服務器: iis 6.0以上版本
  • .NET運行庫:.Net Framework 4.0以上版本

 

軟件安裝說明

1.           安裝Redis (Window版本)

安裝說明:http://www.cocoachina.com/bbs/read.php?tid=167525

測試Redis是否運行正常

a)        打開“redis-server.exe”啟動Redis服務端

b)        打開“redis-cli.exe”啟動Redis客戶端

c)        輸入“set foo bar” -- 提示 “ok”說明設置鍵值正常

d)        輸入“get foo” -- 能夠提示返回正確的“bar”,說明運行正常

2.           安裝MSSql (2005版本)

百度搜索自行安裝

3.           安裝Web服務器(IIS 7.0)

a)        在開始 -> 打開控制面板,進入“程序和功能”,選擇“打開和關閉Windows功能”,如下圖設置“Internet信息服務”選項安裝。

                       

 

b)        安裝成功后,選擇根目錄的功能視圖,檢查“ISAPI和CGI限制”,設置“ASP.NET v4.0”為允許。如圖:

 

 

4.           .NET運行庫3.5和4.0

下載地址: http://www.microsoft.com/zh-cn/download/details.aspx?id=17718

下載安裝程序后,打開直接安裝。

二、    搭建分服系統

1.           帳號和充值數據庫初始化

用戶中心、分服中心和充值中心使用的數據采用批處理方式創建(批處理文件在當前下載Scut目錄:Document\Database\Center\MsSql\必備庫創建一鍵運行.bat);使用Sa帳號(安裝MYSQL數據庫時的帳號)創建數據庫(或用DB維護者權限的帳號),配置需要相應修改;bat文件如下:

set dbServer=.   數據庫服務地址

set dbAcount=sa  帳號(有創建庫權限的)

set dbPass=123   密碼

set   gameuser=game_user  需要創建游戲服使用的帳號

set gamepass=123    游戲服使用的密碼

set   dbpath=%cd%\Data   數據庫存儲位置目錄(默認當前目錄)

 

2.           站點部署

1)     打開控制面板->管理工具-> Internet 信息服務(IIS)管理器

2)     在網站結點右擊,添加站點dir.scutgame.com

3)     將站點路徑指向到(當前下載Scut目錄)Release\WebSite\DirCenter目錄,如圖:

 

 

4)     選擇應用程序池,右擊“dir.scutgame.com”->高級設置,設置為“.NET Framework v4.0”和“經典”模式,“固定時間間隔”為0,如圖:

 

5)     設置Host文件(位置:C:\Windows\System32\drivers\etc\hosts),添加配置“127.0.0.1 dir.scutgame.com”域名轉向解析

6)     打開當前Scut目錄Release\WebSite\DirCenter\Web.config文件,修改數據庫連接

<add   key="Connection" value="Data Source=.;Database=PayDB;Uid=game_user;Pwd=123; Pooling=true;Max Pool Size=200;Min Pool   Size=0;"/>

7)     測試,打開IE訪問:http://dir.scutgame.com/DirService.asmx,如圖正常:

 

 

三、    運行游戲

1.           中間件配置

  • 帳號中間件配置

在游戲Sample目錄下的Web.Config或App.config文件,找到以“Snscenter_”開頭的配置,配置“Snscenter_Acount”使用工具生成加密串(當前Scut路徑: Release\Tools\加解密工具),Acount原串:“Uid=game_user;Pwd=123”(密鑰:BF3856AD)如圖:

 

數據庫連接配置如下(修改紅色部分):

<appSettings>

    <add   key="Snscenter_ConnectionString" value="Data   Source={0};Database=snscenter;{1}; Pooling=true; Max Pool Size=200;Min Pool Size=0;"/>

    <add   key="Snscenter_Server" value="."/>

    <add key="Snscenter_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"/>

</appSettings>

  • 充值中間件配置

配置數據庫連接字符串,如下:

<appSettings>

    <add key="PayDB_ConnectionString"   value="Data Source={0};Database=PayDB;{1}; Pooling=true; Max Pool Size=200;Min Pool Size=0;"/>

    <add key=" PayDB_Server" value="."/>

    <add key=" PayDB_Acount" value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"/>

</appSettings>

 

注:以上中間件數據庫連接配置,在以下Sample(斗地主、口袋)配置中修改

 

2.       斗地主Sample

1)      數據庫創建

游戲服划分三個數據庫,分別為:DdzConfig、Ddz1Data和Ddz1Log庫;

l  DdzConfig庫:存儲游戲內數值配置等信息;

l  Ddz1Data庫:存儲玩家信息;

l  Ddz1Log庫:存儲玩家操作日志信息;

右擊”游戲庫創建一鍵運行.bat“(當前Scut目錄:Sample\Doudizhu\Server)編輯文件,修改紅色字配置如下:

set dbServer=.

set dbAcount=sa

set dbPass=123

set gameuser=game_user

set gameName=Ddz

set   dbpath=%cd%\Data

修改后保存,並運行”游戲庫創建一鍵運.bat“,在開始->打開”Microsoft SQL Server管理器“,查看是否有”Ddz “開頭的數據庫並且里面有表則生成成功;

 

2)      啟動Exe程序

a)        檢查Redis服務器是否運行狀態,打開Redis安裝目錄,運行redis-server.exe

b)        設置Host,添加127.0.0.1 ddz.scutgame.com

c)        修改當前Scut目錄:Doudizhu\PyScript\Route.config.xml文件紅色部分配置;

<config>

  <lib path="D:/Python/Lib"   />  <!-- Python安裝目錄-->

</config>

d)        修改當前Scut目錄:Doudizhu\App.config文件紅色部分配置(參考中間件配置);設置” Redis.Host “地址為安裝Redis環境的機器IP地址(我的本機地址是:192.168.1.104)

<appSettings>

    <add key="Redis.Host"   value="192.168.1.104" />

    <add key="PayDB_Server"   value="." />

    <add key="PayDB_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502" />

 

    <add key="Snscenter_Server"   value="." />

    <add key="Snscenter_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502" />

 

</appSettings>

<connectionStrings>

    <add name="DoudizhuConfig"   providerName="" connectionString="Data Source=.;Database=DdzConfig;Uid=game_user;Pwd=123; Pooling=true;"/>

    <add name="DoudizhuData"   providerName="" connectionString="Data Source=.;Database=Ddz1Data;Uid=game_user;Pwd=123; Pooling=true;"/>

    <add name="DoudizhuLog"   providerName="" connectionString="Data Source=.;Database=Ddz1Log;Uid=game_user;Pwd=123; Pooling=true;"/>

</connectionStrings>

 

e)        運行Scut目錄下的:Sample\Doudizhu\Server\release 目錄下的“DoudizhuHostServer.exe”執行文件,如圖:

 

 

f)         運行游戲客戶端Client目錄下的“MainApp.exe”程序,進入游戲。

g)        如果進入游戲失敗,可以查看服務器日志(路徑在Scut:Sample\Doudizhu\Server\release\DdzLog\Exception目錄下)

h)        如果" DoudizhuHostServer.exe "程序打出如圖,則連接成功,否則檢查9700端口是否被防火牆阻止,在防火牆添加出入規則或可以防火牆關閉;

 

 

3.           口袋Sample

1)      數據庫創建

修改批處理文件(Scut目錄:Sample\Koudai\Server\游戲庫創建一鍵運行.bat)配置如下:

set dbServer=.

set dbAcount=sa

set dbPass=123

set gameuser=game_user

set gameName=Kd

set   dbpath=%cd%\Data

運行“游戲庫創建一鍵運.bat”文件,等待提示“執行成功”。

2)      部署站點

a)        打開控制面板->管理工具-> Internet 信息服務(IIS)管理器

b)        在網站結點右擊,添加站點“kd1.scutgame.com”

c)        將站點路徑指向到Sample\Koudai\Server\release目錄,如圖:

 

d)        打開應用程序池,右擊“kd1.scutgame.com” 選擇“高級設置”設置“.NET Framework v4.0”和“經典”模式,“固定時間間隔”為0,如圖:

 

e)        在Host文件添加127.0.0.1 kd1.scutgame.com

f)         修改當前Scut目錄Sample\Koudai\Web.Config配置文件,(注:這里以Redis.Db配置划分不同的游戲服,或配置多個Redis實例以Redis.Port端口划分),參數據連接加密參考中間件配置

<appSettings>

    <add key="Redis.Host"   value="192.168.1.104" />

    <add key="Redis.Db"   value="6" />

 

    <add key="PayDB_Server"   value="." />

    <add key="PayDB_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"   />

    <add key="Snscenter_Server"   value="." />

    <add key="Snscenter_Acount"   value="9928F40148EE44F7D50001B254E8F123E82AAA3A771E8502"   />

 

</appSettings>

<connectionStrings>

    <add   name="TianjiexingConfig" providerName=""   connectionString="Data Source=.;Database=KdConfig;Uid=game_user;Pwd=123;"/>

    <add name="TianjiexingData"   providerName="" connectionString="Data   Source=.;Database=Kd1Data;Uid=game_user;Pwd=123; "/>

    <add name="TianjiexingLog"   providerName="" connectionString="Data   Source=.;Database=Kd1Log;Uid=game_user;Pwd=123;"/></connectionStrings>

 

 

g)        檢查Redis服務器是否運行狀態,打開Redis安裝目錄,運行redis-server.exe

h)        打開IE訪問:http://kd1.scutgame.com/Service.aspx,如下正常:

 

i)          運行客戶端“start.vbs”文件(設置為豎屏),進入游戲。

注意:不能直接運行MainApp.exe

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM