精华内容
下载资源
问答
  • 树莓派除了能完成传统嵌入式能够做到的网络视频监控、网络传感、音频解码等等外,还能完成视频解码、机器视觉、3D游戏等等。因此树莓派最有意思的玩法就是软硬结合。 Web服务器 Web服务器一般指网站服务器,是指...

    树莓派WEB服务器(Boa)基本设置与使用

    目标用户:树莓派玩家,创客。

    树莓派是一台功能完整的迷你电脑,一台完整的电脑所拥有的功能,树莓派全都有(只是体积变得更小)。树莓派除了能完成传统嵌入式能够做到的网络视频监控、网络传感、音频解码等等外,还能完成视频解码、机器视觉、3D游戏等等。因此树莓派最有意思的玩法就是软硬结合。

    Web服务器

    Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache 、Nginx、 IIS。一句话大家访问的网站都构建在Web服务器上。

    嵌入式WEB服务器

    • 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。

    • 用户首先需要在嵌入式设备上成功移植支持脚本或CGI功能的Web服务器,然后才能进行应用程序的开发。

    • 由于嵌入式设备资源一般都比较有限,并且也不需要能同时处理很多用户的请求,因此不会使用Linux下最常用的如Apache等服务器,而需要使用一些专门为嵌入式设备设计的Web服务器,这些Web服务器在存贮空间和运行时所占有的内存空间上都会非常适合于嵌入式应用场合.

    • 树莓派上运行的web服务器主要跑一些轻量级的服务器如Nginx、Nodejs、Boa等。

    • 实现的功能主要是通过web界面对系统软硬件进行设置控制。如常见的路由器设置就是通过web服务器实现。

    这里写图片描述

    BOA 服务器是一个小巧高效的web服务器,是一个运行于unix或linux下的,支持CGI的、适合于嵌入式系统的单任务的http服务器,源代码开放、性能高。

    Boa服务器安装

    因为树莓派强大的软件支持能力,很多软件可直接安装使用,省去了ARM开发板软件移植的过程(arm开发板的软件一般要下载源码,通过arm的编译器重新编译)。

    进入pi的终端界面,输入以命令:

    $sudo apt-get update       //更新软件源
    $sudo apt-get install boa  //安装boa服务器
    $sudo dpkg -l |grep boa    //查看安装的boa软件包

    Boa软件版本是0.94.14
    这里写图片描述

    Boa服务器的配置

    boa启动时需要一个配置文件boa.conf,该文件的缺省目录目录是:/etc/boa/

    $sudo vim /etc/boa/boa.conf

    把原来的配置文件进行copy备份后,根据自己网页文件的存放目录(/var/www )并按照以下步骤进行修改。

    1. 设置html文件目录: DocumentRoot /var/www
    2. 设置默认首页: DirectoryIndex index.html
    3. 设置cgi脚本目录: 将ScriptAlias /cgi-bin/ /usr/lib/cgi-bin
      修改为 ScriptAlias /cgi-bin/ /var/www/cgi-bin

    Boa服务器使用

    • 启动boa服务器
    $sudo boa

    这里写图片描述

    • index.html
      写一个最简单的index.html文件,放在/var/www/目录下。
    <html>
    <body>
    <h1>Hello Pi BOA.</h1>
    </body>
    </html>
    • 浏览器访问

    保证你的电脑同树莓派是在一个局域网中,相互的ip应可以ping通。
    打开电脑中浏览器在地址栏输入树莓派的ip,访问成功的显示的网页界面。

    这里写图片描述

    常见问题:
    无法访问–服务器没有启动。
    404 提示–服务器启动,没有对应网页文件。

    展开全文
  • 文章目录前言一、树莓派的配置(云服务器搭建跳过此部分)1....  这是一篇基于云服务器或者树莓派搭建我的世界多人游戏服务器的文章,记录了一些笔者在搭建过程中遇到的问题及解决方法。 一、树莓派的.


    前言

      这是一篇基于云服务器或者树莓派搭建我的世界多人游戏服务器的文章,记录了一些笔者在搭建过程中遇到的问题及解决方法。


    一、树莓派的配置(云服务器搭建跳过此部分)

    1.准备工作

    以无显示器、无网线配置树莓派为例
    需要准备:

    1. 树莓派
    2. SD卡(一张4G以上的SD卡,最好是高速卡,推荐Class10的卡,卡的速度直接影响树莓派的运行速度,笔者建议最好容量16G以上,否则后续开发会使用经常不够用。)
    3. 读卡器
    4. 电源
    5. 树莓派散热片及外壳

      这里以树莓派4B 4G版本为例,首先将SD卡插入读卡器连接至电脑,使用SDFormatter格式化内存卡。
    在这里插入图片描述

    在树莓派官网下载系统镜像:https://www.raspberrypi.org/software/operating-systems/#raspberry-pi-os-32-bit
    在这里插入图片描述
    第一个是树莓派系统带图形界面及推荐的软件
    第二个是树莓派系统带图形界面
    第三个是树莓派系统不带图形界面
    需要注意的是这三个系统全部都是32位系统(2021-2-8),如果需要安装64位系统可以在https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370安装
    这里以64位系统为例,下载镜像后使用Win32DiskImager进行烧录
    在这里插入图片描述
      选择映像文件,点击写入等待后即可。烧录后看到SD卡只有几十M为正常现象,windows系统看不到linux系统的磁盘分区。
    由于笔者没有显示器及网线因此采用配置SD卡连接wifi并开启SSH服务。
    在在SD卡根目录新建一个名为wpa_supplicant.conf文件,编辑写入以下内容:

    country=CN
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
     
    network={
      ssid="你的WIFI名"
      psk="WIFI密码"
    }`
    

    在SD卡根目录新建一个名为SSH的空白文件(无文件名后缀)即可开启SSH服务。
    将SD卡插入树莓派中,上电启动,稍事等待可以在路由器控制界面查看到树莓派ip地址。

    2.远程连接树莓派

      这里以PUTTY为例,在putty官网:https://www.chiark.greenend.org.uk/~sgtatham/putty/
    下载64bit putty.exe文件。
    在这里插入图片描述
    运行后在Host Name处填写在路由器控制界面看到的ip地址,点击open。在这里插入图片描述
    用户名:pi
    密码:raspberry
    无法连接可能是SSH服务未开启
    登录时填写密码不显示为正常现象
    登陆后可以用指令更改密码

    sudo passwd pi
    

    按照提示输入两次密码即可
    在pi用户下不能对一些文件进行读写操作,因此需要进入root用户
    更改root用户密码并进入root用户

    sudo passwd root
    sudo passwd --unlock root
    su root
    

    这里第二句是解锁root用户,第三句是切换为root用户。

    3.更换源及开放端口

      需要将软件源更换至国内。
    第一步:

     sudo vi  /etc/apt/sources.list
    

    按i进入编辑模式用#注释掉原有的软件源
    如果是32位系统用

    deb http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
    deb-src http://mirrors.aliyun.com/raspbian/raspbian/ buster main contrib non-free rpi
    

    如果是64位系统用

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
    deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
    deb https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
    deb https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
    

    后按ESC键输入:wq保存后退出。
    第二步:
    再用同样的方法

     sudo vi  /etc/apt/sources.list.d/raspi.list
    

    注释掉原有内容写入

     deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
    

    然后

     sudo apt-get update
    

    出现Done说明换源成功。
      最后需要开放端口25565(这个端口是MC服务器的默认端口,当然在MC服务器的配置文件中可以改)。以后如果要开放一些其他端口也可以类似于这样做。

    sudo ufw allow 25565
    

    4.固定树莓派的ip

      在使用树莓派的过程中,DHCP往往会自动分配树莓派的IP,因此树莓派的IP地址并不是固定的,那么每次在远程登录树莓派前都需要查看一下树莓派的IP地址,非常麻烦。因此,我们手动给树莓派设定一个静态IP地址后,树莓派的IP地址就是固定的了。
    首先安装文本编辑器vim

    sudo apt-get install vim
    

    这个命令是安装vim编辑器,它是vi编辑器的升级版,更人性化些。
    在树莓派终端输入:

    sudo vim /etc/dhcpcd.conf
    

    进入文件后找到

    # Example static IP configuration:
    #interface etho
    #static ip_address=
    #static ip6_address=
    #static routers=
    #static domain_name_servers=
    

    将这几行的注释符号#删除,如果是固定树莓派使用网线时的IP,需要将第三行static ip_address后面改为使用网线时的树莓派IP,第五行static routers修改为网关IP。
    如果固定树莓派使用无线时的IP,你需要将第二行interface后的eth0改为wlan0,将第三行static ip_address静态IP改为连接无线时的树莓派IP,第五行static routers修改为路由器IP。
    修改完成后按ESC键,输入:wq保存并退出。
    执行命令

    ifconfig
    

    会发现IP地址已经发生改变。接着测试树莓派是否能联网:

    sudo apt-get update
    

    另外,手动设置的静态IP不能跟路由器DHCP所自动分配的IP重复,否则树莓派就有可能无法正常联网。

    5.winscp使用

      winscp可以进行远程操作文件传输文件,相较于命令行而言更加友好。
    另推荐winscp可以向树莓派发送文件,需要root用户登录。
    在这里插入图片描述
    主机名填写树莓派ip,用户名用root用户登录。
    如果出现:WinSCP 无权访问。 错误码:3 服务器返回的错误消息:Permission denied

    sudo vi /etc/ssh/sshd_config
    

    同样按i编辑

    如果有这段,将其注释:
    #PermitRootLogin without-password
    添加如下两行
    PermitRootLogin yes 
    StrictModes yes  
    

    后按ESC键输入:wq保存后退出。
    重启ssh服务,即可root用户登录winscp了。

    service sshd restart
    

    6.远程连接图形桌面

      看腻了黑乎乎的命令行,做到这里可以进入图形桌面了,没有安装图形桌面可跳过。
    用windows自带远程桌面连接进入树莓派图形界面:
    首先安装xrdp(建议在换源后进行,不然下载速度奇慢)

     sudo apt-get install xrdp
    

    搜索mstsc在这里插入图片描述
    输入树莓派ip后连接即可。

    二、云服务器配置(树莓派搭建跳过此部分)

    购买服务器

      首先肯定是购买一台云服务器,市面上的云服务供应商有很多,可以挑选正在做活动的购买即可。
    这里以阿里云为例:进入阿里云官网:https://www.aliyun.com/
    注册账号实名认证后点击最新活动查看活动。没有优惠活动则选择产品->热门产品->云服务器ECS
    在这里插入图片描述
    配置方面按照需求购买,镜像选择ubuntu或者debian
      购买完成后点击控制台->左上角三条杠->云服务器ECS->实例与镜像->实例(上方地域要选择购买的地域,不然看不到服务器)
    然后可以看到服务器的公网ip地址,需要重置root密码,之后点击远程连接输入账号密码登录即可。
      之后需要进入管理->安全组->配置规则,我们要做的就是开放25565端口(这个端口是MC服务器的默认端口,当然在MC服务器的配置文件中可以改)。以后如果要开放一些其他端口也可以类似于这样做。点击添加安全组规则,然后如图所示填上去然后点击确定就可以了。
    在这里插入图片描述

    也可以使用putty等工具远程连接。

    三、我的世界环境搭建

    1.准备工作

    可能用到的软件

    sudo apt-get install screen
    

    这个命令是指安装一个叫做screen的软件,用于在远程连接断开的时候不至于服务器关闭。

    配置java环境

    首先先安装一些必备的软件:

    sudo apt-get install default-jdk
    
    sudo apt install openjdk-8*
    

    第一个命令是指安装java(MC必备);如果需要安装mod则用第二条命令安装版本较低的java
    如果安装较低版本java失败可以去官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    下载.tar.gz格式的文件。这是一个压缩包。可以远程连接桌面解压压缩包。
    利用vim在/etc/profile.d/目录下新建一个jdk的配置文件java-env.sh

    vim /etc/profile.d/java-env.sh
    

    写入

    export JAVA_HOME=/data/service/jdk
    export PATH=$PATH:$JAVA_HOME/bin
    

    JAVA_HOME后面的路径为压缩包解压的目录
    执行刚修改的初始化文件命令

    source /etc/profile.d/java-env.sh
    

    查看当前jdk安装的路径命令,显示前jdk的安装路径

    echo $JAVA_HOME
    

    运行查看命令

    java -version
    

    显示java版本号,说明java环境已安装成功。

    建立新用户

    下面要创建一个文件夹并将权限给新用户,不能一直用root用户啊。
    云服务器需要创建新用户名为mc

    useradd mc
    passwd mc
    

    树莓派可以直接使用pi用户,创建完用户后需要建立游戏文件存放的文件夹并移交权限。

    mkdir /srv/mc_server
    ls -l /srv
    chown -R pi:pi /srv/mc_server
    chown -R mc:mc /srv/mc_server
    ls -l /srv
    

    三、四条命令中树莓派可以执行第三条命令,云服务器执行第四条命令。
    第一个命令用于创建文件夹;第二个和第五个命令用于查看刚创建的文件夹的详情信息;第三、四个命令用于把原来root用户的所有权变成新用户,-R参数用于把这个目录下的所有文件及文件夹地所有权变成新用户的。因为是root用户创建的,所以一开始的所有权也是root用户的。(当然,在任何情况下root用户都可以操作这个文件夹,因为它是管理员)。
    第二和第四个命令是一样的,但是输出结果却不同,表明所有者已更改。

    2.我的世界原版服务器配置

      打开这个网站https://mcversions.net/
    可以看到各个版本的MC都有,从左到右有四列,分别是:稳定版、快照、beta版和alpha版,推荐选择稳定版(如果要尝试新功能则可以选择其它版本,正常开服的话选稳定版就可以了)。找到你想下载的版本,点击"Download"(比如1.12.2),之后弹出一个页面,要你选择"Download Server Jar"还是"Download Client Jar",由于我们是开服,所以选择"Download Server Jar"。复制到它的下载地址。

    cd /srv/mc_server
    mkdir <MC版本>
    cd <MC版本>
    

    /srv/mc_server目录下建立名为版本号的文件夹,便于管理。
    其中第一个命令用于确保你的工作目录是mc_server,不然等下的命令会出错。
    第二个命令用于新建一个文件夹(文件名是版本号),推荐这样做,这样你可以在不同时间运行不同版本的MC服务器。
    第三个命令把工作目录切换到刚创建的目录。

    wget <复制到的下载地址>
    ls
    mv <ls命令查看到的.jar文件> minecraft_server.<MC版本>.jar
    

    可以用wget加复制的下载地址下载,
    也可以直接下载后用winscp将文件传输到文件夹下。
    第一个命令用于下载MC运行服务器的文件。
    第二个命令用于查看当前工作目录下的文件,一般情况下可以看到多了一个server.jar
    第三个命令把下载到的文件改个名字。注意,这是必须的,要不然配置mod的时候会出错,一定要每一个字符都相同!!!比如1.12.2版本就是minecraft_server.1.12.2.jar,如果不配置mod这个名字可以随意。
    在开服之前可以通过free命令来查看现在还有多少内存:

    free -h
    

    Mem:下的available就代表着现在可用的内存空间。

    然后开启服务器:

    java -Xms256M -Xmx512M -jar minecraft_server.<MC版本>.jar nogui
    

    java命令的第一个参数-Xms256M用于指定初始内存是256M(当然,这个参数可有可无),第二个参数-Xmx512M用于指定最大内存是512M,服务器内存小的同学两个参数可以改小一点(别太小啦)注意最大内存别超过刚才用free命令看到的available内存(也别刚好,留几十兆或多一点,要不然都会内存溢出)。-jar参数用于指定要启动一个.jar包(jar文件就是java编程语言的代码文件和各种多媒体文件的集合)。nogui参数表示不开启图形界面。
    然后等一会,发现会有报错信息,用ls命令可以看到多了一些文件(其中有eula.txt),之后输入命令打开eula.txt

    vim eula.txt
    

    打开eula.txt后可以看到最后一行写着eula=false,表示未同意用户许可,现在用键盘上的上下左右把光标定位到最后一行的最后一个字符,然后按a键,可以看到左下角变成了-- INSERT --,表示现在可以编辑文本了。删除false,加上true。然后按ESC键返回,输入:wq再回车就保存退出了。

    之后再执行一次开服的命令(PS:可以用键盘上的上下键输入之前的命令,文件名输入到一半可以按TAB键来补齐),等几十秒钟可能会看到一些警告提示,可以忽略,之后会有加载地图的进度。完成之后它会提示你已完成。现在输入stop然后回车关掉服务器,我们来配置服务器配置文件。

    vim命令打开当前目录下的server.properties文件(可以用ls命令查看),如果要在文件中查询指定字符,可以输入按下ESC之后输入/<你要查找的文本>,用n搜索下一个,用N搜索上一个。这里推荐一些要改的设置:

    参数名及默认值 说明
    allow-flight=false 允许玩家在安装添加飞行功能的mod前提下在生存模式下飞行。允许飞行可能会使恶意破坏者更加常见,因为此设定会使他们更容易达成目的。在创造模式下无作用false - 不允许飞行。悬空超过5秒的玩家会被踢出服务器。true - 允许飞行。玩家得以使用任何能飞行的mod飞行。
    difficulty=0 游戏难度:0-和平(peaceful),1-简单(easy),2-普通(normal),3-困难(hard)
    gamemode=0 默认游戏模式:0-生存(survival),1-创造(creative),2-冒险(adventure),3-观察(spectator)
    level-seed= 生成的地图种子,只有在新建地图之后才有用
    level-name= 生成的地图名称,填上之后会新建一个地图,这时可以指定level-seed
    max-players=20 最大玩家数量,可以根据自己需求来改(小服务器别太大)
    motd= 设置在连接服务器页面的个性化提示语,让你的好友马上就能知道这是你的服务器
    online-mode=true 检查玩家是否为正版用户,所以设置为false(如果为true,那么盗版用户进不了服务器)
    op-permission-level=4 设置op(MC游戏里的管理员)的权限等级,最好设置为2(为2可以使用单人游戏里的所有命令,为4则可以指定op,关闭服务器等),为2只有远程连接到了服务器才可以设置
    view-distance=10 默认加载区块半径,以服务器性能而定

    更多设置参考:https://minecraft-zh.gamepedia.com/Server.properties
    基本配置就完了,然后输入开服指令就可以开服了!
    但是,在直接开服的情况下打开MC然后连接到自己的服务器,这当然可以,但是你一旦关掉远程连接窗口MC服务器也会关掉,这时候screen就派上用场了!输入指令:

    screen -ls
    screen -S mc
    screen -ls
    

    第一和第三个命令用于查看当前有哪些screen窗口;第二个命令用来新建并进入一个叫做mc的screen窗口。在进入了一个窗口之后就可以输入开服指令了!那和正常开服有区别吗?当然有!这时按下Ctrl + A + D或输入screen -d(如果开服了用快捷键,或者直接关闭远程连接窗口也行)就会退出screen窗口,然后再用screen -ls命令可以看到刚才的mc窗口还在!!!这时候打开MC就可以正常连接。那还要进入screen窗口怎么办?输入screen -r <窗口名>就可以了。

    提示:在开服窗口中可以输入/op <玩家名>用来指定MC游戏中的管理员。输入/deop <玩家名>可以取消一个玩家的op权限。当然也可以在这里输入单人游戏中的所有指令。

    3.我的世界mod版服务器配置

      在原版服务器的基础上可以安装mod以提升趣味性。出于树莓派或云服务器性能考虑,不能选用太多或太吃性能的模组。
    forge官网:https://files.minecraftforge.net/复制所安装的原版mc版本号对应的forge的下载链接。
    在原版游戏的文件夹下使用wget指令

    wget <复制到的下载链接>
    ls
    mv <ls命令查看到的.jar文件> minecraft_forge.<MC版本>.jar
    

    这里也可以下载到电脑上用winscp向服务器传输。
    然后开启服务器:

    java -Xms256M -Xmx512M -jar minecraft_forge.<MC版本>.jar nogui
    

    第一次运行会失败,这是需要将电脑上的.minecraft文件夹下的libraries文件夹用winscp放入服务器的文件夹就好了,但是记住一定要是对应版本的。
    然后再次开启服务器:

    java -Xms256M -Xmx512M -jar minecraft_forge.<MC版本>.jar nogui
    

    出现Done就说明开服成功了,此时目录下会再生成一个叫做mods的文件夹,顾名思义,它是用于存放你想要加载进服务器的mod的

    最后一步,把你想要玩的mod下载到mods文件夹,重启forge进程,你的mod服务器就搭建完成了。
    可以用同样的方法screen让后台运行进程。

    四、内网穿透

      如果你是云服务器就不用看这里了,有公网ip可以直接看第五步。
    树莓派需要使用内网穿透,才可以实现公网访问,让小伙伴们也加入服务器一起玩。
    这里以sakura frp为例,官网:https://www.natfrp.com/
    注册后进入管理面板。
    在软件下载中选择自己的树莓派系统版本号,复制下载链接

    cd /srv
    mkdir frpc
    cd frpc
    wget <复制的下载链接>
    ls
    mv <ls命令查看到的文件> frpc
    chmod +x frpc
    

    前三条命令用于创建并进入存放frpc的文件夹,第四条命令是下载frpc,第六条命令是更改文件名,便于输入指令,第七条命令赋予权限。
    在同目录下新建文件frpc.ini
    选择创建隧道,穿透节点选择离自己近的,最好选择多线。本地地址填写树莓派ip地址,端口写80,点击确认创建。在隧道列表中点配置文件,复制’其他版本的 frpc 使用下面的配置‘下面的内容到frpc.ini中(这一步建议用winscp进行)。
    接下来运行文件,./frpc,即可登录成功。

    ./frpc
    

    成功后在管理面板查看地址及端口号,就可以通过多人游戏连接。

    五、客户端配置

      这里推荐使用hmcl启动器:https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/minecraft-tools/1265720-hello-minecraft-launcher-2-6-0-4-forge-liteloader
    在版本列表中安装服务器安装的同版本游戏,如果是mod服务器也需要安装对应的forge和mod。hmcl可以一键安装非常方便在这里插入图片描述
    下载源选择:我的世界中文论坛
    安装完成后进入游戏
    在这里插入图片描述

    选择多人游戏,选择添加服务器。服务器地址填写公网ip地址或内网穿透的地址,刷新后就可以进入游戏了。


    总结

    这就是如何在云服务器/树莓派搭建我的世界服务器的流程,如果发现文章中出现错误,欢迎留言指正。
    展开全文
  • 利用树莓派搭建简易服务器

    万次阅读 2017-06-07 00:04:24
    读研以来笔者一直负责实验室的网络维护,可以说是实验室名副其实的首席大网管。有一天笔者突发奇想,拿了手头的树莓派3结合主路由器搭建了一个稳定的... 主要包括了git服务器,远程视频监控服务器和网页游戏服务器

    读研以来笔者一直负责实验室的网络维护,可以说是实验室名副其实的首席大网管。整个实验室是从学校网络中心购买了一个教育网的公网IP地址和带宽,公网IP绑定了实验室的主路由器,而主路由器就在笔者卡位的旁边。有一天笔者突发奇想,拿了手头的树莓派3结合主路由器搭建了一个稳定的服务器,效果还不错,把搭建方法和过程和大家分享一下。
    笔者利用树莓派搭建的服务器目前只同时具有3个功能:

    • 第一个功能是作为git服务器,托管本组的project代码,这样也在github上面省了一个私有仓库;
    • 第二个功能是作为一个远程视频监控的服务器,利用之前文章里面介绍的关于mjpg-streamer的用法,在树莓派3上安装了一个USB的webcam,做远程视频监控;
    • 第三个功能是作为一个网页游戏的服务器,笔者在研一上学期多媒体技术的课程中做了一个以母校中山大学为背景的网页小游戏,这一次直接把游戏挂在服务器上面,可以让其他人也玩玩看啦。

    1. 用到设备

    • 树莓派3以及配套风扇;
    • 任意一款USB webcam网络摄像头,插在树莓派上面免驱使用;

    树莓派3烧录pi专用的raspbian系统,之后风扇按照电路图(如下图所示),接5V和GND,这样树莓派通电开机风扇开始工作。
    这里写图片描述

    2. git服务器的配置

    树莓派上面git服务器端执行:

    sudo apt-get install wget git-core
    sudo apt-get install ssh
    sudo mkdir git #创建一个文件夹存放git服务器的文件
    cd /home/git
    mkdir test.git #仓库名字
    cd test.git
    git --bare init #初始化仓库
    

    这里写图片描述

    自己电脑的客户端git bash

    git add .
    git commit -m "test"
    
    #xxx.xxx.xxx.xxx是树莓派服务器的IP地址,服务器应当是有端口号的,git用的是22号,这里我们稍后需要在主路由器里面做端口映射
    git push ssh://xxx.xxx.xxx.xxx/~/test.git
    git clone ssh://xxx.xxx.xxx.xxx/~/test.git
    

    3. 远程视频监控服务器的配置

    配置细节可以参考本博客的《树莓派安装MJPG-streamer过程》,这里不过多重复讲解,因为本文用到的是Webcam所以省去很多麻烦。配置好之后,我们使用树莓派的8888端口作为该视频服务器的端口号。
    所以如果搭配成功,并且成功启动,在同一网段下,浏览器输入xxx.xxx.xxx.xxx:8888应该就可以看到监控画面。
    这里写图片描述

    4. 网页服务器的配置

    本文使用的网页服务器解决方案是:树莓派上搭建LNMPWeb服务器。修改Ngnix配置文件(/etc/nginx/sites-available/default),使得可解析PHP文件。

    sudo apt-get update  && sudo apt-get upgrade
    sudo apt-get install nginx
    sudo /etc/init.d/nginx restart
    

    接着把要运行的网页游戏放在ngnix的目录下,首先需要修改ngnix的配置:

    sudo vi /etc/nginx/sites-available/default
    

    这里写图片描述
    画黄线的是该服务器占用的树莓派端口号和文件存放路径,将文件存放至该路径下。开启服务器之后,在同一网段浏览器输入:XXX.XXX.XXX.XXX:8080就可以看到游戏界面。
    这里写图片描述

    5. 主路由器配置

    笔者实验室的是Netgear路由器,连接上该路由器之后(无线或者有线均可),输入管理员用户名和密码即可进入管理界面(最好修改默认的用户名和密码,安全起见)之前实验室不知道是谁恶作剧修改了管理员密码,导致笔者不得不重新配置路由器。
    进入之后选择端口映射的功能,并找到树莓派的IP地址,将其固定为192.168.1.15(大家根据自己路由器实际情况设定即可),然后做端口映射,尽量选择一些不常用的端口。

    • 将192.168.1.15的22端口映射为路由器的6666端口,给git服务器用;
    • 将192.168.1.15的8888端口映射为路由器的7000端口,给远程监控服务器用;
    • 将192.168.1.15的8080端口映射为路由器的9400端口,给网页服务器用;

    启用之后,假设路由器IP为XXX.XXX.XXX.XXX,那么在外网环境下在浏览器输入:

    • XXX.XXX.XXX.XXXX.7000即可访问远程监控服务器;
    • XXX.XXX.XXX.XXXX.9400即可访问游戏网页服务器;

    使用putty输入XXX.XXX.XXX.XXXX:6666即可ssh到树莓派里面;

    使用git bash输入:
    - git push ssh://XXX.XXX.XXX.XXXX:6666/~/test.git
    - git clone ssh://XXX.XXX.XXX.XXXX:6666/~/test.git

    当然别忘了服务器别断网断电,使用之前,开启所有服务器功能:

    sudo /etc/init.d/nginx restart &
    sudo ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -n -y -f 25" -o "./output_http.so -w ./www -p 8888" &
    

    6.参考文献

    1.用树莓派搭建GIt私有服务器

    2.树莓派安装MJPG-streamer过程

    3.树莓派搭建Web服务器(LMNP)

    展开全文
  • PvPGN 全称:Player versus Player Gaming Network,是一款免费的开源跨平台服务器软件,支持Battle.net和Westwood Online游戏客户端 PvPGN在2011年停止维护,PvPGN PRO是PvPGN的一个分支版本,持续维护更新。 详情...

    简介

    PvPGN 和 PvPGN PRO
    PvPGN 全称:Player versus Player Gaming Network,是一款免费的开源跨平台服务器软件,支持Battle.net和Westwood Online游戏客户端
    PvPGN在2011年停止维护,PvPGN PRO是PvPGN的一个分支版本,持续维护更新。

    详情查看Github项目

    搭建

    参考官方教程

    首先下载编译 PvPGN 源代码所需的软件、工具

    这里用的存储方式是mysql,所以下载了libmysql++-dev,你可以不下载mysql数据库,根据自己的需求来,甚至可以用文件存储的方式保存玩家信息等

    其他存储:pgsql、sqlite3、odbc

    sudo apt-get -y install build-essential clang libc++-dev git cmake zlib1g-dev liblua5.1-0-dev libmysql++-dev
    

    这会下载一堆编译所需工具

    然后下载 PvPGN 的源代码,找个目录执行命令下载并解压

    wget https://github.com/pvpgn/pvpgn-server/archive/master.tar.gz
    tar xf master.tar.gz
    

    接下来是进入解压出来的文件夹里,建立一个build目录,然后进入这个目录

    cd pvpgn-server-master
    mkdir build
    cd build
    

    配置和编译

    cmake -D WITH_MYSQL=true -D WITH_LUA=true ../
    make && make install
    

    运行

    /usr/local/sbin/bnetd
    

    配置文件路径:/usr/local/etc/pvpgn/

    如果你是用文件储存数据,储存的文件在:/usr/local/var/pvpgn/

    测试

    最后你可以在Battle.net Gateways Editor中测试连接是否正常

    如果你做了内网映射,你可配置一下端口,即可从外网访问到你树莓派PvPGN服务器

    最后成功连上服务器,连接需要做一些操作,详情请看:《魔兽争霸3连接PvPGN服务器》

    展开全文

空空如也

空空如也

1 2 3 4
收藏数 66
精华内容 26
关键字:

树莓派游戏服务器