我制作了一个 ActionScript 3.0 Flash 游戏,并使用 SmartFoxServer 实现了多人游戏功能。现在我想把这个游戏放到我的网站上,该网站托管在 000webhost 上。
我的游戏在本地主机上运行得很好。但我需要将我的 smartfox 实例放在可以公开访问的地方。这就是我需要你们帮助的地方。
有一篇文章解释了需要做什么 -http://docs2x.smartfoxserver.com/GettingStarted/installation
我不明白,我是否必须将我的游戏和我的 smartfox 实例放在远程服务器、vps、专用服务器还是什么?
答案1
是的。您需要获取一个 VPS,或者至少一个 Amazon EC2 云实例来运行它。我 99.99% 肯定您不能使用 000webhost 的免费套餐来执行此操作。他们是一个纯粹的网络主机,您需要一个可以配置和安装 Java 和 SmartFox 服务器的地方。
那么..去亚马逊并注册一个免费账户。
您需要向他们提供信用卡/借记卡号,但只要您保持在免费套餐资源限制内,他们就不会向您收费。
获得帐户后,前往这里并启动 EC2 实例。如果你在 Google 上搜索一下,就会发现互联网上有大量 AWS 101 教程。
这一切都假设您对 Linux 有所了解,但如果您使用 Ubuntu Linux 12.04 64 位服务器创建第一个实例,那么一切就会变得更容易一些!
当您单击创建实例时,您会看到以下选择器:
选择“经典向导”并AMI 启动。
选择此实例..
还有。
选择默认存储选项
然后命名。
现在您需要创建一个 SSH 密钥,并为其命名。单击“下载密钥对”时,您的浏览器将保存私钥。请妥善保管,因为如果您丢失了它,那么您实际上就丢失了新服务器的主密钥。
现在我们需要创建一个安全组。这是Amazon EC2的防火墙。
添加 SSH、HTTP 和 HTTPS 的入站规则。现在这就足够了。
检查您做出的选择。
好极了!现在应该正在启动了。
是时候开始操作了。这是控制面板。
选择您的新服务器实例,然后右键单击它,您将获得此菜单。
然后单击“连接”。
To access your instance:
Open an SSH client.
Locate your private key file (SmartFox.pem). The wizard automatically detects the key you used to launch the instance.
Your key file must not be publicly viewable for SSH to work. Use this command if needed:
chmod 400 SmartFox.pem
Connect to your instance using its Public DNS. [ec2-xx-xx-xx-xx.compute-1.amazonaws.com].
Example
Enter the following command line:
ssh -i SmartFox.pem [email protected]
这几乎是正确的,只不过它是一个 Ubuntu 实例,你需要
ssh -i SmartFox.pem [email protected]
那么,我们就这么做吧。
ubuntu@ip-10-243-117-245:~$
我们进来了。魔术!
需要接下来安装 SmartFox..
使用 wget 下载,然后 tar xzvf 并解压。
cd ~
wget http://www.smartfoxserver.com/downloads/sfs2x/SFS2X_unix_2_0_1_64.tar.gz
tar xzvf SFS2X_unix_2_0_1_64.tar.gz
ls -lah
total 98544
drwxr-xr-x 4 tom staff 136B 19 Feb 22:51 .
drwxr-xr-x 79 tom staff 2.6K 19 Feb 22:41 ..
-rw-r--r-- 1 tom staff 48M 21 May 2012 SFS2X_unix_2_0_1_64.tar.gz
drwxr-xr-x 9 tom staff 306B 13 Feb 2012 SmartFoxServer2X
⚡ SmartFoxServer2X ls -lah
total 160
drwxr-xr-x 9 tom staff 306B 13 Feb 2012 .
drwxr-xr-x 4 tom staff 136B 19 Feb 22:51 ..
drwxr-xr-x 15 tom staff 510B 13 Feb 2012 .install4j
drwxr-xr-x 6 tom staff 204B 13 Feb 2012 Client
-rwxr-xr-x 1 tom staff 71K 13 Feb 2012 LicenseAgreement.pdf
-rwxr-xr-x 1 tom staff 5.7K 13 Feb 2012 RELEASE-NOTES.html
drwxr-xr-x 13 tom staff 442B 13 Feb 2012 SFS2X
drwxr-xr-x 8 tom staff 272B 13 Feb 2012 jre
drwxr-xr-x 9 tom staff 306B 13 Feb 2012 third-party-licenses
所以,你现在就可以开始做这件事了。
ubuntu@ip-10-243-117-245:~/SmartFoxServer2X/SFS2X$ ./sfs2x-service start
或者使用完整路径,通过运行来启动它
/home/ubuntu/SmartFoxServer2X/SFS2X/sfs2x-service start
并停止它:
/home/ubuntu/SmartFoxServer2X/SFS2X/sfs2x-service stop
您可以在该 sfs2x 服务上执行以下命令:{start|stop|status|restart|force-reload}
有趣的是,SmartFox 似乎默认需要在 AWS 安全组防火墙上打开端口 8080。
ubuntu@ip-10-243-117-245:~/SmartFoxServer2X/SFS2X$ sudo netstat -anp |grep java
tcp6 0 0 127.0.0.1:9933 :::* LISTEN 9142/java
tcp6 0 0 :::8080 :::* LISTEN 9142/java
udp6 0 0 127.0.0.1:9933 :::* 9142/java
幸运的是,这真的很容易。
在控制面板的侧边栏上,有一个安全组链接。
编辑它,添加自定义 TCP 规则并允许端口 8080 到 0.0.0.0/0
添加规则,然后应用更改。
现在,您应该能够通过控制面板中 Amazon EC2 提供给您的 DNS 名称访问 SmartFox 游戏服务器。它与您之前通过 SSH 访问的相同。
就这些了,朋友们!