如何寫游戲伺服器
Ⅰ 如何在自己電腦上架設游戲伺服器
搭建游戲伺服器首先需要確定整個游戲程序的框架,這樣才能確定游戲伺服器所需要物理架構。
大型多人在線游戲伺服器,負載,穩定,效率(包括反饋延遲和開發效率)是這種伺服器基本要求。游戲伺服器,是一個會長期運行程序,並且它還要服務於多個不定時,不定點的網路請求。所以這類服務的特點是要特別關注穩定性和性能。這類程序如果需要多個協作來提高承載能力,則還要關注部署和擴容的便利性;同時,還需要考慮如何實現某種程度容災需求。由於多進程協同工作,也帶來了開發的復雜度,這也是需要關注的問題。
Ⅱ 如何學習java游戲伺服器開發
無論什麼語言,伺服器主要考慮的就是兩點,一是並發,二是數據(庫)對接,Java在這個方面很適合的。
並發除了有netty神庫以外,還有很多其他的網路庫,或者直接用tomcat也行,總之挺好,不過如果你要用netty的話,需要了解這個庫和並發編程,都有很多(經典)書,去看,不然你就等著踩坑吧。
數據(庫)方面,有memcache,radis的緩存庫,還有mysql和其他nosql,對接起來也很簡單,但是還是那句話,坑很多,需要自己填。
首先確定游戲需不需要長鏈接的主動推送功能,再確定並發量(效率),就基本上可以確定用什麼庫和框架了,至於數據壓縮用gzip還是7z,傳遞協議是protobuff還是json還是xml,那都是細節問題了,總之都能解決問題,不要過早考慮性能啊什麼的,先把最簡單的登錄搞起來再說。
Ⅲ 請問如何建游戲伺服器
首先你要弄游戲的伺服器端,然後配置網路連接,接下來要配置伺服器端使用的資料庫,最後把相應的伺服器應用程序按步啟動,待都能正常連接資料庫並開始提供服務了,就可以用客戶端連接了。順便說下「最主要是要根據你要搭建的游戲來決定搭建平台」比如傳奇2用的是db2資料庫,征途用的linux+mysql(也win版),美麗世界用的是mssql,天堂2用mssql等等,太多了,不舉了。
望採納!
Ⅳ 如何搭建游戲伺服器
租用伺服器應該選擇那個機房好一些呢?
在信息化時代,通過網路的方式賺錢有很多渠道,因此在網上做的業務也隨之而增多,比如說IDC吧,這個行業現在可以說是很火熱的,因此全國各地的機房也在增多,曾經有資料顯示預計在未來的時間里伺服器的需求量會是更大的一個數目,因此在選擇機房的時候務必要慎重!
第一,機房選擇的是否是國家主幹線中心的城市;
第二,機房的帶寬要充足;
第三,機房的安全防火性高,比如防火牆集群等!
第四,IDC公司的技術實力,最好找一家最頂級的代理商;
第五,服務信譽方面,大家不要忽略了這一點哦!
這個是本人做IDC業務以來總結出來的經驗,也是在客戶所反應的問題中得到的答案,雖說不是很完美的,但是代表了大多數伺服器客戶的心聲,希望大家在選擇的時候一定要慎重!
我們江西省億恩數據中心在九江,九江是江西省電信出口中心,總帶寬出口是40G,這個雙線機房是在我們已經擁有了3個雙線機房的基礎上又建立的一個機房,防火牆現在已經升級到4G的了,無論是帶寬還是安全性方面都做了很大的調整,機房的技術經驗實力又上了一個新的台階!此機房大多為VIP客戶,比如:盛大游戲英雄年代,李嘉成tom旗下一個網站,在江西九江電信中心數據中心機房以100萬簽定了6個機櫃
Ⅳ 如何寫游戲服務端
暈,貌似回答完了三年,不過樓上這位朋友不要誤導新人,服務端相比客戶端來說要簡單多了,首先,在程序構架上,服務端比客戶端相對簡單些,服務端只是收發數據,存儲數據,計算數據,但是客戶端在此基礎上還要有模型讀取和處理,雖然這么說,但是沒有幾年經驗的想寫服務端還是有很大難度的·········網上有很多SF之類的服務端源碼,並不完全是官方泄露的,也有很多是自己開發的,但是即便有人開發出來服務端,但是很少有人去寫客戶端。說到這兒,哪方面比較難應該清楚了吧·······
Ⅵ 如何使用 Go 語言寫游戲伺服器
golang是一編譯型的強類型語言,它在開發上的高效率主要來自於後發優勢,不用考慮舊有惡心的歷史,又有一個較高的工程視角。良好的避免了程序員因為「 { 需不需要獨佔一行 」這種革命問題打架,也解決了一部分趁編譯時間找產品妹妹搭訕的階級敵人。
它有自己的包管理機制,工具鏈成熟,從開發、調試到發布都很簡單方便;
有反向介面、defer、coroutine等大量的syntactic sugar;
編譯速度快,因為是強類型語言又有gc,只要通過編譯,非業務毛病就很少了;
它在語法級別上支持了goroutine,這是大家說到最多的內容,這里重點提一下。首先,coroutine並不稀罕,語言並不能超越硬體、操作系統實現神乎其神的功能。golang可以做到事情,其他語言也可以做到,譬如c++,在boost庫裡面自己就有的coroutine實現(當然用起來跟其他boost庫一樣惡心)。golang做的事情,是把這一套東西的使用過程簡化了,並且提供了一套channel的通信模式,使得程序員可以忽略諸如死鎖等問題。
goroutine的目的是描述並發編程模型。並發與並行不同,它並不需要多核的硬體支持,它不是一種物理運行狀態,而是一種程序邏輯流程。它的主要目的不是利用多核提高運行效率,而是提供一種更容易理解、不容易出錯的語言來描述問題。
實際上golang默認就是運行在單OS進程上面的,通過指定環境變數GOMAXPROCS才能轉身跑在多OS進程上面。有人提到了的pomelo,開源本來是一件很不錯的事情,但是基於自己對callback hell的偏見,我一直持有這種態度:敢用nodejs寫大規模游戲伺服器的人,都是真正的勇士 : ) 。
2、Erlang與Golang的coroutine有啥區別,coroutine是啥?
coroutine本質上是語言開發者自己實現的、處於user space內的線程,無論是erlang、還是golang都是這樣。需要解決沒有時鍾中斷;碰著阻塞式i\o,整個進程都會被操作系統主動掛起;需要自己擁有調度控制能力(放在並行環境下面還是挺麻煩的一件事)等等問題。那為啥要廢老大的勁自己做一套線程放user space裡面呢?
並發是伺服器語言必須要解決的問題;
system space的進程還有線程調度都太慢了、佔用的空間也太大了。
把線程放到user space的可以避免了陷入system call進行上下文切換以及高速緩沖更新,線程本身以及切換等操作可以做得非常的輕量。這也就是golang這類語言反復提及的超高並發能力,分分鍾給你開上幾千個線程不費力。
不同的是,golang的並發調度在i/o等易發阻塞的時候才會發生,一般是內封在庫函數內;erlang則更誇張,對每個coroutine維持一個計數器,常用語句都會導致這個計數器進行rection,一旦到點,立即切換調度函數。
中斷介入程度的不同,導致erlang看上去擁有了preemptive scheling的能力,而golang則是cooperative shceling的。golang一旦寫出純計算死循環,進程內所有會話必死無疑;要有大計算量少i\o的函數還得自己主動叫runtime.Sched()來進行調度切換。
3、golang的運行效率怎麼樣?
我是相當反感所謂的ping\pong式benchmark,運行效率需要放到具體的工作環境下面考慮。
首先,它再快也是快不過c的,畢竟底下做了那麼多工作,又有調度,又有gc什麼的。那為什麼在那些benchmark裡面,golang、nodejs、erlang的響應效率看上去那麼優秀呢,響應快,並發強?並發能力強的原因上面已經提到了,響應快是因為大量非阻塞式i\o操作出現的原因。這一點c也可以做到,並且能力更強,但是得多寫不少優質代碼。
然後,針對游戲伺服器這種高實時性的運行環境,GC所造成的跳幀問題確實比較麻煩,前面的大神 @達達 有比較詳細的論述和緩解方案,就不累述了 。隨著golang的持續開發,相信應該會有非常大的改進。一是屏蔽內存操作是現代語言的大勢所趨,它肯定是需要被實現的;二是GC演算法已經相當的成熟,效率勉勉強強過得去;三是可以通過incremental的操作來均攤cpu消耗。
用這一點點效率損失換取一個更高的生產能力是不是值得呢?我覺得是值得的,硬體已經很便宜了,人生苦短,讓自己的生活更輕松一點吧: )。
4、基於以上的論述,我認為採用go進行小范圍的MMORPG開發是可行的。
Ⅶ 怎麼架設游戲伺服器
家庭區域網視頻共享,能在各種平台上播放同一視頻即點即播而不要做任何預處理的,這樣的伺服器才是真正的家庭中所需要的伺服器!
我要求的伺服器必須要滿足如下條件:
1、低功耗,如intel u類結尾的cpu,最好核顯硬轉碼。
2、能轉碼播放藍光iso和大部分4k視頻。
3、在線下載字幕。
4、靚麗的可自動更新電影資料庫。
5、播放時能大幅跳躍反應敏捷,而不用漫長的緩沖時間。
6、最好免費!(free)
根據上述6點要求,我試過了vidon server2,emby,wild media server,universal media server,qloud server,plex,play on等十幾款軟體,
最後能留下的僅剩國產的威動伺服器(vidon server2)和國外的cloud server,另一款emby繼續觀察!
我曾經做過實驗,用一台山寨intel z8300cpu主機。單通道內存4G,ssd 64g,vga,hdmi。(該機竟然不能進入bios設置,否則就要返廠解決!真讓人無語!)
系統win10,安裝vidon,外接12t usb3.0移動硬碟盒,硬轉碼4k無壓力!但突發碼流高的1080p反而有卡頓的短暫現象,可能與單通道內存有關系。該機不適合做威動伺服器,電源管理比較怪癖且不能修改,畢竟其tdp才2w,總功耗只有4w,最適合做kodi終端!。
目前我的伺服器主機是:intel i7 4500u,16g雙通道內存,核顯hd4400,主板2個sata介面,mini-pcie擴充兩個sata,主機配了240g msata硬碟安裝win10,1t 2.5寸硬碟做從盤(下載用)。另3個sata接8t硬碟,diy單獨供電電源,遠程遙控硬碟電源,用時熱掛硬碟!整機待機12w以下,最高不超過30w。 系統安裝威動伺服器核顯硬轉碼,cpu 佔用很少,移動端4M wifi下連接十分流暢,特別是大幅度跳躍,幾乎無等待時間。與海美迪q5完能完美配合,實現了wdyy-2.0.0.8-dangbei.apk(vidon TV版)的全部功能!
只有用過的人才能體會到其硬轉碼的優良特性!甩其它國內外同類軟體幾條街!但很可惜威動伺服器與2016年8月停止了開發,轉而發展專門的影院點播系統。留下了韓國的plex大行其道!
Ⅷ 游戲伺服器怎麼做希望有教程圖解
網吧游戲伺服器只讀更新全程圖解教程 [原]
只讀更新必須打開Secondary Logon服務!我建議開如下服務
1.首先確定你的游戲盤不保護,採用NTFS分區,administrators組有2個用戶,
假設有administrator,admin個admin許可權帳號, 把admin帳號設置成客人上機的默認帳戶。
如圖1
假設網路游戲安裝在d盤,設置成d盤不保護
2.許可權設置: 一定要使用administrator帳號登陸系統.
打開D盤屬性,選擇安全選項卡(xp系統先在文件夾選項里把使用簡單文件共享哪裡的勾去掉)。
如圖2
針對d盤,先刪除d盤所有用戶的許可權,然後添加users組,許可權設置(在"高級"選項里設置) 為 :讀取運行屬性,接著,先不要點確定,再添加administrator帳戶的許可權,許可權設置為:完全控制,把"目前該項目所有者"的"administrators"改成"administrator"帳戶. 增加EVERYONE用戶,分配讀取許可權,ok.然後把"用此顯示的可以應用到的子對象的項目替代所有子對象的許可權項目"打上勾,點"確定"接下來是一個等待的過程,系統會把E盤所有文件訪問許可權重新設置.
如圖3
3.進入組策略-計算機配置-windows設置-安全設置-本地策略-用戶許可權分配.把"取得文件或其他對象的所有權"里的administrators刪除,然後添加"administrator"帳戶
4.快捷方式以runas命令為基礎,確定系統已經打開Secondary Logon服務
以迅閃游戲菜單為例
然後要先以administrator帳戶登陸系統.新建快捷方式,路徑為runas /user:administrator /savecred /env E:\游戲菜單\調用程序.exe. /user:administrator 意思是讓此程序以帳戶administrator的身份 運行,保存此快捷方式,替換原「游戲菜單」的快捷方式,游戲菜單放D盤此項必須做,放其他盤就無所謂了。不過建議放D盤。不保護的盤。
在這個快捷方式第一次運行時,會提示輸入administrator帳戶的密碼,輸入一次以後,以後永遠不會再提示
5.修改shell32.dll,防止格式化 exescope打開shell32.dll-資源-菜單-28672-設個暗碼防止別人格式化,但是你也可以通過暗碼格式化移動磁碟等.
如下圖
6.修改cmd.exe命令許可權,只留下一個A帳戶完全控制,其他用戶無訪問許可權
7.修改compmgmt.msc命令許可權,只留下一個A帳戶完全控制,其他用戶無訪問許可權
此項為必須做。要不別人可以很容易的修改你的任何用戶密碼。他以administrator進入系統就危險了、。
8.修改gpedit.msc命令許可權,只留下一個A帳戶完全控制,其他用戶無訪問許可權
9.修改regedit.exe命令許可權,只留下一個A帳戶完全控制,其他用戶無訪問許可權(我們用迅閃可以導入注冊表的)
10.根據自己的情況。把你不允許其他用戶訪問的程序或工具設為只有administrator完全控制。其他用戶無訪問許可權。
11.ie
administrator帳戶下新建IE帳戶 加入administrators組
進入C:\PROGRAM FILES\INTERNET EXPLORER 修改iexplorer.exe許可權 把擁有者改成IE
注銷用IE登陸修改iexplorer.exe許可權 刪除所有用戶訪問許可權 添加IE用戶完全控制許可權 SICENT用戶讀和運行許可權高級設置里把允許父項許可權繼承去掉
12.gpedit.msc-用戶配置-管理模板-WINDOWS組件-windows資源管理器-刪除安全選項卡 啟用
實現的效果是別人不能寫東西在你的游戲盤里,也不能刪除東西。所有游戲更新及外掛都從伺服器上進行設置。也就是說,只有你的游戲更新軟體可以寫東西到你的游戲盤。你知道administrator的密碼也可以在你限制的這個用戶里運行你限制運行的程序(cmd,gpedit.msc等)。但你的administrator不能給其他人控制。因為它是沒有任何限制的。
Ⅸ 怎麼用自己的電腦搭建游戲伺服器
這些條件只有在機房專業的環境下可以保持您好。首先伺服器是功能更強大的電腦,性能要比電腦高很多;其次伺服器的運行需要恆定的溫度,濕度,性能才不會受影響。電腦做伺服器,而且家用帶寬和機房的專用光纖無論從速度和穩定性都沒有可比性的。如果放游戲,建議租用專業的伺服器,溫度一旦升高,性能勢必大大降低,也有專業的技術人員來維護,非常方便