게시판 제목 잘보고 올리세요 일반게시판에 홍보글 보이면 바로 회원 차단입니다

안녕하세요 서버구동 중 cmd창에 에러가 뜨는게 뭐때문에 이런게 뜨는지 선생님들 알려주세요

컨텐츠 정보

  • 210 조회
  • 1 댓글
  • 0 추천
  • 0 비추천
  • 목록

본문

버스트팩인데요 서버 첫 구동 말고 하는 중간에 이런 에러가 뜨네요 연결실패? 대략적으로 무슨이유때문에 이런 오류뜨는지 아시는분 없을까요?
저 오류뜨면 게임 플레이중 서버렉 걸리는것처럼 멈춰버리네요

경고: l1databasefactory: getconnection() failed, trying again java.sql.sqlexception: connections could not be acquired from the underlying database! l1databasefactory: getconnection() failed, trying again java.sql.sqlexception: connections could not be acquired from the underlying database!

파파고번역
경고: l1 database 팩토리: getconnect () 실패, java.sql.sqlexception 다시 시도 중: 기본 데이터베이스에서 연결을 획득할 수 없습니다! l1 database 팩토리: getconnect () 실패, java.sql.sqlexception 다시 시도 중: 기본 데이터베이스에서 연결을 획득할 수 없습니다!

관련자료

댓글 1
profile_image

스틸님의 댓글

이 오류 메시지는 게임 서버에서 DB 연결 풀(C3P0 등)을 통해 데이터베이스에 연결하지 못해서 발생하는 심각한 문제입니다. 아래에 원인과 해결 방법을 상세히 정리해드리겠습니다.

❗ 오류 요약
pgsql
복사
편집
경고: L1DatabaseFactory: getConnection() failed, trying again
java.sql.SQLException: Connections could not be acquired from the underlying database!
원인:
L1DatabaseFactory 또는 관련 DB 클래스에서 DB 연결을 얻지 못하고 재시도하고 있으며, 결국 실패하는 상태입니다.

???? 주요 원인
✅ 1. DB 서버가 꺼졌거나 연결 불가능
MySQL/MariaDB 등의 DB가 중단됨

포트(3306 등) 차단됨 (방화벽 등)

✅ 2. C3P0 커넥션 풀 부족
연결 수가 한계치에 도달

기존 커넥션이 해제되지 않고 계속 유지됨 (커넥션 리크)

✅ 3. DB 계정 정보 오류
l1jserver.properties 또는 sql.properties 등에 잘못된 사용자명/비밀번호

✅ 4. DB Pool 설정 부족
c3p0.properties 또는 관련 설정에 maxPoolSize, timeout 등을 너무 작게 설정했을 경우

????️ 해결 방법
???? 1. DB 상태 확인
bash
복사
편집
# MySQL 상태 확인 (Linux 예시)
systemctl status mysql

# 포트 열려 있는지 확인
telnet localhost 3306
???? 2. 설정파일 점검
sql.properties 또는 l1jserver.properties 예시:
properties
복사
편집
SQL_DRIVER=com.mysql.jdbc.Driver
SQL_URL=jdbc:mysql://localhost:3306/l1jdb?autoReconnect=true&useSSL=false
SQL_USER=l1user
SQL_PASSWORD=l1pass
c3p0.properties 또는 설정 클래스 확인:
properties
복사
편집
c3p0.maxPoolSize=20
c3p0.minPoolSize=5
c3p0.acquireIncrement=3
c3p0.timeout=300
커넥션 풀 부족 시 maxPoolSize를 20~50 사이로 늘려보세요.

???? 3. 커넥션 누수 확인
서버에 장시간 접속한 클라이언트가 많을 경우 커넥션 해제가 되지 않아 누수가 발생합니다.

로그에 checkout timeout 또는 awaitAvailable 같은 메시지가 반복되면 누수 가능성이 높음.

???? 4. 서버 재시작
긴급한 상황이면 일단 게임 서버와 DB 서버 재시작으로 풀림

다만 근본적 해결은 설정 조정 필요

✅ 추가 팁
로그에서 BasicResourcePool.awaitAvailable, checkoutPooledConnection 등 반복되면 100% 커넥션 풀 부족입니다.

서버 실행 후 시간이 조금 지나서 발생한다면, 커넥션 누수 의심해야 합니다.

SQL 실행 수가 많은 클래스 (ALL, init 등)에서 불필요하게 연결을 오래 유지하고 있는지 점검하세요.

필요하시면 .properties 설정 파일이나 L1DatabaseFactory 소스 일부를 보여주시면 정확히 어떤 설정이 부족한지 도와드릴 수 있습니다.
chatgpt 가 이렇게 말하네요
전체 2,841 / 1 페이지
번호
제목
이름

포인트 랭킹


알림 0