zoukankan      html  css  js  c++  java
  • 天堂开发环境搭建

    硬件环境

    角色 类型 操作系统 配置
    Server VMWare虚拟机 Windows 7 内存:2GB 磁盘:20GB
    Client VMWare虚拟机 Ubuntu 16.04 TLS 内存:1GB 磁盘:30GB

    软件环境

    Server节点配置

    • 网络配置
    # vim /etc/network/interfaces
    auto ens33
    iface ens33 inet static
    address 192.168.30.145
    netmask 255.255.255.0
    gateway 192.168.30.2
    dns-nameserver 114.114.114.114
    
    • 软件安装
    ### 添加中文支持
    # apt install language-pack-zh-hans
    ### 安装eclipse
    # apt install eclipse
    $ cd ~/workspace/
    ### 下载java代码(http://pan.baidu.com/s/1sljPie5)
    $ unzip Sungod_V8.zip
    $ mv Sungod_V8 Lineage
    ### 安装PyCharm
    $ tar zxf pycharm-professional-2016.1.2.tar.gz
    $ pycharm-2016.1.2/bin/pycharm.sh
    ### 安装git
    # apt install git
    ### 下载代码
    $ git clone git@github.com:silvermagic/Lineage.git -b python
    ### 安装mysql
    # apt install mysql-server
    ### 修改绑定地址bind-address = 0.0.0.0
    # vim /etc/mysql/mysql.conf.d/mysqld.cnf
    # systemctl restart mysql
    ### 导入数据库
    $ myql -u root -p
    mysql> set password for root@localhost = password('root');
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    mysql> create database l1jdb default character set gbk collate gbk_chinese_ci;
    
    ### 在windows下直接运行mysql下的mysql.exe,然后使用Navicat连接本地和Server节点的数据库,修改本地l1jdb数据库的log_chat表的datetime默认值为default,然后使用数据传输将本地l1jdb数据导入到Server服务器
    
    ### 安装python运行环境
    # apt install python-pip
    # pip install sqlalchemy
    # pip install pymysql
    
    • Java源码修改
    ############ 修改点一 ############
    ### 编辑Sungod_V8/src/META-INF/MANIFEST.MF的Class-Path: lib/c3p0-0.9.1.1.jar lib/mysql-connector-java-5.1.5-bin.jar lib/javolution.jar
    
    ############ 修改点二 ############
    ### 修改ClientThread.java的run方法,key使用固定值
    //String keyHax = Integer.toHexString((int) (Math.random() * 2147483647) + 1);
    //int key = Integer.parseInt(keyHax, 16);
    int key = 2147483647;
    
    ############ 修改点三 ############
    ### 修改ClientThread.java的run方法,添加日志打印
    
    byte data[] = null;
    try {
        data = readPacket();
    } catch (Exception e) {
        break;
    }
    System.out.println("[Recv C]
    " + new ByteArrayUtil(data).dumpToString());
    
    ############ 修改点四 ############
    ### 修改ClientThread.java的sendPacket方法,添加日志打印
    abyte0 = UByte8.fromArray(ac);
    System.out.println("[Send C]
    " + new ByteArrayUtil(abyte0).dumpToString());
    
    • Java导入项目

    File->Import

    Existing Projects into Workspace

    Select root directory(Browse选择本地Lineage目录)

    最后选择完成

    • Java项目编译

    JRE System Library(右键)-> Build Path -> Configure Build Path

    build.xml(右键)-> Run As -> 1 Ant Build

    • Java项目运行
    # 
    
    • Python项目导入

    使用Pycharm打开对应项目目录即可

    • Python项目运行

    Server.py(右键)-> Run 'Server'

    Client节点配置

    • 下载客户端代码

    客户端下载地址

    • 生成变档

    • 拷贝文件到登入器目录下


    • 拷贝登入器目录文件到Client节点的天堂目录下

    • 执行吃档程序

    • 设置新的登入器

    错误处理

    ### Pycharm启动告警
    ###
    Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap"
    
    Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita"
    Gtk-Message: Failed to load module "canberra-gtk-module"
    ###
    ### 解决办法
    ###
    # apt install gtk2-engines-pixbuf gnome-themes-standard libcanberra-gtk-module
    
  • 相关阅读:
    ASP.NET 2.0服务器控件开发之基本概念篇
    ASP.NET 2.0的URL映射的实现方法
    Asp.net中防止用户多次登录的方法
    SSRS:使用SQL2008教程学习Reporting Services之数据库AdventureWorks2008问题_学习笔记1
    ASP.NET服务器控件编程之热身运动
    ASP.NET2.0服务器控件开发之实现事件
    datalist 或者repeater分页
    .Net 上传图片加水印
    datalist 全选
    深入理解JavaScript中的函数
  • 原文地址:https://www.cnblogs.com/silvermagic/p/7666347.html
Copyright © 2011-2022 走看看