Compare commits

..

No commits in common. "dc6549bdf11ef0fce9635cfa4bc4237e8620e6e7" and "1cfb69af0a0a5c188661b1ba5fe60d8d4940c7e2" have entirely different histories.

4 changed files with 67 additions and 88 deletions

View File

@ -1,82 +1,57 @@
name: Deploy Project BC name: Deploy Project BC
on: on:
push: # Запускать при событии push push: # Запускать при событии push
branches: branches:
- main # Только для ветки main (или master, или ваша основная ветка) - main # Только для ветки main (или master, или ваша основная ветка)
jobs: jobs:
deploy: deploy:
runs-on: ubuntu-latest # Указываем метку раннера, на котором должна выполняться задача. runs-on: ubuntu-latest # Указываем метку раннера, на котором должна выполняться задача.
# Убедитесь, что ваш зарегистрированный раннер имеет эту метку. # Убедитесь, что ваш зарегистрированный раннер имеет эту метку.
# Можно использовать и более специфичную, например, 'self-hosted' или имя вашего сервера, если вы так его пометили. # Можно использовать и более специфичную, например, 'self-hosted' или имя вашего сервера, если вы так его пометили.
steps: steps:
- name: Network Diagnostics Inside Container FIRST - name: Checkout repository
run: | uses: actions/checkout@v3 # Стандартное действие для скачивания кода репозитория на раннер
echo "===== Running Network Diagnostics ====="
echo "--- /etc/resolv.conf inside container ---" - name: Setup Node.js # Если вам нужно определенная версия Node.js для npm install
cat /etc/resolv.conf uses: actions/setup-node@v3
echo "--- nslookup google.com ---" with:
nslookup google.com || echo "nslookup google.com failed or nslookup not available" node-version: '18' # Укажите нужную вам LTS или другую версию Node.js
echo "--- nslookup Gitea Host (pavel-chagovsky.com) ---"
nslookup pavel-chagovsky.com || echo "nslookup pavel-chagovsky.com failed or nslookup not available" - name: Install Dependencies
echo "--- Trying to curl Gitea by IP (81.177.140.16) and path /gitea/ ---" run: | # Выполняем команды в рабочей директории раннера (куда был склонирован репозиторий)
curl -kvL --connect-timeout 5 https://81.177.140.16/gitea/ || echo "Curl to Gitea by IP failed" echo "Current directory: $(pwd)"
echo "===== Network Diagnostics Finished =====" if [ -f package.json ]; then
- name: Network Diagnostics Inside Container echo "package.json found. Installing dependencies..."
run: | npm install --omit=dev
echo "--- /etc/resolv.conf inside container ---" else
cat /etc/resolv.conf echo "package.json not found. Skipping npm install."
echo "--- Pinging google.com ---" fi
ping -c 3 google.com working-directory: ./ # Указывает, что npm install нужно выполнять в корне склонированного репозитория
echo "--- Pinging Gitea Host (pavel-chagovsky.com) ---" # Если package.json для bc.js в подпапке server/, то:
ping -c 3 pavel-chagovsky.com # working-directory: ./server
echo "--- nslookup Gitea Host (pavel-chagovsky.com) ---"
nslookup pavel-chagovsky.com - name: Execute Deploy Script on Server
echo "--- Trying to curl Gitea by IP (replace YOUR_GITEA_IP and PORT if not 443) ---" uses: appleboy/ssh-action@master # Популярное действие для выполнения команд по SSH
curl -kv https://81.177.140.16/gitea/ with:
host: ${{ secrets.DEPLOY_HOST }} # IP или домен вашего сервера, где нужно выполнить деплой
- name: Checkout repository username: ${{ secrets.DEPLOY_USER }} # Имя пользователя для SSH-доступа
uses: actions/checkout@v3 # Стандартное действие для скачивания кода репозитория на раннер key: ${{ secrets.SSH_PRIVATE_KEY }} # Приватный SSH-ключ для доступа
port: ${{ secrets.DEPLOY_PORT || 22 }} # Порт SSH, по умолчанию 22
- name: Setup Node.js # Если вам нужно определенная версия Node.js для npm install script: |
uses: actions/setup-node@v3 echo "Starting deployment on server for project bc..."
with: cd /home/nodejs/bc/ # Путь к рабочей копии проекта на сервере
node-version: '18' # Укажите нужную вам LTS или другую версию Node.js git fetch origin main # Или ваша основная ветка
git reset --hard origin/main
- name: Install Dependencies
run: | # Выполняем команды в рабочей директории раннера (куда был склонирован репозиторий) # Если npm install должен выполняться на сервере деплоя, а не на раннере:
echo "Current directory: $(pwd)" # if [ -f package.json ]; then
if [ -f package.json ]; then # echo "Installing server-side npm dependencies..."
echo "package.json found. Installing dependencies..." # npm install --omit=dev
npm install --omit=dev # fi
else
echo "package.json not found. Skipping npm install." echo "Restarting PM2 process for bc..."
fi pm2 restart bc # Имя или ID вашего bc приложения в PM2
working-directory: ./ # Указывает, что npm install нужно выполнять в корне склонированного репозитория
# Если package.json для bc.js в подпапке server/, то:
# working-directory: ./server
- name: Execute Deploy Script on Server
uses: appleboy/ssh-action@master # Популярное действие для выполнения команд по SSH
with:
host: ${{ secrets.DEPLOY_HOST }} # IP или домен вашего сервера, где нужно выполнить деплой
username: ${{ secrets.DEPLOY_USER }} # Имя пользователя для SSH-доступа
key: ${{ secrets.SSH_PRIVATE_KEY }} # Приватный SSH-ключ для доступа
port: ${{ secrets.DEPLOY_PORT || 22 }} # Порт SSH, по умолчанию 22
script: |
echo "Starting deployment on server for project bc..."
cd /home/nodejs/bc/ # Путь к рабочей копии проекта на сервере
git fetch origin main # Или ваша основная ветка
git reset --hard origin/main
# Если npm install должен выполняться на сервере деплоя, а не на раннере:
# if [ -f package.json ]; then
# echo "Installing server-side npm dependencies..."
# npm install --omit=dev
# fi
echo "Restarting PM2 process for bc..."
pm2 restart bc # Имя или ID вашего bc приложения в PM2
echo "Deployment for bc finished." echo "Deployment for bc finished."

1
bc

@ -1 +0,0 @@
Subproject commit 1cfb69af0a0a5c188661b1ba5fe60d8d4940c7e2

View File

@ -142,7 +142,7 @@ function performAttack(
/** /**
* применяет111 эффект способности. * Применяет эффект способности.
* @param {object} ability - Объект способности. * @param {object} ability - Объект способности.
* @param {object} casterState - Состояние бойца, применившего способность. * @param {object} casterState - Состояние бойца, применившего способность.
* @param {object} targetState - Состояние цели способности. * @param {object} targetState - Состояние цели способности.
@ -177,10 +177,10 @@ function applyAbilityEffect(
const actualHeal = Math.min(healAmount, casterBaseStats.maxHp - casterState.currentHp); const actualHeal = Math.min(healAmount, casterBaseStats.maxHp - casterState.currentHp);
if (actualHeal > 0) { if (actualHeal > 0) {
casterState.currentHp = Math.round(casterState.currentHp + actualHeal); casterState.currentHp = Math.round(casterState.currentHp + actualHeal);
if (addToLogCallback) addToLogCallback(`💚 ${casterBaseStats.name} применяет111 "${ability.name}" и восстанавливает ${actualHeal} HP!`, configToUse.LOG_TYPE_HEAL); if (addToLogCallback) addToLogCallback(`💚 ${casterBaseStats.name} применяет "${ability.name}" и восстанавливает ${actualHeal} HP!`, configToUse.LOG_TYPE_HEAL);
actionOutcomeForTaunt = 'success'; // Для реакции оппонента, если таковая есть на хил actionOutcomeForTaunt = 'success'; // Для реакции оппонента, если таковая есть на хил
} else { } else {
if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} применяет111 "${ability.name}", но не получает лечения (HP уже полное или хил = 0).`, configToUse.LOG_TYPE_INFO); if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} применяет "${ability.name}", но не получает лечения (HP уже полное или хил = 0).`, configToUse.LOG_TYPE_INFO);
abilityApplicationSucceeded = false; abilityApplicationSucceeded = false;
actionOutcomeForTaunt = 'fail'; actionOutcomeForTaunt = 'fail';
} }
@ -202,7 +202,7 @@ function applyAbilityEffect(
targetState.currentHp = Math.max(0, Math.round(targetState.currentHp - damage)); targetState.currentHp = Math.max(0, Math.round(targetState.currentHp - damage));
if (addToLogCallback && !wasAbilityBlocked) { if (addToLogCallback && !wasAbilityBlocked) {
addToLogCallback(`💥 ${casterBaseStats.name} применяет111 "${ability.name}" на ${targetBaseStats.name}, нанося ${damage} урона!`, configToUse.LOG_TYPE_DAMAGE); addToLogCallback(`💥 ${casterBaseStats.name} применяет "${ability.name}" на ${targetBaseStats.name}, нанося ${damage} урона!`, configToUse.LOG_TYPE_DAMAGE);
} }
if (damage <= 0 && !wasAbilityBlocked) { // Если урон нулевой и не было блока (например, из-за резистов, которых пока нет) if (damage <= 0 && !wasAbilityBlocked) { // Если урон нулевой и не было блока (например, из-за резистов, которых пока нет)
@ -249,7 +249,7 @@ function applyAbilityEffect(
type: ability.type, duration: ability.effectDuration, turnsLeft: ability.effectDuration, type: ability.type, duration: ability.effectDuration, turnsLeft: ability.effectDuration,
power: ability.power, isFullSilence: true, justCast: true power: ability.power, isFullSilence: true, justCast: true
}); });
if (addToLogCallback) addToLogCallback(`🌀 ${casterBaseStats.name} применяет111 "${ability.name}" на ${targetBaseStats.name}! Способности цели заблокированы на ${ability.effectDuration} хода!`, configToUse.LOG_TYPE_EFFECT); if (addToLogCallback) addToLogCallback(`🌀 ${casterBaseStats.name} применяет "${ability.name}" на ${targetBaseStats.name}! Способности цели заблокированы на ${ability.effectDuration} хода!`, configToUse.LOG_TYPE_EFFECT);
actionOutcomeForTaunt = 'success'; actionOutcomeForTaunt = 'success';
} else { } else {
if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} пытается применить "${ability.name}", но эффект уже активен на ${targetState.name}!`, configToUse.LOG_TYPE_INFO); if (addToLogCallback) addToLogCallback(`${casterBaseStats.name} пытается применить "${ability.name}", но эффект уже активен на ${targetState.name}!`, configToUse.LOG_TYPE_INFO);
@ -336,7 +336,7 @@ function applyAbilityEffect(
} }
} }
let logMsgDrain = `${casterBaseStats.name} применяет111111111 "${ability.name}"! `; let logMsgDrain = `${casterBaseStats.name} применяет "${ability.name}"! `;
if (damageDealtDrain > 0) logMsgDrain += `Наносит ${damageDealtDrain} урона ${targetBaseStats.name}. `; if (damageDealtDrain > 0) logMsgDrain += `Наносит ${damageDealtDrain} урона ${targetBaseStats.name}. `;
if (manaDrained > 0) { if (manaDrained > 0) {
logMsgDrain += `Вытягивает ${manaDrained} ${targetBaseStats.resourceName} у ${targetBaseStats.name}`; logMsgDrain += `Вытягивает ${manaDrained} ${targetBaseStats.resourceName} у ${targetBaseStats.name}`;

View File

@ -0,0 +1,5 @@
● gitea.service - Gitea (Git with a cup of tea)
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2025-05-09 13:00:38 UTC; 13ms ago
Process: 137377 ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini (code=exited, status=217/USER)
Main PID: 137377 (code=exited, status=217/USER)