> For the complete documentation index, see [llms.txt](/llms.txt)

# GS2-Buff API 레퍼런스

버프




다양한 마이크로서비스의 대가나 보상의 양, 사용자 데이터의 최대값에 관한 보정값을 일괄 관리하는 기능을 제공합니다.

각 마이크로서비스는 버프를 적용할 수 있는 필드를 가지고 있으며, 버프를 적용함으로써 해당 필드의 값을 보정할 수 있습니다.<br>
GS2-Buff는 각 마이크로서비스의 어느 엔트리에 버프를 얼마나 적용할지를 관리합니다.

버프의 적용량은 BuffEntryModel로 관리하며, 특정 엔트리에 대해 여러 개의 BuffEntryModel을 연결할 수 있습니다.<br>
BuffEntryModel의 적용 순서는 BuffEntryModel의 priority로 관리되며, priority 값이 작을수록 우선순위가 높아집니다.

버프의 적용 방식은 3가지가 존재하며 "Rate Add", "Mul", "Value Add"가 있습니다.<br>
Rate Add는 버프 적용 레이트에 가산하는 명령이고, Mul은 버프 적용 레이트에 곱셈하는 명령입니다.<br>
Value Add는 버프 보정 계산 후의 값에 가산을 수행하는 명령입니다.<br>
예를 들어, 기본 레이트가 1.0일 때 Rate Add 0.2를 설정하면 버프 적용 레이트는 1.2가 됩니다.<br>
Mul 0.5를 설정하면 버프 적용 레이트는 현재 레이트의 0.5배가 됩니다.

BuffEntryModel에는 GS2-Schedule의 이벤트를 연결할 수 있으며, 이벤트 개최 기간 중에만 버프를 적용하도록 설정하는 것도 가능합니다.

버프가 적용된 상태는 GS2의 각 API가 가지고 있는 "컨텍스트 스택"이라는 필드를 사용하여 적용합니다.<br>
GS2-Buff는 버프의 적용 상태를 저장한 "컨텍스트 스택"을 응답하며, 각 마이크로서비스는 그 "컨텍스트 스택"을 참조하여 버프를 적용합니다.<br>
각 마이크로서비스의 API는 컨텍스트 스택을 전달받는 인터페이스를 가지고 있으며, 버프를 적용할 때 컨텍스트 스택을 전달함으로써 버프를 적용할 수 있습니다.

마스터 데이터 취득과 같이 언뜻 정적으로 보이는 API에서도 버프는 적용되며, 응답 내용은 버프가 적용된 것을 전제로 한 값을 응답합니다.<br>
버프가 적용되지 않은 상태의 값을 취득하고 싶은 경우에는 컨텍스트 스택을 지정하지 않은 상태로 API를 호출함으로써 취득할 수 있습니다.

[마이크로서비스 소개 / GS2-Buff](../../microservices/buff)



- [GS2-Buff Deploy/CDK 레퍼런스](/ko/api_reference/buff/deploy/)
  
- [GS2-Buff SDK API 레퍼런스](/ko/api_reference/buff/sdk/)
  
- [GS2-Buff SDK for Game Engine API 레퍼런스](/ko/api_reference/buff/game_engine/)
  
- [GS2-Buff 마스터 데이터 레퍼런스](/ko/api_reference/buff/master_data/)
  
- [GS2-Buff 스크립트 트리거 레퍼런스](/ko/api_reference/buff/script/)
  
