圣者
精华
|
战斗力 鹅
|
回帖 0
注册时间 2005-8-12
|
本帖最后由 Tring 于 2022-9-1 23:07 编辑
又折腾了半天,终于把官方版的服务器跑起来了。然而这才发现一个很严峻的问题:
客户端是用flash as写的……我搜了一大圈,全网都已经找不到能用的flex sdk了……
而且就算编出来了,现在也没有浏览器能跑flash了。
嘛,算了算了,不折腾了。
记点踩过的坑收工,后面的话当我胡言乱语就行。
> windows版的ruby必须安装自带的msys2。如果用以前装的就会导致编译模块时缺少文件。
> windows下通过gem安装mysql2需要额外下载https://downloads.mysql.com/archives/c-c/,然后指定路径安装gem install mysql2 --platform=ruby -- --with-mysql-dir=c:/your/path/to/mysql-connector-c-6.1.11-winx64
> windows版没有memcached。
> ubuntu下ruby还必须安装ruby-dev。
> 用apt安装的rubygems必须将版本更新为3.0.0.8,其他版本都会各种报错: sudo gem update --system 3.0.8
> 必须升级bundler到最新版本
> 安装mysql sqlite3 memcached并运行服务
> mysql还必须安装 sudo apt-get install libmysqlclient-dev
> 指定config安装mysql2: sudo gem install mysql2 -- --with-mysql-config=/usr/bin/mysql_config
> sqlite3还必须安装 sudo apt-get install libsqlite3-dev
> 修改GemFile的源为source "https://rubygems.org/"或source "https://gems.ruby-china.com/"(更快,但是老版本的包有缺失)
> 不通过bundle而是手动通过gem安装mysql2和sqlite3,因为GemFile里需求的版本有点老国内源缺失。
> bundle install,如果报lock相关的版本错误,则直接删除GemFile.lock。
> 将源码里的.rb_orig和.rb_sb文件都复制一份改为.rb文件。(共4个)
> 在src/unlight.rb里加上一行: $LOAD_PATH.unshift File.expand_path('../..', __FILE__) 否则RubyInline会无法正确读取.so模块。但是不能直接修改ENV['INLINEDIR'],那样会让RubyInline在mkdir时路径错误。应该是某个代码问题,但是不想细查了。
> 注释掉src/protocol/ulserver.rb里的这行: require File::expand_path(__FILE__).gsub(/src\/protocol\/ulserver.rb/, "")+"script/constdata_keys.rb"
> 都搞定后bundle exec ruby src/game.rb -p 12004 (端口号可改)
|
|