File hướng dẫn deploy code game bài java lên server ubuntu!

zunzunedev 

Administrator
Đội ngũ admin
Mod
upload app.zip vào folder /var ==== sudo timedatectl set-timezone Asia/Ho_Chi_Minh sudo apt update sudo apt install unzip cd /var unzip app.zip sudo apt install apt-transport-https ca-certificates curl software-properties-common -y curl -fsSL [URL]https://download.docker.com/linux/ubuntu/gpg[/URL] | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] [URL]https://download.docker.com/linux/ubuntu[/URL] bionic stable" sudo apt update apt-cache policy docker-ce sudo apt install docker-ce -y sudo curl -L "[URL]https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname[/URL] -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose apt install docker-compose docker-compose --version /var/app/BackendMaster/VbeeCommon/src/main/java/com/vinplay/common/game3rd Cài giờ cho vps * sudo timedatectl set-timezone Asia/Ho_Chi_Minh * cài từ đây * sudo apt update * apt install unzip * cd /var * unzip app * sudo apt install apt-transport-https ca-certificates curl software-properties-common -y * curl -fsSL [URL]https://download.docker.com/linux/ubuntu/gpg[/URL] | sudo apt-key add - * sudo add-apt-repository "deb [arch=amd64] [URL]https://download.docker.com/linux/ubuntu[/URL] bionic stable" * sudo apt update * apt-cache policy docker-ce * sudo apt install docker-ce -y * sudo curl -L "[URL]https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname[/URL] -s)-$(uname -m)" -o /usr/local/bin/docker-compose * sudo chmod +x /usr/local/bin/docker-compose apt install docker-compose * docker-compose --version * docker volume create --name=mongo-db * docker volume create --name=game-db * cd /var/app/install * docker-compose up * đợi nó chạy khoảng 3 phút ctrl c hủy nó đi * docker-compose start * import data * docker exec -it -u root game-db bash * mysql -u root -p * Aki86dh123@@# * set global max_connections = 2000000; * GRANT ALL PRIVILEGES ON *.* TO 'demo'@'%'; * FLUSH PRIVILEGES; * exit * exit * Cài nginx * sudo apt install nginx -y * sudo add-apt-repository ppa:eek:ndrej/php * sau chỗ này nấn enter * sudo apt install php7.4-fpm php7.4-mbstring php7.4-mysql php7.4-curl -y * Cài java * sudo apt-get install openjdk-8-jdk -y * CÀI CÁ * wget [URL]https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb[/URL] -O packages-microsoft-prod.deb * sudo dpkg -i packages-microsoft-prod.deb * sudo apt-get install -y apt-transport-https * sudo apt update * sudo apt-get install -y dotnet-sdk-3.1 * sudo apt-get install -y apt-transport-https * sudo apt-get install -y aspnetcore-runtime-3.1 * sudo apt-get install -y dotnet-runtime-3.1 * cd /var/app/banca/BanCaLiteNet * dotnet publish -o publish * dotnet publish -o publish * cd /var/app/banca/BanCaLiteNet/publish * nohup dotnet BanCaLiteNet.dll >/dev/null 2>&1 & * sudo netstat -tulpn * @rawdatabot * * chạy server * cd /var/app/BackendMaster * chmod 777 install.sh * chmod 777 gradlew * ./install.sh * cd /var/app/Backend2Dx * chmod 777 install.sh * chmod 777 gradlew * ./install.sh * cd /var/app/BackendRoy * chmod 777 install.sh * chmod 777 gradlew * ./install.sh cd /var/app/txst apt install maven -y mvn install:install-file -Dfile=/var/app/BackendMaster/build/libs/VbeeCommon.jar -DgroupId=VbeeCommon -DartifactId=vbeeCommon -Dversion=1.0 -Dpackaging=jar chmod +x mvnw ./mvnw -Pdev clean verify cd /var/app/txst/target/ nohup java -jar TXST-0.0.1-SNAPSHOT.jar >> txcb.out 2>&1& * apt install net-tools * sudo netstat -tulpn * Config trong server, vào đường dẫn /var/app/BackendMaster/VbeeCommon/src/main/java/com/vinplay/vbee/common/statics/Consts.java để sửa * /var/app/BackendMaster/api/VinPlayPortal/src/main/java/com/vinplay/api/processors/UpdateNicknameProcesscor.java * * phần này config domain * (*trước khi upload các file lên vps, cần sửa domain lại cho trung với tên miền mình cần cài) * cho hết trong sites-enabled vào trong etc/nginx/ và copy vào trong site enabled * nhớ congfig domain trước khi cho vào * upload file von.casino.txt lên cloudflare * service nginx stop * service nginx start * Build Client và upload lên server theo link /var/app/www/webbuild * cd /var/app/www/webbuild * unzip web-mobile.zip * Cài TXST * apt-get update -y * apt install maven -y * cd /var/app/txst * mvn install:install-file -Dfile=/var/app/BackendMaster/game/tlmn/libs/VbeeCommon.jar -DgroupId=VbeeCommon -DartifactId=vbeeCommon -Dversion=1.0 -Dpackaging=jar * (khá lâu đó) * ./mvnw -Pdev clean verify * cd /var/app/txst/target * nohup java -jar TXST-0.0.1-SNAPSHOT.jar >> txcb.out 2>&1& * upload site-enable vào /etc/nginx/sites-enabled * service nginx reload sau mỗi lần reboot * cd /var/app/install * docker-compose start * docker exec -it -u root game-db bash * mysql -u root -p * nhập mật khẩu sql trong /instal/docker....yml * set global max_connections = 2000000; * * FLUSH PRIVILEGES; * * exit * exit * cd /var/app/BackendMaster * ./install.sh * cd /var/app/BackendRoy * ./install.sh * cd /var/app/Backend2Dx * ./install.sh * cd /var/app/txst/target * nohup java -jar TXST-0.0.1-SNAPSHOT.jar >> txcb.out 2>&1& * cd /var/app/banca/BanCaLiteNet/publish * nohup dotnet BanCaLiteNet.dll >/dev/null 2>&1 & cd /var/app/BackendMaster && ./install.sh && cd /var/app/BackendRoy && ./install.sh && cd /var/app/Backend2Dx && ./install.sh && cd /var/app/txst/target && nohup java -jar TXST-0.0.1-SNAPSHOT.jar >> txcb.out 2>&1& Cài Otp cho Game * [URL]https://api.telegram.org/bot1712828727:AAF54RX2T9nM-fVLkCa2z-dQ07d76vdZDm4/setWebhook?url=https://dal.suvip.win/hook-pro[/URL] * và vào admin, trong config/ chọn gameconfignew/telegrambot thay api và tên bot trong đó là xong 1712828727:AAF54RX2T9nM-fVLkCa2z-dQ07d76vdZDm4 thay api bot telegram ở đây, dán link này vào trình duyệt để tạo webhook cho telegram. vậy là xong rồi. tự nó sẽ nhận/ ko làm gì nữa hết Edit Client * config domain trong 3 file/ \assets\Loading\src\loading.ts \assets\Loading\src\versionconfig.ts \assets\Lobby\LobbyScript\Script\common\app.ts * config link cskh, facebook, trong file \assets\Lobby\LobbyScript\Lobbycontrol.ts Cài thông báo nạp rút về tele thì trong config admin * config/gameconfignew/alert thay api, username, id group tele gram chỗ này là xong. ko làm gì nữa, vậy thôi Thay banner,bank * Login vào navicat/vinplay có các phần banks, banner. vào đó thay link là đc/ Cấu hình bank * Config trong admin, vào config_new/billing sửa trong list_bank Cấu hình Momo * Config trong admin, vào config_new/billing sửa trong momoConfig theo thứ tự tên, sdt và link QRcode Cài kết quả Tài Xỉu * Config trong admin, vào Gameconfig/ chỉnh theo định dạng số xúc xắc vd: 1,1,5 Cấu hình Room cho các game bài * Config trong server, vào các đường dẫn game gionongs như thế này /var/app/BackendMaster/game/tlmn/conf/gameroom.json chỉnh trong này, xóa bớt hoặc thêm thì tùy chọn sau đó chạy lại server bằng lệnh ./install.sh Cấu hình Gửi mail chào mừng khi đăng ký tài khoản * Config trong server, vào đường dẫn /var/app/BackendMaster/VbeeCommon/src/main/java/com/vinplay/vbee/common/statics/Consts.java để sửa * /var/app/BackendMaster/api/VinPlayPortal/src/main/java/com/vinplay/api/processors/UpdateNicknameProcesscor.java Cài Thông báo Telegram khi chỉnh kết quả trong admin * cài trong server theo link /var/app/BackendMaster/VinPlayUserCore/src/main/java/com/vinplay/utils/TelegramUtil.java thay api, user name ở đây thôi. Cấu hình game * Tài Xỉu * Có bot * Bot được cấu hình trong file config/bots.txt và bots_vip.txt, bot thường và bot vip khác nhau số tiền đặt cược trong mỗi lần, được cấu hình trong file config_game.properties(tx_min_bet_value_vin, tx_max_bet_value_vin, x_min_bet_value_xu, tx_max_bet_value_xu) * Tính phí: * Trừ phí tiền thắng theo phần trăm MINIGAME_TAX_VIN trong /backend/game/Minigame/src/main/java/game/modules/minigame/entities/MinigameConstant.java. Thay đổi cần restart lại Minigame * Thuật toán tài xỉu : * Mỗi lượt quay tài xỉu, hệ thống sẽ load random số lượng bot trong danh sách bot trong file, số lượng random được cấu hình trong config_game.properties * Số lượng bot tài sẽ lấy random từ totalbot/2.5 => (totalbot - totalbot/2.5), số lượng bot xỉu bằng totalbot trừ bot tài. * Mỗi user bot được add thêm tiền nếu thiếu tiền và được sinh 1 trường TimeBetting từ 1-60, để mỗi lượt quay bộ đếm count từ 1 đến 60 sẽ lấy tương ứng user có timebetting == 60 - count đặt cược. * Khi vòng lặp count == 60 thì sẽ dừng đặt cược, từ 61 đến 85 sẽ xử lý phần quay xúc xắc * Nếu tổng số tiền người chơi đặt tài(chỉ tính tiền của user, ko tính bot) trừ tổng số tiền người chơi đắt xỉu lớn hơn MinCtrl(fix cứng 1.000.000) thì xúc sắc sẽ ra xỉu và ngược lại xúc sắc ra tài trường hợp còn lại thì xúc xắc random. * Quy tắc trả tiền : khi số tiền đặt chênh lệch tài và xỉu là 1.000.000, hệ thống sẽ tự cân kèo. nếu tài nhiều hơn xỉu mà kết quả về tài, thì chỉ trả thưởng bằng số lượng bên xỉu, những người đánh tài sau sẽ được trả lại. còn nếu về xỉu thì tài vẫn mất hết không được trả lại. * Đến count == 85 sẽ reset lại lượt chơi, load lại bot, đến giây 90 reset count về 0 bắt đầu lượt chơi mới. * Thay đổi MinCtrl: * Thay đổi giá trị config MinCtrl trong backend/game/Minigame/src/main/java/game/modules/minigame/TaiXiuModule.java * Xoc Dia * Có bot * Tạo phòng: * Người chơi không được phép tạo phòng * Tự động tạo phòng cấu hình theo file conf/gameroom.json - số lượng phòng, thể loại phòng, số lượng người chơi tối đa, tiền cược * Load bot: * Cài đặt load bot isBot=1 trong file conf/cluster.properties, nickname khởi tạo bot trong file conf/bot.json, đăng nhập, kiểm tra tiền của bot thiếu tiền sẽ tự động cộng thêm tiền cho bot. * Thuật toán chơi : khi bắt đầu ván chơi, người chơi đặt cửa, sau khi đặt cửa xong, hệ thống kiểm tra tổng số tiền đặt chẵn và số tiền đặt lẽ. sellPot = totalEven - totelOdd. nếu sellPot > 0; hệ thống sẽ bán chẵn số sellPot; nếu số sell bot được mua hết thì chạy theo luồng bình thường, nếu không ai mua thì hệ thống trả lại số sellPot đã bán cho user( nếu user đặt đúng cửa nhiều). khi đó kèo 2 bằng nhau. Trường hợp chỉ có người đặt về 1 phía, khi hoàn tiền 2 bên đều còn lại 0, hệ thống sẽ bắt đầu lại ván mới, ngược lại, hệ thống bắt đầu tính toán kết trả và trả thưởng cụ thể : * Tính toán số tiền chênh lệch của user giữa hai cửa chẵn và lẻ, kiểm tra lợi nhuận của hệ thống nếu chưa đặt được lợi nhuận tối tiểu(cài đặt trong file cầu hình) -> tạo kết quả cho cửa đặt ít hơn thắng. Khi đã đặt được tỉ lệ max(file cấu hình), kiểm tra tỉ lệ trả thưởng cho user(trong file cấu hình), sinh random từ 1 -> 100, nếu nhỏ hơn tỉ lệ trả thưởng -> trả về cửa đặt nhiều hơn thắng. Còn lại sẽ sinh random * Thay đổi lợi nhuận tối thiểu, lợi nhuận tối đa, tỉ lệ trả thưởng cho user * Thay đổi các thông tin bên dưới trong file: /backend/game/xocdia/config/xocdia.properties # tien thu toi thieu theo phe revenueSysMin=100000 # tien thu toi da theo phe revenueSysMax=500000 # ty le tra lai tien cho user ratioGetRevenueSysMax=100 * Tính phí: * Trừ phí tiền thắng theo phần trăm commission rate(cài đặt trong conf/gameroom.json) * bacayServer * Có bot * Tạo phòng: * Người chơi có thể tạo phòng * Tự động tạo phòng cấu hình theo file conf/gameroom.json - số lượng phòng, thể loại phòng, số lượng người chơi tối đa, tiền cược * Load bot: * Cài đặt load bot isBot=1 trong file conf/cluster.properties, nickname khởi tạo bot trong file conf/bot.json, đăng nhập, kiểm tra tiền của bot thiếu tiền sẽ tự động cộng thêm tiền cho bot. * Chia bài: check maxWin, maxLost trong file conf/bot.json so với diff = revenue(win + lost) + fee * diff > maxLost: balanceMode = 1 và có bot đang trong ván -> chia bài cân bằng * -diff > maxWin: balanceMode = 2 -> chia bài ngẫu nhiên * others: balanceMode = 0 -> chia bài ngẫu nhiên * Chìa bài ngẫu nhiên: random 8 bộ bài cho 8 người chơi * Chia bài cân bằng: random 8 bộ bài, sắp xếp theo thứ tự điểm cao nhất đến thấp nhấp -> high_group(4 bộ) và low_group(4 bộ). Ưu tiên high_group cho chia cho bot, tỉ lệ thắng của bot 100% * Tính phí: * Trừ phí tiền thắng theo phần trăm commission rate(cài đặt trong conf/gameroom.json). Hiện tại đang cài đặt 5%(1.000-200.000) - 5%(>1.000.000) * Binh * Có bot * Danh sách các tài khoản bot và số thắng tối đa, số thắng tối thiểu nằm trong file conf/bot.json * Cài đặt load bot isBot=1 trong file conf/cluster.properties, duyệt danh sách bot, nếu bot thiếu tiền tự động cộng tiền cho bot. * trước khi bắt đầu ván bài, hệ thống tính số tiền thắng và thua trong ngày của user bằng cách tổng money Win + money Lost + số phí, diff = revenue(win + lost) + fee * diff > maxLost : balanceMode = 1, tức người chơi thắng và bot thua quá số tiền trong ngày -> chia bài cần bằng với isUp = true, tức bài bot sẽ cao hơn bài user * - diff > maxWin : balanceMode = 2, tức người chơi thua và bot thắng quá số tiền trong ngày -> chia bài cần bằng với isUp là false hoặc chia bài ngẫu nhiên * other balanceMode = 0 -> chia bài ngẫu nhiên nếu giá trị cược phòng bé hơn 5000L, ngược lại chiabaicanbang với isUp là true * chiabaicanbang : đầu vào isUp và botcount, lấy 1 bộ bài bất kỳ trong 4996 bộ bài có sẵn, mỗi bộ bài chia cho 4 người chơi, sắp xếp bài cao đến bài thấp, nếu isUp bằng true bộ bài được chia làm 2, gồm bộ bài cao và bộ bài thấp, high_list(botcount),low_list(4-botcount), bot sẽ được ưu tiên lấy bài cao tức là ở high_list còn người chơi sẽ lấy bộ bài thấp low_list, còn nếu isUp bằng false thì high_list(4-botcount), low_list(botcount) bot sẽ lấy bộ bài thấp low_list còn người chơi được lấy bộ bài cao high_list. * chiabaingaunhien : lấy 1 bộ bài bất kỳ trong 4996 bộ bài có sẵn và chia random cho user và bot. * Tạo phòng: * Tự động tạo phòng cấu hình theo file conf/gameroom.json * Bộ bài được chia sẵn 4996 bộ được cấu hình trong các file thuộc folder data/binhthuong/* * Tính phí: * Trừ phí tiền thắng theo phần trăm commission rate(cài đặt trong conf/gameroom.json). Hiện tại đang cài đặt 5%(1.000-200.000) - 2%(>1.000.000) * Lieng * Không có bot * Tạo bàn: * Người chơi có thể tạo bàn * Tự động tạo phòng cấu hình theo file conf/gameroom.json * Tính phí * Thua: trừ số tiền đã cược * Thắng: cộng tiền đã cược trừ phí phí theo phần trăm commission rate * Mini Poker * Có bot * Bot được cấu hình trong file config/bots.txt và bots_vip.txt, bot thường và bot vip, tự động đăng nhập, kiểm tra tiền của bot thiếu tiền sẽ tự động cộng thêm tiền cho bot. * load số lượng bot theo 3 phòng trong file config/config_game.properties * Tạo phòng: * Người chơi không được phép tạo phòng * Mặc định sẽ tạo 3 phòng 100, 1.000, 10.000 * Tính phí: * Trích 1% tổng tiền đặt vào hũ * Trích 1% phí * Trích vào fund tổng tiền đặt - tiền phí(2% cấu hình trong code) - tiền vào hũ * Check nổ hũ: quay được thùng phá sảnh(nhưng chỉ bot được ăn hủ) * Tính tổng tiền các dòng fundExchange * Check kết quả về nổ hũ nếu người chơi không phải bot thì sinh lại kết quả chơi -> hũ chỉ về bot khó về cho người chơi thật * Check quỹ fund: * Không nỗ hũ: this.fund - fundExchange >= 0 trả thưởng cho người chơi, nếu không đủ quỹ sinh lại kết quả quay * Nỗ hũ: không đủ quỹ fund this.fund - this.initPotValue < 0L tiếp tục quay, ngược lại trả thưởng cho người chơi. * Poker * Không có bot chơi đánh tính tiền thật, chỉ có danh sách bot để tự động chơi demo game * Tạo phòng: * Người chơi được phép tạo phòng * Tự động tạo phòng cấu hình theo file conf/gameroom.json - số lượng phòng, thể loại phòng, số lượng người chơi tối đa, tiền cược * Load bot chơi cho demo: * Cài đặt load bot isBot=1 trong file conf/cluster.properties, nickname khởi tạo bot trong file conf/bot.json, đăng nhập, kiểm tra tiền của bot thiếu tiền sẽ tự động cộng thêm tiền cho bot. Nếu là dev_mod được cài đặt trong file conf/cluster.properties, bot sẽ auto play * Tính phí: * Trừ phí tiền thắng theo phần trăm commission rate(cài đặt trong conf/gameroom.json). Hiện tại đang cài đặt 2%(100-20.000) * Slot * Có bot * Bot được cấu hình trong file config/bots.txt và bots_vip.txt, bot thường và bot vip, tự động đăng nhập, kiểm tra tiền của bot thiếu tiền sẽ tự động cộng thêm tiền cho bot. * load số lượng bot theo 3 phòng trong file config/config_game.properties * Tạo phòng: * Người chơi không được phép tạo phòng * Mặc định sẽ tạo 3 phòng 100, 1.000, 10.000 * Tính phí: * Trích 1% tổng tiền đặt vào hũ * Trích vào fund tổng tiền đặt - tiền phí(2% cấu hình trong code) - tiền vào hũ * Check nổ hũ: điều kiện chọn tổng số line > 5 và quỹ thưởng fund > 2 * giá trị ban đầu của hũ, tỉ lệ nổ hũ trong file config/config_game.properties (hiện tại 1000 ~ 1/1000) > 0 * Sinh ma trận: sinh ma trận ngẫu nhiên [3,5] tương ứng với vật phẩm trên game, còn nếu về nổ hũ tính toán để sinh ma trận nổ hũ * Tính tổng tiền các dòng totalPrizes * Check kết quả về nổ hũ nếu người chơi không phải bot thì sinh lại kết quả chơi -> hũ chỉ về bot khó về cho người chơi thật * Check quỹ fund: * Không nỗ hũ: totalPrizes - totalBetValue < 0 hoặc this.fund - totalPrizes >= this.initPotValue * 2L trả thưởng cho người chơi, nếu không đủ quỹ sinh lại kết quả quay * Nỗ hũ: không đủ quỹ fund this.fund - (totalPrizes - soTienNoHuKhongTruQuy) < 0L tiếp tục quay, ngược lại trả thưởng cho người chơi, reset giá trị ban đầu của hũ. soTienNoHuKhongTruQuy = giá trị hũ - giá trị hũ ban đầu * Trả thưởng cho người chơi: Nếu tổng tiền về các dòng: totalPrizes > 0, trừ số tiền này trong fund: fund -= totalPrizes
 
Top